嵌入式Linux开发可以分为底层系统、Linux C、QT应用开发。

底层系统开发包括bootloader、Linux kernel的移植、rootfs移植。bootloader并不是简单的uboot,很多SOC启动过程要分为4个步骤bootrom、bt1、bt2、uboot。kernel移植最大的难度是驱动开发,这也是大部分驱动软件工程师要做的事。rootfs比较复杂,首先选择有busybox、buildroot、Yocto等,首先要记住rootfs的基本目录是一样的不同点在于包含的库的多少问题。这里最容易被忽略的是kernel在rootfs中的连接文件,比如DRM驱动表现为libdrm和qteglfs等显示框架,不应该把驱动和rootfs独立开来。

Linux C应用开发是独立的一大块,最常用的是文件、线程进程、网络、数据库。这个没什么好说的就是用Linux C库函数做各种开发。

Qt是嵌入式Linux最常用的图形应用开发库,这个包含的内容比Linux C更加丰富。

除此之外Linux还要掌握makefile、shell编写、gcc编译规则等。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐