初识Buildroot
转自CSDN ,记录是为了作者小编学习需要
作者:xixihaha331
什么是buildroot
buildroot目录结构
2.buildroot/output/是编译出来的输出文件夹,里面的build/目录存放着解压后的各种软件包编译完后的现场。host/目录放着制作好的编译工具链,target/ 目录是用来制作rootfs的,里面放着Linux系统基本的目录结构,以及各种编译好的应用库和bin可执行文件。Images/目录下就是最终生成的可烧写到板子上的各种image。
3.buildroot/dl存放下载的源码包及应用软件的压缩包
4.buildroot/fs放各种文件系统的源代码
5.buildroot/fs/skeleton放生成文件系统镜像的地方,及板子里面的系统
6.buildroot/linux/ 存放着Linux kernel的自动构建脚本。
7.buildroot/configs放置开发板的一些配置参数。
8.buildroot/dl/目录存在从官网上下载的开源软件包,第一次下载后,下次就不会再去从官网下载了,而是从dl/目录下拿开源包,以节约时间。
9.buildroot/docs/ 存放相关的参考文档。
10.buildroot/arch/ 目录存放CPU架构相关的配置脚本,如arm/mips/x86 ,这些CPU相关的配置,在制作工具链,编译boot和内核时很关键。
buildroot工作原理
Buildroot提供了函数框架和变量命令框架(下一篇文章将介绍细节),采用它的框架编写的app_pkg.mk这种Makefile格式的自动构建脚本,将被package/pkg-generic.mk 这个核心脚本展开填充到buildroot主目录下的Makefile中去。最后make all执行Buildroot主目录下的Makefile,生成你想要的image。
In case anyone is interested....
I modified buildroot to create a distribution for the STM32F4 processor. (It should be fairly portable to different Cortex-M processors though, the STM32F4 is the only one I've tested so far).
So far it:
Builds the toolchain
Builds a modified Nuttx RTOS
Builds the icsp tools for programming and debugging (openocd/gdb)
It also integrates the filesystem buildroot generates into the Nuttx kernel so it shows up in Nuttx's filesystem.
It still has a ways to go, but right now it builds everything and works on my hardware.
So far I've tested it on hardware I built, and on the STM32F407 discovery board with the attached baseboard.
You can find instructions here
http://www.vxmdesign.com/STM32.html
The git repo is
https://github.com/vxmdesign/prjpluto.git
and vdsc_defconfig is the config for the discovery board.
Happy programming!
-Chris
感谢完成阅读,我是喜欢打篮球的写代码的篮球球痴,这个是我的公众号,感谢你关注并支持。我从大学开始接触电子和嵌入式软件知识,至今,已经毕业工作了9年,我喜欢嵌入式,也愿意从事这个行业。不管是从技术还是职场经验,都积累了足够多的经验,目前在一个非常优秀的团队中做开发工作。
很高兴认识每一个对技术努力,对人用心的朋友。