宿主机:一般都是PC上的windows里装一个vmware,然后我常用的是ubuntu了。
交叉编译工具:似乎如果是别人的板子都有配套的,如果是自己从头来可以自己制作。CodeSourcery上去下吧,每年更新好几轮。
内核:这个跟板子也就是硬件的相关度还是比较大的,一般可以随时升级,就是需要调稳定了。
Bootloader:现在一般都用uboot了。不管uboot是不是第一级启动的引导程序,硬件手册的启动加载部分是必须要研究清楚的。
仿真器/下载器:其实我们主要用来下载,山寨的比如J-LINK就是很好用的,当然如果支持什么SD卡,U盘启动也可以。总之,这是万里长征第一步,必不可少。
根文件系统:自己没怎么做过,很久以前好像都是手工的,后来听说有个叫什么crosstool-ng,咱没用过,还有个buildroot,咱也没用过。
上面这些都搞定了,板子上的系统也就跑起来了。
APP之类的就随便了,driver要写的话继续看硬件手册去~~。
工程文件管理就是Makefile,但是一般大一点的都是自动化的。
autoconf和automake。缺点是不能外部编译,就是会在源码目录生成一些文件和临时文件。
Cmake是可以外部编译的,保持源码目录的干净,不过支持的语言不多。
各有优劣,并且学习曲线不平缓。按需取。
这些如果都会了~再加上看得懂芯片手册+某方面的APP应用。哦了,你好神啊。