ARM初学者技巧
ARM学习方法、参考科目
嵌入式系统学习的方法、参考科目学习ARM的前提2、模拟电路方面通常是大家的弱项,但电源电路、小信号放大电路、小信号处理电路一定要掌握。
3、系统和现场干扰处理方面要重点花精力,可以建立你的优势。
4、语言方面熟悉c 语言和某种汇编即可5、软件方面建议你用一下uc/os ,自己亲手移植一下,重点是理解其运行机制和系统架构。
6、工具方面:protel 、uml工具要关注一下7、器件方面:arm 尤其要关注一下,模块:lcd方面要熟悉,至少单色、伪彩和TFT!!其他常规器件最好能记住功能和常规参数。
8、项目管理方面平时要多积累、多总结一下,抽时间了解一下市场营销方面和管理方面。
一、学习方法:1、先学好ARM接口知识,掌握ARM开发工具ADS,学会使用仿真器,写些接口方面的代码。
2、掌握好ARM接口知识后,接着再进行bootloader的学习,如uboot移植以及系统移植等,这时因为之前已经有了ARM接口方面的知识,所以uboot学习及移植就会很快了。
接着我们可以再移植kernel、制作自己的文件系统。
这些都做好后,嵌入式开发环境你就搭好了。
3、下面就可以学习Linux系统编程及Linux驱动开发了。
接口的基础会帮你更容易的理解驱动原理。
二、所学教材:1、《C语言》第二版谭浩强;《C程序设计语言》第二版徐宝文译机戒工业出版社指针数组和数组指针吗?你知道函数指针吗?定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?2、《数据结构》C语言版黄国愉、叶乃青编清华大学出版社用C语言实现书中的单链表、双链表数据结构吗?3、《实用C++程序设计》第二板中国电力出版社 Steve_Oualline著此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解。
4、学习单片机,最好能找个前辈带一带。
5、学习ARM单片机。
(1)、细读《ARM微控制器基础与实战》周立功编写(注:即使你不用书中的开发板)(2)、细读相关芯片的原版英文文档。
菜鸟学arm之方法入门篇(基于arm7内核)
by:爱雪胡想必有很多同学都有这样的经历,学过了51单片机之后,想要学习ARM,但又无从下手,关于ARM的学习视频或资料又没有51的那样好理解,结果花了好长时间也不得其法。
我也曾是一个初学者,也是从这个过程走过来的,对其中的困难深有感触,闲来无事,把自己的学习过程及心得体会记录成文,希望能对处在纠结中的孩纸有点帮助。
ps:我不是大神,本人菜鸟一个,如有疏漏,还望不吝赐教qq:1906723068首先说一下我用的芯片,是LPC2103,ARM7内核的,相信很多人也用过,ARM9比较高端,目前还没有学完。
个人感觉ARM7还是作为单片机使用比较好,不适合用它来跑系统,因为它主频不够高(能提到60多M貌似),我就是把它单纯作为一个32位的单片机来使用的。
ARM7与51的最大区别首先是CPU位数不一样,这个应该好理解一个是32位单片机,一个是8位单片机,性能上当然前者更好点了,速度更快、功耗更小、外设更多,价格差距也越来越小。
一般用的51单片机多为STC89C52或其同类产品如图所示:51的外设一般比较少,以上图为例只有UART,定时器资源,其他功能基本需要另加元件,比如AD芯片、DA芯片、有些功能还只能靠软件模拟,如SPI接口,IIC接口,PWM等,在简单的控制系统中51是非常厉害的,但是在一些复杂控制并且对体积功耗等要求严格的系统中,51就力不从心了,这时ARM7就非常好用了,它速度快,体积小(LPC2103的面积还不到1平方厘米),外设多(集成有2个UART,1个SPI,2个IIC,1个SSP,2个定时器,PWM,AD,RTC等)这样就非常方便好用。
最开始学习ARM我们最希望弄明白的就是怎么去操作它,具体来说就是我买一个学习板,怎么把程序下载到芯片里边并让程序跑起来,这和我们学51时点亮第一盏等的想法是一样的。
这就要求知道3点:1.编程,即使用什么软件去编程序;2.烧程序,即使用什么烧录程序软件;3.怎么烧,是用串口ISP下载还是使用JLINK烧录对这3个问题我一一解答。
ARM初学入门
ARM初学入门经过一段时间对arm的学习,在这里跟大家说一些前期的学习经验,另外仅以一个例子说明一下ads的开发过程,因为这也是初学,可能有的地方说的不太好,望大家谅解,另外可以找其它参考资料来学习。
第一部分:arm的早期学习经验个人认为,要想学好arm应该首先对arm的整体框架(包括arm体系结构,arm开发过程,及arm程序框架及执行过程等)有一个了解。
这里这就不多说了,这些东西我也只是刚刚开始学习,还没有很好的掌握,就只说一些个人想法吧。
呵呵,因为时间紧,据说要在一周内完成。
至少你可以用书做一点,但上周之后,最后,哇,我真的疯了。
当我第一次得到这个实验盒时,我认为和NIOS一样,我几乎可以玩更多的演示。
一开始我没想到会遇到大问题。
我在arm实验箱里带了几本教科书和实验说明。
在用实验说明做了几次演示后,我没能做到这一点,因为前两次演示相对简单,只需用汇编语言编写一些关于arm寄存器操作的语句,那些学习过汇编语言的人很快就能理解。
但未来会有所不同,因为我在学习之初不知道ARM项目的框架。
我真的不明白。
为什么44B在整个过程中都有用。
h、 44B。
还有一个44binit的文件吗?前三个很容易理解。
那些玩过MCU的人可以很容易地看到44B H在S3C44B0X中定义了一些寄存器,44blib H和44blib C定义了一些初始化函数,而44binit S?我不明白。
我不能在这里做arm程序。
我必须在互联网上找到信息,看看这个功能是用来做什么的。
事实证明,这是我以前经常听到的“bootloader”或“boot code”或“arm boot program”,这是处理器启动时执行的一段代码,主要任务是初始化处理器模式,设置堆栈,初始化变量等由于上述操作与处理器架构和系统配置密切相关,它们通常是由汇编编写的(对于此内容,您可以查看相关资料)。
所以我花了几天时间研究文件“44binit.S”。
通过对本文档的研究,我学到了很多关于arm编程的知识,并对arm编程的总体框架有了大致的了解。
实用干货 高手告诉你ARM入门该学什么
实用干货高手告诉你ARM入门该学什么
ARM入门阶段通常是最容易让人产生挫败感的时候,并不是因为知识有多幺难以理解,而是因为很多人并不知道从哪方面进行入手。
此时一篇较为系统的入门知识介绍文章就变得很有必要,本文来自于一名经验丰富的电源设计者,将其对新手的入门建议进行了总结,大家快来看一看吧。
关于基础
很多人在学习ARM时都在纠结是否需要有51、AVR等基础。
其实这部分知识并非必须,懂一些更好但没有也无所谓。
没有相关基础也无所谓,重要的是找一些参考书,去了解里面的例子和原理图,例程里有汇编有C,都能看懂即可,不用追求能够流利编写。
需要学习哪些软件
软件实际上就那幺几种,下面为大家总结一下。
ADS调试用
确切的说是ADS+AXD。
ADS里包含AXD。
以前都用SDT,但后来ARM 公司停止对SDT的支持,转而支持ADS,所以还是用ADS比较好。
目前有的人的程序发布的仍然是SDT版本,但基本都可以找到相应ADS的,新人在这里不要发蒙。
ADS是编译器,AXD是调试器。
编译成AXF以后再在ARM的RAM里调试。
PLASHPGM
FLASH烧写的软件。
AXD在RAM里调试就不会出现掉电,方便程序修改。
调试好的程序再下到FLASH里上电直接运行。
同类的软件还有很多,比如FLUTED、FLSHP,但FLASHPGM最好。
BANYANT调试代理。
ARM学习
2.一开始就必须掌握ARM体系结构与汇编指令?
未必!我们身边的很多ARM初学者,一开始就抱着有关ARM体系结构的书籍开始苦读,更有甚者,在很多具体内容上钻牛角尖,把大量时间花在了ARM汇编指令上,几个月下来,进展不大,虽然也能知道一些ARM的相关概念,但离真正的具体应用相差甚远,很多初学者会感觉到,学完ARM体系结构后,对ARM的应用还是无从下手,一片茫然,有的甚至就因为这个原因,被挡在了ARM嵌入式开发领域的大门外,从此放弃了ARM嵌入式开发的学习。
请用户不要误解,我们并不是主张用户不看ARM体系结构的相关书籍,关键在于怎么看、看到什么程度。根据我们的经验,ARM初学者对于ARM体系结构的相关知识只需做到“了解”这一程度就可以了,对于ARM的汇编指令完全可以不用记忆,只要能看懂就可以(目前大部分基于ARM的产品开发都采用C语言,汇编语言的使用机会大大减少,只有在操作系统移植以及某些特殊应用中才会用到部分汇编指令)。随着初学者对ARM更深入地学习,有关ARM体系结构与汇编指令的知识以后可能会反复出现,遇到时再有针对性的重点看,相信会取得比较好的效果。
5.如何检验学习成果
在经过一段时间的学习后,初学者一定想知道自己达到了一个怎样的程度,我们给初学者提供一个检查自己学习效果的方法:可以仿照我们的开发板,自己做一款类似的开发板出来。当然,没有必要完全按照我们的设计,您可以在自己设计的开发板中加入更多的功能,配套更多的实验。
ARM入门最好的文章,适合菜鸟.
我自己在学arm7,不小心在网上看到这篇文章,内容如题,自我感觉他写的不错,因此帖上来供菜鸟们参考,高手就不用看了该文章作者不详,我在此只转载未做任何修改:1.抓住51开发ARM这几个月来我一直都爬在51的问题,自己都有一点笑自己了,用了4个月的时间,来巩固51的原理和程序,还好我自己算是走过来了,自己笨,身边的高才生又看不上51的原理,他们都比较“牛”,说51过时了,你问那个做什么???我比较郁闷!过时吗?我有一点怀疑?他们不愿意说有他们自己的理由,没有人强求,靠自己好了。
我自己个人的观点:51是一个基础,而且还很重要,这是再我看了ARM之后感觉到的。
它可以加速你的ARM学习速度,真得!不相信你试一试好了。
凡是要求一个速度、效率,不要做一些无用功,抓紧身边的每一个一分钟,人是活的,东西(知识、书)是死得,想要做的事情因此就简单了。
2.我在网上看到了一篇很不错的ARM文章,粘贴过来,为了和像我一样在很少有人帮助的情况下,自学ARM 的难兄难弟们。
“ARM怎么入门”。
我不是高手,仍然是菜鸟。
但是回想起自己当时的迷茫,特意写了这篇东西,当作给和我一样的兄弟姐妹的帮助吧。
问这个问题的人多半不是已经工作的工程师,而是和我一样是学生,所以这篇笔记就把看家当成我一样的菜鸟,高手勿怪。
首先声明:本人还没有找工作,事实上处于研究生刚毕业,还没开始找工作的空闲时间,44B0只是兴趣所在,打发时间。
所有看法完全是自己的感受,不代表任何他人。
错了的观点各位帮我纠正。
再次补充:很多朋友看了上面的话就问我为什么研究生毕业了还不找工作:)说是打发时间,其实是因为研究生的时候带了一个项目,申请提前毕业以后项目还有块尾巴,答应导师把项目做完再走:)就这么简单。
男人总点负点责,呵呵以下问题常被问到,我就想到哪说到哪吧。
一首先说说ARM的发展可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。
广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。
初学arm知识总结
嵌入式平板电脑mips方案和X86方案的比较
般采用退出商业领域的PC机器来应用于不太复杂的工业应用,机器的寿命会受到一定程度的影响。而MISP方案则是专门为工业控制实际应用量身定做的,更加专业实用。
WINCE6.0系统下全面测评S3C6410处理器性能
WINCE6.0系统下全面测评S3C6410处理器性能
WINCE6.0系统下全面测评S3C6410处理器性能
WINCE6.0系统下全面测评S3C6410处理器性能
WINCE6.0系统下全面测评S3C6410处理器性能
WINCE6.0系统下全面测评S3C6410处理器性能
WINCE6.0系统下全面测评S3C6410处理器性能
WINCE6.0系统下全面测评S3C6410处理器性能
2010—S3C6410的疯狂,主频的极限在哪里?
2008年下半年,三星公司推出S3C6410X芯片,大部分的生产厂家都用的ARM1176JZF-S内核,到现在为止很多都推出了S3C6410芯片的开发板。前面的在完善和创新、后面的加紧脚步在追赶,市场一片火热!
01
009年来看,S3C6410慢慢的走出来。相对ARM9而言,在视频编解码、处理速度、2D/3D的加速等方面有很大的提升。在价值的提升同时,成本也在提升,那么价格同样会比ARM9高出不少。
ARM体系的各种异常的分析
中止异常 中止表示当前存储器的访问不能完成,是由外部的ABOUT输入信号引起的异常,分为两类: 预取指中止:由程序存储器引起的中止异常; 数据中止:由数据存储器引起的中止异常;
SUBS PC,R14_abt,#4 ;PC=R14 - 4
04
当程序发生预取指中止时,ARM内核将预取的指令标记为无效,但在指令到达流水线的执行阶段时才进入异常,因此当前PC的值为当前执行指令的地址+8(即正确的中断返回地址+4),因此R14保存的值是 中断返回地址+4 ,所以当修复了产生中止的原因后,不管在什么操作状态,处理器都会执行以下指令
ARM快速入门教程
ARM快速入门教程ARM(Advanced RISC Machines)是一种基于精简指令集计算机(RISC)架构的处理器系列,被广泛应用于嵌入式系统、移动设备和消费类电子产品中。
本文将为您提供一个简单的ARM快速入门教程,帮助您了解ARM的基本概念和使用方法。
第一部分:ARM概述(200字)第二部分:ARM架构(300字)ARM架构采用RISC设计思想,通过简化指令集和优化硬件设计来提高性能和效率。
ARM处理器具有三个基本特征:简洁的指令集、统一的寄存器文件和可变长度的指令长度。
ARM指令集包括数据传输指令(如加载和存储指令)、算术指令(如加法和乘法指令)、控制指令(如分支和跳转指令)等。
这些指令被编码为16位或32位二进制代码,以提高指令执行效率。
ARM处理器的寄存器文件使用统一的32位寄存器,这意味着所有的寄存器都可以用于存储数据或表示内存地址。
该设计简化了指令集编码,并提高了程序的灵活性和扩展性。
与其他处理器架构相比,ARM指令的长度是可变的。
ARM处理器支持16位和32位的指令,根据实际需要进行选择。
这种设计也有利于降低功耗和提高代码密度。
第三部分:ARM开发环境(400字)要开始使用ARM进行开发,您需要一个ARM开发板、一台计算机和适当的开发环境。
ARM开发板是一种嵌入式系统,其中包含一块ARM处理器和各种外围设备(如闪存、RAM、串口等)。
您可以使用开发板来加载和运行您的ARM代码,并与外部设备进行交互。
第四部分:ARM编程(300字)ARM编程可以使用汇编语言或高级语言进行。
汇编语言是一种低级编程语言,直接对应于CPU的指令集。
使用汇编语言编程可以更加深入地了解和控制ARM处理器的操作。
高级语言(如C/C++)编程可以提高开发效率和代码可读性。
您可以使用C/C++编程语言编写ARM应用程序,然后通过交叉编译器将其编译成ARM指令。
在ARM编程中,您可以使用各种库函数和驱动程序来访问外部设备(如闪存、串口、显示屏等)。
ARM汇编快速入门教程
ARM汇编快速入门教程本文主要分享如何快速上手(ARM)(汇编)开发的经验、汇编开发中常见的Bug以及Debug方法、用的Convolu(ti)on Dephtwise 算子的汇编实现相对于(C++)版本的加速效果三方面内容。
01前言(神经网络)模型能够在移动端实现快速推理离不开高性能算子,直接使用ARM汇编指令来进行算子开发无疑会大大提高算子的运算性能。
初次接触汇编代码可能会觉得其晦涩难懂然后望而却步,但ARM 汇编开发一旦入门就会觉得语言优美简洁,如果再切换到ARM INTRIS (IC)指令开发反而觉得没有直接写汇编码来的方便。
我会在第一节分享纯小白如何快速上手ARM汇编开发的经验,第二节会列举在汇编开发中常见的Bug以及Debug方法,第三节会展示常用的Convolution Dephtwise算子的汇编实现相对于C++版本的加速效果。
如果你已经能很熟练地使用ARM汇编指令进行开发了,可以跳过第一节。
02从简单函数上手学习汇编开发重要的一点是通过学习现有函数的汇编代码来实现自己的需求我写的第一个汇编算子是MaxPooling算子,算子本身的计算过程非常简单。
但当我开始实现MaxPooling的汇编代码时,我不知道第一行代码怎么写,不知道开头和结尾怎么写,不知道中间的计算逻辑怎么写。
当时我就在MNN库的source文件夹下面找到了一份逻辑简单的、自己非常熟悉的Relu算子当做参照来实现MaxPooling. 之所以我(推荐)用一个逻辑简单的、自己非常熟悉的算子当做学习汇编的模版,是因为当算子的计算逻辑简单时,我们才能把注意力放在汇编函数的声明、传参、读取数据、存储结果、返回等等这些大的流程上面,至于内部的函数实现(如何计算一行数据的最大值,如何去计算一个(寄存器)中所有数据的累加和等等)可以暂时不去关注。
学习一个新的东西时,我们找的例子模版不能过于复杂,因为这会导致我们将注意力放在例子本身的实现细节中,而忽略了如何去入门,这样会增加我们的学习成本。
ARM学习
我知道的ARM入门最好的方法1、抓住51开发ARM我自己个人的观点:51是一个基础,而且还很重要,这是再我看了ARM之后感觉到的。
它可以加速你的ARM学习速度,真得!不相信你试一试好了。
凡是要求一个速度、效率,不要做一些无用功,抓紧身边的每一个一分钟,人是活的,东西(知识、书)是死得。
2、ARM怎么入门?一、首先说说ARM的发展可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。
广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。
客观的讲,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。
DSP因为数字处理与通信领域的空前发展而火暴,小到MP3 射象头,大到我们军品里的控制器,应用面很广。
值得注意的是:在找工作中,企业(著名的,小的不算)对单纯的ARM硬件开发工程师并不比单片机重视,很少有大企业的职位里写“从事过ARM开发优先”。
写的多的是什么?“嵌入式LINUX”到这相信大家看出来了吧,需要的是硬件中的软件。
二、ARM是硬件还是软件很难说,ARM是硬件,LINUX是软件。
ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。
实际中的LINUX的开发工作更多,更耗时。
从这方面说ARM应该算是软件了。
在找工作中更是这样,举个例子,联想里和ARM最接近的是“BIOS工程师”是软件,MOTO 里接近的是嵌入式LINUX工程师是软件。
而其他很多公司把嵌入式产品开发归为硬件。
所以,不要讨论这个,好好玩转自己的板子才是关键。
实在不爽你就把自己叫“嵌入式开发工程师”。
四、要不要有51 AVR等单片机基础有更好,但没有也无所谓。
五、开发都需要学习哪些软件总结起来最主要的有以下几个吧:1、ADS调试用确切的说是ADS+AXD。
ADS里包含AXD。
原来都用SDT后来ARM公司停止对SDT 支持了,改支持ADS了,还是用ADS吧。
arm学习经验
从开始搞ARM到现在将近半年多了,第一个项目搞得有些眉目了,终于感觉像是入门了,半年来,有开始的新鲜,中间的苦闷,到最后的欣喜。
其中过程可谓曲折离奇,遇到了很到前人没有遇到过的疑难杂症,当然很多时候是因为我的粗心酿成的。
曾经也有过放弃的念头,那个焦虑,像得了狂躁症一样。
后来下定决心即使绩效没了,工作丢了也要搞完它。
其实在这个过程中,看到跟我一样的很多新人在论坛上发帖求助,可是很多时候回者寥寥无几,可能问题太幼稚,也可能问题描述的不清楚。
我发过很多帖子,甚至直接骚扰了网上很多的牛人,他们都给了我很大的帮助,但是我当时的想法太简单了,总想着某个牛人能够解决掉这个问题,现在想想,即使是牛人,没有看到具体的问题也很难给你一个解决方法,遇到困难不能把希望完全寄托在别人身上,要挖掘自身潜力,一遍遍仔细看手册,反复试验,不断思考,问题肯定能解决掉,只是时间问题而已。
再次要感谢公司对我的容忍,一个这么简单的东东允许我搞了这么久。
其实,在前面的过程中,一直有写点什么的冲动,但是当时困难重重、前途未卜,也没了这个心情。
现在可以坐下来仔细总结下前面的问题,有现在都没搞明白的,特向大家请教了;有解决掉的,那就说说经验教训,给其他人一些参考。
首先声明本人脑瓜笨,逻辑思维差,点一个灯点了一个多月,最后还发现没点对。
所以提到的问题可能很幼稚,说话也好像前言不搭后语,有兴趣看的那就受累了哈。
先说说我们的这个块板子,裸奔的at91sam9260,外扩Norflash、SRAM,实现程序既可以跑在Norflash中,也可以拷贝到Sram中跑。
任务就一个:控制一个片外AD,读出数据然后通过串口发出。
很简单的吧,这我都搞了几个月呢,你说菜不菜吧。
以下我将回想整个的ARM学习过程,涉及到的知识都是很简单的基础知识,老鸟就不用看了,希望可以帮助到像我一样的菜鸟。
前三个月主要是熟悉的过程,当时完全没有想到后面程序的调试会如此的困难,想当然地认为又不上系统,无非是32位的单片机嘛。
ARM入门学习方法
ARM入门学习方法ARM(Advanced RISC Machines)是一款广泛应用于嵌入式系统的处理器架构。
在现代智能手机、平板电脑和其他嵌入式设备到工控机等各种领域中,ARM处理器都是非常常见的。
对于初学者来说,学习ARM处理器并不是一件容易的事情,因为它涉及到底层计算机体系结构和汇编语言的知识。
以下是一些学习ARM的入门方法,希望能对初学者有所帮助。
1.了解计算机体系结构的基础知识:在学习ARM之前,了解计算机体系结构的基础知识是非常重要的。
了解计算机内部的组成部分,例如中央处理器(CPU)、存储器(内存)和输入输出设备等,对于理解ARM的工作原理和操作方式是必要的。
2.学习汇编语言:学习ARM处理器需要理解其指令集和汇编语言。
汇编语言是一种低级别的语言,用于与计算机硬件进行交互。
学习汇编语言可以帮助你理解ARM指令的功能和操作方式,并且可以更深入地了解ARM处理器的内部工作原理。
3.寻找合适的学习资源:有很多书籍、在线教程和视频教程可以用于学习ARM处理器。
寻找一些适合自己学习风格的资源,并坚持学习。
一些推荐的资源包括《ARM体系结构与编程》、《ARM嵌入式系统开发与应用》等。
5.进行实际项目练习:书本知识只是理论的一部分,实践才是真正掌握ARM的关键。
尝试编写一些简单的ARM汇编程序,并通过模拟器或硬件开发板进行调试和运行。
从简单的程序开始,逐渐挑战更复杂的项目,加深对ARM处理器的理解和掌握。
6.参加社区和论坛讨论:加入ARM相关技术社区和论坛,与其他ARM学习者和专业人士交流和讨论。
这样可以获取更多的学习资源和经验分享,并且可以解决在学习过程中遇到的问题。
7.持续学习和更新:由于技术的发展和更新,ARM处理器的版本和特性也在不断更新。
持续学习和更新自己的知识,关注最新的ARM处理器架构和技术趋势,可以帮助你保持竞争力并适应快速变化的嵌入式行业。
学习ARM处理器需要时间和耐心,但掌握这一技能将为你打开嵌入式系统领域的大门,并为你的职业发展提供更多机会。
arm趣味记忆方法
arm趣味记忆方法ARM趣味记忆方法ARM是一种广泛应用于嵌入式系统和移动设备的处理器架构。
在学习和掌握ARM架构时,我们可以采用一些趣味的记忆方法,帮助我们更好地理解和记忆相关的知识点。
一、ARM架构简介ARM架构是一种精简指令集计算机(RISC)架构。
它具有高效的能耗和出色的性能,在移动设备、嵌入式系统和其他各种应用中得到广泛应用。
ARM处理器有多种型号和系列,如ARM Cortex-A、Cortex-M和Cortex-R系列等。
每个系列都有不同的特点和应用领域。
二、ARM寄存器ARM架构中有一组寄存器,用于存储和处理数据。
这些寄存器分为通用寄存器、程序状态寄存器和特殊寄存器等。
其中,通用寄存器用来存储临时数据,程序状态寄存器用来存储程序的状态信息,特殊寄存器用来控制处理器的运行。
三、ARM指令集ARM指令集是一组用于控制和操作处理器的指令。
ARM指令集包括数据处理指令、分支指令、访存指令和特权指令等。
这些指令可以完成各种数据处理、跳转、访存和特权操作,实现复杂的计算和控制功能。
四、ARM编程模型ARM编程模型是一种用于编程的抽象模型,它描述了ARM处理器的寄存器和内存的布局。
ARM编程模型包括用户模式和特权模式,用户模式用于用户程序的执行,特权模式用于操作系统的执行。
在编程模型中,寄存器和内存分别有不同的用途和访问权限。
五、ARM汇编语言ARM汇编语言是一种低级语言,用于编写直接运行在ARM处理器上的程序。
ARM汇编语言使用助记符来表示指令和操作数,具有直观和紧凑的特点。
通过学习ARM汇编语言,我们可以更深入地了解ARM架构和指令集。
六、ARM调试和仿真工具在开发和调试ARM程序时,我们可以使用一些专门的工具来辅助我们的工作。
例如,ARM调试器可以用来监控程序的执行和寄存器的状态,ARM仿真器可以用来模拟ARM处理器的运行。
这些工具可以帮助我们定位和解决程序中的问题。
七、ARM应用实例ARM架构广泛应用于各种设备和系统中。
ARM初学者学习ARM的步骤
[分享]ARM初学者学习ARM的步骤很多人学完单片机就想学arm,但不知如何去学~现在列出一下学习这方面的步骤-----基于linux系统的学习步骤如下:(一步步来哦:)其实这也只是个基础,以后实际做项目了还要去学很多1、Linux 基础安装Linux操作系统Linux文件系统Linux常用命令Linux启动过程详解熟悉Linux服务能够独立安装Linux操作系统能够熟练使用Linux系统的基本命令认识Linux系统的常用服务安装Linux操作系统Linux基本命令实践设置Linux环境变量定制Linux的服务 Shell 编程基础使用vi编辑文件使用Emacs编辑文件使用其他编辑器2、Shell 编程基础Shell简介认识后台程序Bash编程熟悉Linux系统下的编辑环境熟悉Linux下的各种Shell熟练进行shell编程熟悉vi基本操作熟悉Emacs的基本操作比较不同shell的区别编写一个测试服务器是否连通的shell脚本程序编写一个查看进程是否存在的shell脚本程序编写一个带有循环语句的shell脚本程序3、Linux 下的 C 编程基础linux C语言环境概述Gcc使用方法Gdb调试技术AutoconfAutomakeMakefile代码优化熟悉Linux系统下的开发环境熟悉Gcc编译器熟悉Makefile规则编写Hello,World程序使用 make命令编译程序编写带有一个循环的程序调试一个有问题的程序4、嵌入式系统开发基础嵌入式系统概述交叉编译配置TFTP服务配置NFS服务下载Bootloader和内核嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程建立嵌入式系统开发环境制作cross_gcc工具链编译并下载U-boot编译并下载Linux内核编译并下载Linux应用程序4、嵌入式系统移植Linux内核代码平台相关代码分析ARM平台介绍平台移植的关键技术移植Linux内核到 ARM平台了解移植的概念能够移植Linux内核移植Linux2.6内核到 ARM9开发板5、嵌入式 Linux 下串口通信串行I/O的基本概念嵌入式Linux应用软件开发流程Linux系统的文件和设备与文件相关的系统调用配置超级终端和MiniCOM 能够熟悉进行串口通信熟悉文件I/O 编写串口通信程序编写多串口通信程序6、嵌入式系统中多进程程序设计Linux系统进程概述嵌入式系统的进程特点进程操作守护进程相关的系统调用了解Linux系统中进程的概念能够编写多进程程序编写多进程程序编写一个守护进程程序sleep系统调用任务管理、同步与通信 Linux任务概述任务调度管道信号共享内存任务管理 API 了解Linux系统任务管理机制熟悉进程间通信的几种方式熟悉嵌入式Linux中的任务间同步与通信编写一个简单的管道程序实现文件传输编写一个使用共享内存的程序7、嵌入式系统中多线程程序设计线程的基础知识多线程编程方法线程应用中的同步问题了解线程的概念能够编写简单的多线程程序编写一个多线程程序8、嵌入式 Linux 网络编程网络基础知识嵌入式Linux中TCP/IP网络结构socket 编程常用 API函数分析Ping命令的实现基本UDP套接口编程许可证管理PPP协议GPRS 了解嵌入式Linux网络体系结构能够进行嵌入式Linux环境下的socket 编程熟悉UDP协议、PPP协议熟悉GPRS 使用socket 编写代理服务器使用socket 编写路由器编写许可证服务器指出TCP和UDP的优缺点编写一个web服务器编写一个运行在 ARM平台的网络播放器9、GUI 程序开发GUI基础嵌入式系统GUI类型编译QT进行QT开发熟悉嵌入式系统常用的GUI能够进行QT编程使用QT编写“Hello,World”程序调试一个加入信号/槽的实例通过重载QWidget 类方法处理事件10、Linux 字符设备驱动程序设备驱动程序基础知识Linux系统的模块字符设备驱动分析fs_operation结构加载驱动程序了解设备驱动程序的概念了解Linux字符设备驱动程序结构能够编写字符设备驱动程序编写Skull驱动编写键盘驱动编写I/O驱动分析一个看门狗驱动程序对比Linux2.6内核与2.4内核中字符设备驱动的不同Linux 块设备驱动程序块设备驱动程序工作原理典型的块设备驱动程序分析块设备的读写请求队列了解Linux块设备驱动程序结构能够编写简单的块设备驱动程序比较字符设备与块设备的异同编写MMC卡驱动程序分析一个文件系统对比Linux2.6内核与2.4内核中块设备驱动的不同11、文件系统虚拟文件系统文件系统的建立ramfs内存文件系统proc文件系统devfs 文件系统MTD技术简介MTD块设备初始化MTD块设备的读写操作了解Linux系统的文件系统了解嵌入式Linux的文件系统了解MTD技术能够编写简单的文件系统为ARM9开发板添加MTD支持移植JFFS2文件系统通过proc文件系统修改操作系统参数分析romfs 文件系统源代码创建一个cramfs 文件系统ARM开发学习步骤1、做个最小系统板:如果你从没有做过ARM的开发,建议你一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。
arm汇编指令集汇编入门第一篇小白也能看懂
arm汇编指令集汇编入门第一篇小白也能看懂如今,计算机科学与技术领域发展迅猛,其中包括一门被广泛应用的指令集架构—— ARM(Advanced RISC Machines)汇编指令集。
本文将从小白角度出发,向读者介绍ARM汇编指令集的基本概念和入门知识。
1. ARM汇编简介ARM汇编指令集是一种低级程序设计语言,用于在ARM微处理器上进行编程。
它不同于高级语言如C++或Java,具有较为底层的特性。
掌握ARM汇编指令集可以让开发者更深入地理解计算机内部运行原理,并能进行更加灵活和高效的编程。
2. ARM寄存器ARM汇编指令集使用一组寄存器来存储和处理数据。
其中,常用的寄存器有13个通用寄存器(R0-R12)、程序计数器(PC)、堆栈指针(SP)和链接寄存器(LR),另外还有一些特殊用途的寄存器。
这些寄存器提供了一种基于寄存器的计算模型,使得ARM汇编具有高效处理数据的能力。
3. 指令格式ARM汇编指令集的指令格式一般包括操作码和操作数。
操作码表示具体的操作,如加法、乘法等,而操作数则指定操作所需的寄存器和立即数等。
4. 数据处理指令ARM汇编指令集提供了一系列的数据处理指令,用于对寄存器中的数据进行处理。
这些指令包括基本的算术运算、逻辑运算以及移位操作等,可以实现各种数据处理需求。
5. 分支指令分支指令是ARM汇编指令集中常用的一类指令,用于根据条件进行跳转。
跳转指令可以在程序执行过程中改变程序执行的顺序,实现条件判断和循环等功能。
6. 存储器访问指令存储器访问指令用于在ARM汇编中对内存进行读写操作。
通过这些指令,可以将数据从寄存器中存储到内存中,或者将内存中的数据加载到寄存器中进行处理。
7. 输入输出指令输入输出指令用于实现与外部设备的交互。
例如,通过输入指令可以从键盘或其他输入设备中获取用户输入的数据,而通过输出指令可以将数据输出到显示器或其他输出设备中。
8. 常用例程ARM汇编指令集中有一些常用的例程,可以用于处理常见的编程任务。
致ARM初学者
致ARM初学者1.做个最小系统板:假如你从没有做过的开发,建议你一开头不要贪大求全,把全部的应用都做好,由于ARM的启动方式和dsp或有所不同,往往会碰到各种问题,所以建议先布一个仅有Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。
使最小系统能够正常运行,你的任务就完成了一半,好在ARM的外围接口基本都是标准接口,假如你已有这些硬件的布线阅历,这对你来讲是一件很简单的事情。
2.写启动代码,按照硬件地址先写一个能够启动的小代码,包括以下部分:初始化端口,屏蔽中断,把程序拷贝到SRAM中;完成代码的重映射;配置中断句柄,衔接到入口。
大概你看到给你的一些示例程序当中,bootloader会有无数东西,但是不要被这些复杂的程序所困扰,由于你不是做开发板的,你的任务就是做段小程序,让你的应用程序能够运行下去3.认真讨论你所用的芯片的资料,尽管ARM在内核上兼容,但每家芯片都有自己的特色,编写程序时必需考虑这些问题。
尤其是女孩子,在这儿千万别有依靠心理,总想拿别人的示例程序修改,却越改越乱。
4.多看一些操作系统程序,在ARM的应用开放源代码的程序无数,要想提高自己,就要多看别人的程序,linux,uc/os-II等等这些都是很好的原码。
6.假如你是作硬件,每个厂家基本上都有针对该芯片的DEMO板原理图。
先将原理图消化。
这样你以后做设计时,对资源的分配胸有成竹。
器件的DATSHEET一定要好好消化。
7.假如做软件最好对操作系统的机理要有所了解。
固然这对软件工程师来说是小菜一碟。
但假如是硬件出身的就有点费力。
问:做最小系统板是2层还是4层好?第1页共2页。
ARM学习步骤
仓颉科技ARM学习步骤554020635ARM学习步骤:1、首先要了解什么是嵌入式,涉及到哪些东西。
假定大家从来没学过这类的知识。
第一步就是学习一下C语言,重点了解指针,指针的指针,结构体等这块,多看一些别人写的比较好的程序。
自己要多练多写,光看是没有用的。
2、第二步,想学习ARM从裸板开始,了解ARM体系的结构,工作原理。
最好之前要有一定的单片机基础,这样学习起来比较容易。
没有也没关系,那就要多花时间学习3、在了解了C语言和ARM的基本体系架构之后,就可以买一块开发板,一般开发板也不要买的太早因为学习嵌入式很难,很多人买了板之后觉得难就放弃了,这就浪费了资金。
等你基本了解了ARM之后再买也来得及,目前市场上的开发板也很多可以自己选择喜欢的。
一般价格在500-1000左右。
4、有了开发板,最重要也是最难的就是自己写程。
:到这个阶段也只能写一些裸板程序。
其实到这里都是在打基础,在写的过程中会遇到各种各样的困难,很多要自己想办法解决,熬过这个阶段学会了怎么写裸板并运行之后,就算是入门了。
5、再往下学就要涉及bootloader,linux内核等相对复杂的东西,笔者学bootloader 用的是u-boot,学习这一块就要多看一些资料,教程。
这里C语言的基础就很重要了。
代码很长很大,不需要你全部都看懂,也不需要能完全写下了。
主要看懂其中的关键部分是怎么实现的,实现的什么功能。
linux内核也是一个很大的程序文件,需要耐性和决心去看。
6、如果这些你都学完了。
就可以学习驱动的编写,U-boot的修改,操作系统的移植前面的学习一定要扎实才能很好的学好它。
没有基础的话也可以找培训班,学习下打好基础操作系统移植完成之后,就可以脱离开发板了,可以尝试做一些自己想做的。
如果你会看电路图会画PCB最好。
作者—仓颉科技。
ARM(44b0)初学者总结
这是ads输出的汇编代码,就是刚才的宏对应swi的一个实例,其中有两句
LDR r0,0xc000600
LDR r0,[r0,#0]
这些反汇编的代码是一个点led的程序的,可以看出我的小程序代码到0x0c000e10就结束了,0x0c200000是我指定的数据区起始地址。这段程序把|Image$$RO$$Limit| 开始的,长|Image$$ZI$$Base| -|Image$$RW$$Base| 的数据区拷到|Image$$RW$$Base|的对应单元,就是0x0c200000开始的一段ram中。后面还有|Image$$ZI$$ Limit|,在我的代码中是0x0c000c88,内容是0x0c200004.这其实表明我的小程序并没有rw区,只有一个初始为0的变量。
ldr r0,[r0] ;load the contents(service routine start address) of HandleXXX
str r0,[sp,#4] ;store the contents(ISR) of HandleXXX to stack
ldmfd sp!,{r0,pc} ;POP the work register and pc(jump to ISR)
另外还有一段初始化ram控制器的代码:
0x0c0001a0: e59f0458 X... LDR r0,0xc000600
0x0c0001a4: e5900000 .... LDR r0,[r0,#0]
0x0c0001a8: e58d0004 .... STR r0,[r13,#4]
3烧写flash,ADX中似乎有个写入flash的选项,我自己没有具体用过。但听说用jtag写flash会比较慢。由于nor flash或nand flash都是可以编程烧写的,即我们可以写个程序擦写flash,问题是如何读取编译出来的映像文件。这个也不用担心,adx中有个菜单把文件内容写入指定的地址中,把影响文件指定到一个ram地址,然后就用烧写程序把ram的内容拷入rom中就是了。我们有个boot程序,一个主程序要映射到rom 中.假设我把0xc20_0000开始的2m地址作rom的映像,则把boot程序导入0xc20_0000,boot的程序非常短,在 0xc20_1000开始放主程序。然后把0xc20_0000到0xc40_0000的内容全部拷入rom中(当然在导入文件前这些ram应该先被清空或写入ff.)。
十年经验教你如何学习嵌入式系统(基于ARM平台).
一、嵌入式系统的概念着重理解“嵌入”的概念主要从三个方面上来理解。
1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡.比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址, 可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。
IXP系列最高主频可以达到 1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。
IXP系列应该是目标基于ARM体系统结构下由 intel 进行整合后成Xscale内核的最高的处理器了。
2、从软件上看,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。
而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入",比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装.3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。
以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科二、嵌入式系统的分层与专业的分类.嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM初学者
一首先说说ARM的发展
可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。
广义的嵌入式无非几种:传统的什么51、A VR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。
客观的讲,工作需求量上DSP的需求比ARM要多,而ARM和FPGA 差不多。
DSP因为数字处理与通信领域的空前发展而火暴,小到MP3 射象头,大到我们军品里的控制器,应用面很广。
FPGA的兄弟一般做ANSIC(特殊芯片设计,好象是这么翻译的)。
而ARM单纯说来并不比一个单片机强多少,但是它的独特就在于不断下降的价格和提升的性能。
这完全依靠于ARM公司的战略,厉害!!很佩服他们的战略眼光!!
值得注意的是:在找工作中,企业(著名的,小的不算)对单纯的ARM硬件开发工程师并不比单片机重视,很少有大企业的职位里写“从事过ARM开发优先”。
写的多的是什么?“嵌入式LINUX”
到这相信大家看出来了吧,需要的是硬件中的软件。
二ARM是硬件还是软件
很难说,ARM是硬件,LINUX是软件。
ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。
实际中的LINUX的开发工作更多,更耗时。
从这方面说ARM应该算是软件了。
在找工作中更是这样,举个例子,联想里和ARM最接近的是“BIOS 工程师”是软件,MOTO里接近的是嵌入式LINUX工程师是软件。
而其他很多公司把嵌入式产品开发归为硬件。
所以,不要讨论这个,好好玩转自己的板子才是关键。
实在不爽你就把自己叫“嵌入式开发工程师”
三要不要买开发板买哪家
我的答案是“在你个人的学习方*”,但是如果看家是需要看这骗笔记的水平,个人推荐还是买现成的。
1 买
买板子可以把注意力集中在软件开发上,软件开发(尤其是驱动)可以不必担心自己硬件上的问题,我就是以便调试一边写驱动和程序,每次写驱动前就要先确认硬件没问题。
另外,买板子更省钱和时间,我自己做的板子,原理图PCB花了2周以上!制版又15天,回来以后焊接44B0 160个脚!那叫一个麻烦~~花了多少钱呢?2层板,制版费就300块!当然我把接口都外引了,还做了个20X18的LCD背板,板子比较大。
总体下来元件+LCD屏+PCB=11XX块!够2410的了。
再有就是买的资料相对来说比较全,但是不要指望有技术支持!都是骗人的,卖你之后就不会理你。
2 做
自己做可以更了解底层硬件,可以按照自己的要求加东西,比如我就加了GPS模块、GPRS模块、SD卡模块,扩了个IIC的35个键子的键盘、把LCD接口按照买的LCD改装了,可以用FPC线直接连接。
做的很爽的。
玩一把吗。
当然,你可以有策略的做,比如像我一样,把RAM和ROM,网络都保持和某现成的板子一样,这样他们的资料你就可以拿过来直接用,给自己留个退路。
其他的如SD了什么的自己做。
都达到了~~就是费钱,费时间。
再有就是给做的朋友几点建议:尽量拿到现成的板子,尽量多搜集其他板子的全套资料,一定要拿到一张没问题的原理图。
网上流传的原理图多数是龚俊03年画的,再这里对龚俊表达一下我的敬意!!牛人!
但是那个图有个小BUG,我指的是03版的,后来的没这问题了。
8019那地址线和地址有问题。
还有人仿照他的PDF图画的SCH,更是漏洞百出!谴责!顺便谴责把龚俊板子偷卖的人。
3 买哪家
个人感觉分3类吧
1)首先是ZLG的,资料非常的全,感觉他是真正想教你怎么开发ARM,而不是像有的公司自己技术都没做好就做个板子出来卖钱。
但是最大的不利就是价格太贵!而且主要是PHILIP的,货源比较麻烦~~可能有人说21XX系列的不贵啊,那是总线不外扩的,只能跑UCOS,不能跑UCLINUX。
但是说是话,21XX系列才是ARM7的价格性能结合点。
ARM7最适合做工业控制,ARM普及,销量都是怎么来的?都是ARM7来的,而44B0是典型的商业片子。
但是,这里如果你看中的是为工作做准备,还是选能跑UCLINUX的吧。
但是仍然作为第一个推荐,因为菜鸟时期,合适的资料太重要了!!在这里被ZLG的务实*感动!你看人家那代码写的。
2)感觉立宇泰的44B0不错
硬件没别的,就是资料比较全的说,不像有些家,原理图直接拿人家的,还错的~~
3)找个最便宜的
好象最便宜的有卖350的吧?也是没别的,就是即省了钱还省时间搜集资料,至于资料全不全,别计较了~~硬件肯定好使就行吧。
四要不要有51 A VR等单片机基础
有更好,但没有也无所谓。
两个月以前,我只是看别人做,耳濡目染~~,本科学过单片机,从来没做过。
我们这的技术主干做A VR和51,我就跟他们调过C语言程
序。
你看出来了?我是个不折不扣的菜鸟吧?
但是做这个之前我特意找了ZLG的两本书,看了里面的例子和原理图,这很重要。
例程里有汇编有C,都看懂了就OK,不用自己现写
五开发都需要学习哪些软件
总结起来最主要的有以下几个吧
1 ADS调试用
确切的说是ADS+AXD。
ADS里包含AXD。
原来都用SDT后来ARM 公司停止对SDT支持了,改支持ADS了,还是用ADS吧。
有的人的程序发布的仍然是SDT版本的,但基本都可以找到相应ADS的,新人在这里不要发蒙。
ADS是编译器,AXD是调试器。
便宜成AXF以后再在ARM的RAM里调试。
2 PLASHPGM
FLASH烧写的软件。
AXD在RAM里调试,掉电就没有了,方便程序修改。
调试好的程序再下到FLASH里,上电直接运行。
同类的软件还有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人还问FLASH不支持BIN格式文件的问题就要看我写的PLASHPGM使用了。
3 BANYANT调试代理(不知道名对不,起这么个难记的,我一般都叫它“半羊”因为知道它那几天刚吃了烤羊)
调试代理就是用它帮你使用更简单的JTAG(便宜啊)来实现原本1K 才卖的JTAG仿真器的大部分功能。
JTAG调试原理看我另一篇笔记。
简单的就可以把他理解为你自己做的JTAG的驱动就行了。
调试代理还有很多种,什么H-JTAG了、ARM7了(不知道具体叫什么,就记得可执行文件叫ARM7.EXE)都是,BANYANT比较好。
需要注意的是,没种调试代理安装方*虽然都简单但都不一样,需要看说明。
而且AXD调试之前都要运行。
省钱了,就别怕麻烦了。
4 ARM-ELF-TOOLS工具链
里面是UCLINUX开发用的工具比如ARM-ELF-GCC只类的。
工具链就是把很多工具打包在一起发布的方便你开发的东西。
具体安装方*看我另一篇笔记。
另外如果你开发LINUX就要用ARM-LINUX-TOOLS,不一样,不通用。
5 U-BOOT
大名鼎鼎的BOOTLOADER生成工具,同类的好象还有VIVI(名字很暧昧~~)
生成的BOOTLOADER烧到FLASH里,然后就可以用BOOTLOADER下载烧写其他了
有了BOOTLOADER才能下UCLINUX。
BOOTLOADER就像电脑上
的BIOS。
当然UCOS的不用这个,用什么我不知道:)
最新版本是1.1.4 具体使用方*看我另一篇笔记吧。
6 UCLINUX包
UCLINUX的源码包,不用多说了吧?建议大家用现成的先体会一下,然后再自己编译,裁剪。
因为单独UCLINUX的编辑技术上比较简单,但涉及的方面还是比较广的。
7 VMW ARE
老牌的虚拟机软件,在一个机器上虚拟出一个机器装LINUX(PC上用的),省得你来回开关机了。
记得装VMW ARE-TOOLS,安装方*在我另一篇笔记里。
六有哪些书推荐
主要推荐ZLG的三本书,有这3本再加网络就不用别的书了,其中主要推荐前2本,3是介绍体系结构的,也不错
1 ARM嵌入式LINUX系统构建与驱动开发,北航版
驱动写的很详细,前期开发介绍也很好
2 ARM 嵌入式系统实验教程(二),北航版
有ZLG2200的原理图,实验程序和注释,了解人家是怎么开发的。
3 ARM嵌入式系统基础教程
最重要的是体系结构,汇编部分介绍,看看吧,增加理论素质。
4 44B0数据手册
写在这里是强调它的重要。
不推荐ZLG早期出的红色皮的ARM什么体系结构~只类的写的太多,看烦了。
其他的书没了几本,没看见好的,大家有看过的推荐吧。