【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
要说起消费类的soc,国内做的比较好的企业还是有一些的,比如瑞芯微、全志、新岸线等等。目前,这些公司的soc广泛地用在pad上面,占有率也不低。其中,瑞芯微偏高端一些,全志中低端多一些,新岸线这方面就要差一些。此外,这些芯片的sdk代码在github上面都能找到,建议大家可以找过来读一读。
1、消费类soc和51、stm32、手机soc有什么区别?
51功能最简单,基本上裸写代码为主
stm32比51多很多外设,arm为主,一般有ad、da、usb、sd卡之类,编写方法以rtos为主
消费类soc,比如瑞芯微soc,除了比stm32更高的主频,还对音频、视频、gpu、wifi做了增强处理
手机soc,可以看成是消费类soc+3g/4g通信模块,两者一般都是以linux+android为主
2、代码地址?
瑞芯微,https://github.com/linux-rockchip
全志,https://github.com/linux-sunxi
新岸线,https://github.com/adamdmcbride
3、soc的代码主要看哪些项目?
一般的soc包含了uboot、kernel代码
busybox基本上和soc关系不大,几乎可以忽略
4、uboot怎么看?
uboot主要看cpu初始化、ddr初始化、pll初始化、设备初始化、命令添加这些内容
此外,makefile和link文件也可以关注一下
5、kernel要学习哪些?
soc中对原生kernel的修改集中于arch/arm/mach-*、drivers、sound、include这些目录
它们对kernel、fs、mm、net、block、init目录中的代码修改极少
所以,kernel的学习主要还是集中于它们驱动的实现部分
6、怎么找到和soc关联的文件?
可以用关键字的办法,比如瑞芯微找rockchip,全志找sunxi等等
7、交叉编译工具?
这个需要寻找各个soc对应的编译工具才行,如果没有,可以试试apt-get下有没有。
或者到www.arm9.net下面试试看。
8、看代码注意些什么?
最好先看Kconfig和Makefile,再看代码,不相关的文件可以忽略。
此外,代码最好和spec对照着看,效率高一些。
手头如果宽裕,买一个开发板来验证一下也是不错的选择。
9、除了瑞芯微、全志、新岸线,还有什么soc值得学习?
s3c2410,三星的soc使用特别多、资料也全,即使最新的kernel,也包括了s3c2410代码。
要想查找相关代码,只要输入s3c2410即可。