掌握ARM嵌入式开发:工具平台与学习路径

需积分: 10 9 下载量 84 浏览量 更新于2024-07-12 收藏 1.17MB PPT 举报
"本文将探讨如何学习ARM嵌入式开发,涵盖ARM开发调试工具、命令行工具以及ARM内核、芯片和软件开发领域的关键概念,旨在为初学者提供一个学习路径和知识全景图。" 在学习ARM嵌入式开发的过程中,首先需要理解的是ARM工具平台的使用。这包括各种开发和调试工具,如SDT、ADS1.2、AXD、RealView、KEIL MDK 4.11 (RVMDK4.11)等。这些工具是进行ARM编程的基础,它们提供了编译、链接和调试代码的环境。例如,make是用于自动化构建过程的工具,而hypertrm和minicom则常用于通过串口与嵌入式设备通信。 在命令行工具方面,掌握armcc、armasm、armlink和fromelf至关重要。armcc是ARM汇编编译器,armasm处理汇编语言源码,armlink负责链接生成可执行文件,fromelf则用于查看和转换二进制文件格式。 ARM内核领域涉及ARM架构的基础知识,包括Load/Store体系结构、Big/LittleEndian数据对齐、RISC/CISC指令集以及Pipeline技术。理解7种工作模式(USR、SYS、SVC、IRQ、FIQ、UND、ABT)及其在异常处理中的角色是至关重要的。此外,ARM寄存器的布局和功能,如R0-R15、CPSR/SPSR,以及异常处理机制,如异常向量表、异常优先级和现场保存与恢复,都是开发者必须掌握的内容。 ARM芯片领域则关注具体的ARM芯片,如其集成的技术如TrustZone(安全区域)、Jazelle(加速Java执行)、NEON(多媒体扩展)、Thumb-2(高效编码)、SIMD(单指令多数据)、MMU(内存管理单元)和MPU(内存保护单元)。这些特性使得ARM芯片能适应各种嵌入式应用场景。 在软件开发领域,学习者应熟悉在简单的操作系统如uC/OS-II之上进行程序开发,以及底层硬件驱动的编写。这通常涉及操作系统下的中断服务例程、设备驱动和系统调用等。 学习ARM嵌入式开发时,建议先掌握知识全景图,理解各个领域的基本概念,然后结合实际项目进行实践。通过这种方式,新手可以逐步成长为熟练的开发者。JTAG标准也是一个重要的辅助工具,它用于调试和测试硬件,特别是ARM芯片的内部结构。 ARM嵌入式开发的学习是一条涵盖硬件原理、软件编程和系统集成的综合之路。从掌握基本工具到理解复杂的内核技术,再到实践中的应用,每一个环节都需要时间和精力去钻研。对于已经有一定基础的人来说,通过这样的学习路径,可以更快地提升技能,实现从新手到专家的转变。
2011-07-22 上传
着重理解“嵌入”的概念 主要从三个方面上来理解。 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年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科