数据结构与算法,单片机原理,cortex M, A,R系列内核架构原理
编译原理
编程语言: asm, C/C++, java, python, C#, shell, bat, xml, json, perl, groovy(gradle使用的编写gradle脚本的), maven, kotlin, UML
linux基本操作:基本命令的使用,ubuntu安装配置,安装包安装卸载,网络配置等
linux内核源码情景分析:
linux设备驱动开发:
linux应用开发:
u-boot:
IntelliJ Idea/android studio 使用:
android 四大组件:activiy, service, content provider, broad cast广播;
android: ipc binder, bundle, intent, 多线程,多进程
android系统原理:
java应用开发:
Android framework开发:
jni开发:
native c/c++开发:
硬件抽象层开发:HIDL
底层驱动开发:
构建系统: cmake CmakeLists.txt, gnu make, makefile, qmake, mingw, soong, ninja, kconfig, kbuild, .config, xxx_defconfig, .mk, gradle(android studio构建app的)
Android 系统的 SDK 构建系统是一个复杂且高度定制化的工具链,主要由 Soong、Blueprint、Make 和 Ninja 组成。Soong 和 Blueprint 提供了现代化、模块化的配置方式,而 Make 和 Ninja 则负责实际的构建任务。通过这些工具,开发者可以高效地编译、打包和部署 Android 操作系统及其相关组件。
Android 系统的 SDK 构建系统是一个复杂且高度定制化的工具链,用于构建 Android 操作系统本身以及其相关的开发工具和库。这个构建系统主要基于以下几个关键组件:
Soong:一个新的构建系统,逐步取代了旧的 Make-based 构建系统。
Blueprint:一个用于定义 Soong 模块的框架。
Make:传统的构建系统,仍然在某些部分使用。
Ninja:一个高效的构建工具,用于执行 Soong 生成的构建命令。
版本管理工具: TortoiseGit, git, repo
HMI 解决方案:opengl(glad, glfw, glew), lvgl, guix, Qt, GLSurfaceView, surfaceFlinger, opengles, egl
掌握一款MCU:STM32H7(正点原子,野火,迅为, 安富莱)
了解几款款SOC:IMX6Q(NXP, 正点原子,野火,迅为),rk588(瑞芯微,迅为), mtk8678(联发科)
了解几款操作系统:freertos, threadx, linux, android
SOC裸机编程如同MCU编程类似:
开发工具:vscode, visual studio(C#/C++/C), IntelliJ IDEA, android studio, iar, ghs, keil, jlink, canoe, virtualbox/vmware ubuntu, QAC, cppunit, google unit, java unit
SQLite, room数据库:room 基于SQLite,简化了SQLlite的使用;linux用的mysql比较多
hypervisor技术:裸机baremetal版本, 宿主机host版本(比如在Windows上的virtual box, VM,然后在其上再安装linux)
面向对象的设计原则与设计模式:6大设计原则,比如开闭原则,21种设计模式比如单例模式等
几款嵌入式服务栈:USB(tiny USB), filesystem, network, gui, 这些服务栈一般OS,芯片,调试器,软件服务厂商官网都有,比如微软有usbx, filex, netduox, threadx, guix, levelx, stm32有,segger公司有, ucos也有lwip
硬件工具的掌握:示波器,万用表,逻辑分析仪,CAN, USB, SPI示波器,编程电源
掌握的协议标准: OSI tcp, udp, ip, tls, ssh, someip
android opengles编程:
GPU, NPU, CPU概念:
图形处理工具:blender:3D建模软件, gimp:2维图形处理软件, cura:3D打印机切片软件, unity3D建模
linux系统构建方式:传统buildroot, yocto
CI/CD原理熟悉, docker配置使用
通信协议:CAN, SPI, UART, I2C, USB, Ethernet(tcp/ip)
硬件知识:数电,模电,能看懂电路原理图
标签:开发人员,系统,嵌入式软件,构建,linux,Soong,android,Android,称职 From: https://blog.csdn.net/qq_16030651/article/details/142165886