我想学嵌入式LINUX驱动开发,很纠结到底选ARM9,ARM11还是CORTEX-A8的开发板?

2024-11-23 01:09:33
推荐回答(4个)
回答(1):

首先我没用过cortex-A8,不做讨论。
我最开始学的是ARM7,然后用到arm9、arm11、cortex-M4。
1、arm9和arm11区别不大,只是性能上的提高,然后arm11增加了图形处理的能力。
2、arm7都还不过时。外面找工作,我是刚好是应届生,这个对我来说实际的经验要求不高。但你用AR9\ARM11肯定不是过时的。
3、只要你学透了arm架构的任何一款处理器的驱动开发,上手其他arm架构估计不超过1天(8小时),因为驱动开发很多地方时相通的。驱动开发对硬件架构先不说,难度在于linux系统,尤其是内核。
4、你说对了,这是相当重要的一部分,如果这些都不熟悉,那么对于这个arm架构你是没有掌握的,尤其是驱动工程师!

从你问的问题来看,我不建议你使用cortexA8的处理器。A系列面向的是应用,如手持设备等,复杂度很高。
这儿建议你选用培训机构使用过的板子,我推荐基于ARM11的OK6410板子。有培训机构的配套资料,很多很全,遇到问题网上搜也能很快解决。楼上提到ARM9也是相当不错的选择,尤其是mini2440,LINUX内核直接支持。最近我有几个同学也去华清远见培训,他们使用的是款A8处理器的板子。不过这个东西出来的学习资料很少,非常不适合你入手。除非你也去培训,那是题外话,修行靠个人。
总的来说,不要纠结使用哪个处理器,他们都是相通的,先买一个板子来用起,那才是王道。对了,OK6410能跑android。

回答(2):

建议从ARM9入手,毕竟资料多一点。
1、差别主要在硬件配置方面,虽然有很多改进,但是是对编程者隐藏的。要看清楚他们的差别,多媒体处理性能的不同,主要是在这一块。
2、那两个商用确实有些过时了,但是学习是不算过时的,有这个说明有ARM基础,我想应该不会被笑。
3、学习底层驱动,需要搞清楚操作系统,这个才是基础,在ARM9+LINUX上的驱动开发则是经验,有这两个学习A8也是很快的。
4、汇编多了解,多实践一下是好的,但是工程开发中最好少用,因为编译器要做指令集优化,一般人不一定写得过编译器的优化,特别是指令层并行方面,人工写一般效率较低。但是,做开发最好对编译器做个了解,一般如果不是针对特定CPU有优化的,应该用汇编去优化CPU的特性部分,比如浮点运算和向量处理等。基本架构,工作原理的学习确实对提升水平很有帮助。比如特定CPU上特有的硬件,音视频解码等。
A8没弄过,不知道哪个好。

回答(3):

itop4412开发板入手啊,资料多、售后好,技术先进,售后是没的说

回答(4):

选ARM9吧。