ARM学习,ARM怎么学
现在学ARM机编程学哪种好
1,基于ARM芯片的Linux操作系统的开发,这是所有ARM开发中最简单的。由于参考资料齐全,因此新手一般从这里入手。在Linux环境下开发,其实不需要特别懂得ARM,只要精通C语言,了解Linux的系统编程接口就可以了。一般大学生只要有1年的实习机会,都可以学会。
2,真正学习ARM芯片的软件编程,主要是指学会ARM处理器指令集。目前,ARM处理器已经有多个系列,比如ARM7,ARM9,ARM11,Cortax-A8等等。更高级的ARM处理器其指令系统也都有所扩展。如果抛掉ARM汇编语言,只是使用C语言编程,那么就不算是精通ARM软件编程了,顶多算是精通C语言编程。如果要精通ARM汇编编程,就不是一件容易的事情了。首先你至少要明白每种不同的ARM芯片其汇编指令到底有哪些不同。在不同的软件功能要求下,如果使用特定的汇编语言来优化软件速度。比如,一个解码JPEG图片的软件,如何针对ARM9E芯片和ARM11芯片优化其解码算法?你要解决这个问题,至少你得知道JPEG图片如何解码。此外,如果一个软件要解码MP3音频,那么又该如何优化呢?你至少得懂得MP3的解码算法吧?学习ARM软件编程的主要任务就是把现有的算法用ARM芯片来实现最优化。否则没必要专门学习ARM编程。
请问学习arm 的步骤
我最近买了块s3c2440的arm9板子。然后最近学校也开了这门课。和你分享下一些学习个过程。
1.arm学习涉及到硬件知识。只是在不同的系统和利用不同的语言设计到的应该知识多少不同而已。比如,在wince系统上,你直接开发应用程序就好了。但是如果你写的程序和外部设备有关,你需要了解设备的硬件(寄存器,引脚功能之类的);如果在arm裸机中直接运行程序,那些程序很明显要时刻与硬件想关联,代码都是与引脚,中断,定时器,寄存器等直接联系的。除此之外,用c写和用汇编写,设计的硬件复杂程度稍稍不同。这些是为了说明,硬件的那些芯片的管脚等方面的知识,都是必要的。楼上比喻说的很好,程序控制的也不多是硬件,所以你要知道引脚对应的功能。
2.入门知识其实很杂。软件:汇编,c/c++,熟悉linux系统及内核。硬件:电路,微机原理等。
这个不必都准备好了才开始上手,边学边补充知识就好了。
3.怎么学?
我是先全局后具体的思维方式。我建议先从体系上去学习arm的知识。搞明白一个完整的系统是如何搭建的。那么你可以买块板子,找个任务来做。一般有配套光盘,你可以参考资料做个实际的东西。这样就可以把一个系统整体过一遍了:移植到驱动到应用程序开发。这样下来就有点感觉了。当然这只是为了建立一种直观的东西,剩下的还要具体的学习编程和硬件,甚至很多。
学习ARM的重点是什么
你好,我现在也在学习ARM,那就说说我怎么学习了吧。
1、学习ARM,那么我们不需要了解其具体的内核结构,我们会应用就行。
2、了解ARM内核中的存储器,工作模式。
3,、ARM指令(32位)和Thumb指令(16位)一定要熟记。
4、存储器的结构,分为片内Falsh,片外Falsh,片内SRAM,片外SRAM。
5、知道存储器的映射原因和中断向量的映射。
上面先学习好,都记住了看下面
1、ARM连接的外设功能模块,其含有很多的功能寄存器,需要了解
2、尽量了解ARM的启动代码和各个模块的启动代码
3、对应的各个模块都看看相关的例程
4、了解ATPC
然后再开始做一些深入的编程。
最后就得学习一种操作系统,毕竟ARM是可以跑操作系统的,推荐学习linux,学习linux后就可以开发一些驱动,应用程序。
学习ARM之前要学些什么作为基础?
模数电要学,是基础。硬件方面:PCB,万用表,示波器起码要会,不然没法调试ARM。
软件方面:汇编现在除非做底层驱动的,否则了解一下就行,ARM主要掌握ARM架构,每个模块的运行机制,寄存器设置,要想学高级的ARM,了解下ARM自带的固件库,CE系统等。你是学生吧?ARM其实就是51的高级版,没必要觉得很难,一步步来,有颗学习的心就没有问题!
焊芯片也是技能,有机会练练。连芯片都焊不好的怎么能调试?
学ARM要多长时间
移植LINUX需要2个月,要是你基础扎实的话。学习ARM硬件可能半个月就可以入门了,成为高手需要时间和工程的积累。