- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
怎样学习ARM嵌入式开发?
Jack技术收集
硅谷芯微技术学院
http://www.threeway.cc
开场介绍
本次课程讲什么?
How to , not What is
本次课程谁来讲?
jack@threeway.cc
本次课程适合的听众是哪些人?
已经知道,了解嵌入式开发的人
已经接触并有所实践,但还没摸到门道的人
不包括已经从事ARM开发一年以上的熟手
本次课程听完后会有什么收获?
Know a shortcut(捷径) from a newbie(菜鸟) to a nb(牛人)
今日主题
ARM嵌入式开发领域
包括什么?
软件开发
操作系统以下的底层偏硬件驱动
在简单操作系统如uC/OS-II之上的程序开发
不包括什么?
硬件设计
类似Linux这样操作系统以上的纯应用开发
首要问题
怎样学习ARM嵌入式开发?
掌握这个领域的知识全景图
然后结合项目开始修炼
怎样进入一个陌生的村庄?
拿到这个村庄的地图
并找到一条进入村庄路线
ARM嵌入式开发
专业词汇和所属主题领域
ARM内核领域(10个细分领域)
ARM芯片领域(5个细分领域)
ARM工具平台领域(2个细分领域)
ARM软件开发领域(3个细分领域)
专业词汇举例
SVC
JTAG
Jazelle
MDK
fromelf
ARM内核领域
ARM体系结构
Load/Store体系,Big/Little Endian大小端格式,RISC/CISC指令集,Pipeline流水线
ARM工作模式
7种工作模式:USR,SYS,SVC,IRQ,FIQ,UND,ABT;其中5种异常模式
ARM寄存器
37个寄存器:R0-R12, R13(SP),R14(LR),R15(PC),CPSR(SPSR)
ARM异常
7种异常,异常向量表,异常优先级,异常处理程序,处理器现场,现场的保存和恢复
AMBA总线
AHB(高性能总线),ASB(系统总线),APB(外设总线)
ARM内核领域
ARM内核技术
TrustZone,Jazelle,NEON,Thumb-2,SIMD,MMU,MPU
JTAG标准
IEEE1149.1,TDI,TDO,TCK,TMS,TRST,边界扫描链,H-jtag,Banyan,GiveIO
ARM内核分类
ARM7TDMI,ARM926,StrongARM/XScale,ARM10,ARM11,Cortex-(A/R/M),SecurCore
ARM汇编指令
mov,add,sub,b,bl,ldr,str,ldmfd,stmfd,mrs,msr,swi,mrc,mcr
MMU内存管理单元
VA/PA,I-Cache/D-Cache,Write Buffer,Context Switch,CP15,TLB,AP,Domain Access Control,Cache Coherence
ARM芯片领域
ARM芯片外设控制器
Memory Controller(内存控制器),WatchDog(看门狗),GPIO(通用IO),UART(串口),Timer(定时器),Interrupt Controller(中断控制器),Nand Flash Controller,Clock Power Management(时钟和电源管理),DMA(直接存储访问),USB Controller,LCD controller,ADC,IIC,IIS,SPI,AC97,Camera,MMC/SD
最小系统
处理器,时钟,电源,PLL锁相环,存储器,通讯端口,外设接口
存储器件
SRAM,SDRAM,Nor Flash,Nand Flash
ARM处理器
Samsung: S3C4510,S3C44B0,S3C2410,S3C2440,S3C6410,
SoC设计
FPGA,CPLD,VHDL,Verilog
ARM工具平台领域
ARM开发调试工具
SDT,ADS1.2,AXD,RealView,KEIL MDK 4.11 (RVMDK4.11)
make,hypertrm(超级终端),minicom
ARM命令行工具
armcc,armasm,armlink,fromelf
ARM软件开发领域
嵌入式操作系统
VxWorks,RTLinux,uC/OS-II,WinCE/WM
外设驱动程序
volatile关键字,位操作bit,时序图Timing,管脚功能Pin function,外设控制/数据/状态寄存器
程序的存储,加载和运行
RO段,RW段,ZI段,ro-base/rw-base,栈空间,堆空间,位置无关代码PIC,启动搬移代码
细分领域的自我认知
人类对于外部世界的认识
在舒适区我们得心应手,
但学到的东西很少 。
在恐慌区我们感到忧虑,
恐惧,不
文档评论(0)