您当前的位置:首页 > 基础知识 > 单片机  > 单片机常见问题

学ARM+Linux要先裸奔!

来源:21ic 关键字:ARM   Linux   嵌入式   
 在 ARM + Linux 培训班学习,讲师一般首先讲解用 ADS 或 RealView MDK 去调试 ARM 开发板。原因在于: 1、掌握 ARM 体系结构。ARM 是一种计算机,掌握其体系结构也就是掌握ARM的工作原理。在大学里一般会开设《微机原理》这门乐虎国际娱乐,讲解x86计算机的工作原理,并学习x86汇编语言。因为ARM与x86体系结构上的不同,所以学习ARM+Linux之前,要首先掌握ARM这种计算机的工作原理,并学习ARM汇编语言。 2、掌握ARM汇编语言。众所周知,汇编语言是低级语言,与计算机硬件关系密切。因为体系结构的不同,ARM汇编语言与x86汇编语言有很大的不同。前几年有一本书《ARM体系结构与编程》专门讲解ARM体系结构与汇编语言,随着技术的发展,ARM汇编语言的参考书也越来越多。掌握ARM汇编语言是学习 ARM+Linux 的基础。Linux中汇编语言用得不多,却都是启动时必须有的。 3、掌握ARM开发板的原理图。电路板原理图是由做硬件的工程师画的,虽然属于硬件范畴,但做 ARM+Linux 的软件工程师是需要能看懂电路板原理图的,特别是在编写硬件的Linux驱动程序时,必须看懂开发板电路原理图。用ADS或MDK调试开发板时,最常做的一个软件实验就是“跑马灯”程序。“跑马灯”就是让开发板上的若干个LED逐个点亮,实现这个程序首先要看电路图上LED的电路是如何连接的。通常,LED联接在ARM芯片的IO接口上,看电路图确认IO接口的编号,然后在程序里设置这几个IO接口的电位为1或0,就能熄灭或点亮LED。“跑马灯”程序是最简单的软件与硬件协同工作范例,目的就是让软件工程师能掌握最基本的软件与硬件结合的原理。以此为基础,开发板上的其他外围电路都可以逐步掌握。 4、掌握像使用单片机那样使用ARM的方法。单片机的用途非常广泛,最常用的是C51系列单片机,不需要操作系统,只需要在单片机上运行单循环程序就能让设备完成功能简单的循环运算工作。C51系列属于x86家族,x86家族的单片机和桌面CPU功能差别非常大,但是其汇编语言却是完全相同的。ARM系列计算机性能介于C51单片机和x86桌面CPU之间,所以将ARM当单片机用也是一个应用选择,ADS和MDK这两种软件就是像单片机那样使用ARM。最新的ARM版本Cortex,已经开始分类,Cortex M系列就是用作单片机的ARM,Cortex A系列就是运行操作系统的ARM。 5、复习C语言程序设计。在ADS或MDK中调试ARM开发板,使用的计算机语言通常是汇编结合C语言,汇编是ARM汇编,C语言就是常用的C语言。C语言是一种中级语言,但是是平台无关的,在任何一种计算机上用C语言编程,语法规则都是一样的。C语言与ARM汇编的结合看几个实例就能很快掌握,C语言本身的掌握程度却决定了每个人能在 ARM+Linux 开发上能走多远。 ADS是ARM公司出品的集成开发环境,已经停止更新很久了,但是任然很有用,甚至可以调试ARM11。 RealView MDK是ARM公司购买了Keil公司后推出的ADS后续版本,RealView结合了Keil C51这种单片机经典开发环境与ADS开发环境的优点,能用于所有ARM版本的调试。当然功能强会带来一定的操作复杂性,但在ARM的调试上还是沿用了ADS的大多数方法与软件界面,以方便从ADS到MDK的过渡。 不管是用ADS还是MDK,对于学习 ARM+Linux 的朋友来说,目的都是一样的,就是上面五点,都是为进一步学习打下很好的基础。用ADS或MDK去开发ARM,通常都叫做“裸奔”,因为都没有操作系统这件“衣服”。就像绘画中学习人物画时,先要画裸体模特,然后学习人物画一样,先学会用ADS或MDK让ARM裸奔,然后才学得好 ARM+Linux 。