Bcm96xx系列SDK支持的芯片从代码的target目录就可以看出,有63186362 63268 6328 6368 6818 6818O 6838O 68500 等芯片。此SDK使用的Linux内核版本算是比较高的了,为Linux3.4。
Broadcom的网站提供下载:bcm963xx_4.14L.04_data_src.tar.gz
1 目录结构
bcmdrivers/ -- broadcom 的驱动,包括开源公开的和私有不公开的
cfe/ -- broadcom 芯片的boot代码
data-model/ -- 一些xml和txt形式的业务配置文件
docs/ -- 关于sdk的一些文档放在这里
hostTools/ -- 版本生成和制作工具的源码
images/-- 存放生成的版本文件
kernel/ -- linux内核代码
release/ -- 一些lisence copyright release 等说明及pl脚本
shared/ -- 包含cfe和bcmdrivers都需要用到的驱动代码
targets/ -- 包含芯片目录,文件系统,bcm的内核配置文件以及版本文件等
userspace/ -- 应用层代码都在这里
底层驱动开发者需要关注bcmdrivers目录和kernel目录,而上层应用开发者需要关注userspace目录的代码。若要更改Boot则需要关注cfe目录,它里面存放了boot的源代码。版本制作则需要关注hostTools目录及targets目录,前者包含制作版本工具的源码,而后者包含了文件系统生成的来源,当然docs目录下的文档是每个新手开发者一开始就要学习的。
需要说明的是以上的目录并不包括编译工具链,其编译工具链是单独发布的,我的编译工具链放置在这里:
/opt/toolchains/crosstools-mips-gcc-4.6-linux-3.4-uclibc-0.9.32-binutils-2.21
2 编译架构
从目录结构可以大致的了解SDK整体的代码组织结构,而编译架构则是更深入了解SDK层次的直接途径,包括驱动和应用层代码的层次结构、哪些代码在用哪些代码未用,Linux内核的宏配置,文件系统如何制作,版本文件如何生成,应用层的CMS如何运转,如何在现有SDK<