ARM开发环境搭建




首先这一课会给大家介绍一些开发工具,这些开发工具我们不一定都要会用,但是我们对于市面上的开发工具都要非常清晰,哪些是企业级和哪些是自己用的。


这个内容完成之后,就进入arm结构体系的详细介绍,那个内容是非常的枯燥,现在结合这个机会给大家讲解,为什么要这样去学。


现在我们已经会烧系统,这个系统里面的“boot load”和“rom”,这个rom又包含了内核kernel和rootfs,我们知道当加电的时候,系统总是要找一个地方去读取那一块内容,那一块内容就是由“boot load”来决定的,这块地址是有arm体系结构来决定的,也称为ARM IP架构,那么同样的“boot load”里面又要去选择操作系统的一个地址。


如果没有操作系统的时候,我们要去控制又该怎么办?


这样就会存在arm体系结构,包括I/O操作这些东西,那么这些是不是全部是arm体系结构了里面的东西?所以我们后面就需要学习离开操作系统的时候,我们怎样去做arm的裸板开发,也就是学会裸板开发然后才会“but load”,“but load”是比较特殊的一种裸板开发的程序,可以把它看成一个很小很小的操作系统,这个系统引导了这样一个程序。


所以接下来要先学习arm体系结构,包括汇编结合C语言,会去写一些引导程序,写了之后就可以让它去引导操作系统,但是这个操作系统现在都是用别的代码进行编译的,可以编译内核或者文件系统,到后面我们就可以要自己去修改这个内核,因为内核里面会有驱动这一块,我们要自己去修改文件系统,文件系统里面就可能会有各种各样的内库和移植。


所以我们后面的学习就是学习arm然后开始搞裸板开发,裸板开发就是我们自己写一些小程序包括去控制一些电路,包括控制一些转换和一些接口,然后这些学会之后,我们就开始用自己的程序去启动Linux,启动之后会发现Linux内核我们需要深入去研究,因为后面我们就不是用操作系统去控制这些输入输出,然后既然用kernel来处理,那么Linux几层结构我们就要研究清楚,包括驱动怎么去写。


所以我们以后去学的就是把一块一块去细化,所以以后学到arm指令的时候,不要觉得枯燥,因为在板子启动的时候肯定要有一些指令写一些程序,它才知道从哪里读取。所以最开始的入口是加电而不是“but load”,“but load”也要遵循arm的规范。



开发环境搭建


1、官方的


首先介绍一个叫做ADS的工具,最新版本是1.2,大概在2003年停止更新,所以现在已经不常用这个工具,如果要用需要下载补丁包。


什么工具才是最好的?


好的工具还是要在官网里面去找,输入网址“www.arm.com”,然后会自动切换到arm中国。


environment1.png


这个官网非常值得研究,可以看到处理器上面就有这么多种类,通过这个我们就可以了解当前的发展结构。


environment2.png


我们可以看到处理器的发展,A系列的就是黄色,我们现在学习的就是“Cortex-A8”,你还可以去点中然后详细的了解A8系列。


Cortex-A8处理器:


ARMCortex-A8处理器基于ARMv7体系结构,也就是第七个版本,A15才是ARMv15。


environment3.png


ARMv7体系结构的流水线图

  

然后下面就可以了解到它的一些特点,还有它支持的产品类型有哪些,还可以点击进去看有哪些具体芯片,这个非常有助于了解行业的发展,因为官网的信息是比较新的,现在比较新的是ARMCortex-A15,但是也快过时了,因为现在即将有一个Cortex-A50,是一个ARMv8的架构,而且会慢慢往64位上面转。


有哪些芯片也可以在官网上面看,Embedded是价格比较低廉的。Classic是以前比较经典的芯片。


实际上ARM提供的是一个体系架构,这个体系架构我们往往称为IP架构,关于IP架构是什么样子,我们在这里可以看到什么是物理IP和系统IP。


我们还可以在官网中看它的支持和社区,在它的市场中,如果你要做哪一类的产品可以在这里面去借鉴,比如说数字机顶盒这一块,我们就可以借鉴里面的框图包括它的一些相关产品是怎么样的。


对于我们而言,我们需要看官网里面的工具。



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】


logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

您有狂欢嘉年华礼包未领取

客服热线 400-862-8862

回到顶部