嵌入式入门经典教程

上传人:yc****d 文档编号:243362177 上传时间:2024-09-21 格式:PPT 页数:23 大小:1.13MB
返回 下载 相关 举报
嵌入式入门经典教程_第1页
第1页 / 共23页
嵌入式入门经典教程_第2页
第2页 / 共23页
嵌入式入门经典教程_第3页
第3页 / 共23页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,怎样学习ARM嵌入式开发?,Jack技术收集,1,开场介绍,本次课程讲什么?,How to , not What is,本次课程谁来讲?,本次课程适合的听众是哪些人?,已经知道,了解嵌入式开发的人,已经接触并有所实践,但还没摸到门道的人,不包括已经从事ARM开发一年以上的熟手,本次课程听完后会有什么收获?,Know a shortcut(捷径) from a newbie(菜鸟) to a nb(牛人),2,今日主题,ARM嵌入式开发领域,包括什么?,软件开发,操作系统以下的底层偏硬件驱动,在简单操作系统如uC/OS-II之上的程序开发,不包括什么?,硬件设计,类似Linux这样操作系统以上的纯应用开发,3,首要问题,怎样学习ARM嵌入式开发?,掌握这个领域的知识全景图,然后结合项目开始修炼,怎样进入一个陌生的村庄?,拿到这个村庄的地图,并找到一条进入村庄路线,4,ARM嵌入式开发,专业词汇和所属主题领域,ARM内核领域(10个细分领域),ARM芯片领域(5个细分领域),ARM工具平台领域(2个细分领域),ARM软件开发领域(3个细分领域),专业词汇举例,SVC,JTAG,Jazelle,MDK,fromelf,5,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(外设总线),6,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,7,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,8,ARM工具平台领域,ARM开发调试工具,SDT,ADS1.2,AXD,RealView,KEIL MDK 4.11 (RVMDK4.11),make,hypertrm(超级终端),minicom,ARM命令行工具,armcc,armasm,armlink,fromelf,9,ARM软件开发领域,嵌入式操作系统,VxWorks,RTLinux,uC/OS-II,WinCE/WM,外设驱动程序,volatile关键字,位操作bit,时序图Timing,管脚功能Pin function,外设控制/数据/状态寄存器,程序的存储,加载和运行,RO段,RW段,ZI段,ro-base/rw-base,栈空间,堆空间,位置无关代码PIC,启动搬移代码,10,细分领域的自我认知,人类对于外部世界的认识,在舒适区我们得心应手,,但学到的东西很少 。,在恐慌区我们感到忧虑,,恐惧,不堪重负 。,在学习区我们可以充分,锻炼自我,挑战自我。,只有持续留在“学习区”内,人才会进步。,11,课堂讨论,以上提到的20个细分知识领域,请您画一张图来表示目前你的掌握了解程度。,Panic Zone(恐慌区),完全陌生(从来没有听过,也没有看过),Learning Zone(学习区),了解(自己看过,听别人说过),熟悉(自己做过,但还不能指导别人),Comfort Zone(舒适区),掌握(能够指导别人,讲述给别人),12,第二个问题,从哪里入手?,重视并深刻掌握其中的核心概念,寄存器,地址,异常和中断,13,核心概念之一,寄存器,ARM内核寄存器,R0-R12,R13(sp),R14(lr),R15(pc),CPSR, SPSR,ARM SoC 特殊功能寄存器,SFR(Special Function Register),14,核心概念之二,地址,C程序中变量的“地址” :&a,SoC 特殊功能寄存器的“地址” :0x48000000,寻址方式里面的“地址” :ldr r0, r1,二进制指令里面的“地址” :0xE59FF018,存储芯片内部的“地址” :0x4h,操作系统之上应用程序的“(虚)地址”,CPLD器件对应的“(假)地址”,15,核心概念之三,异常和中断,异常是属于ARM内核体系结构的概念,中断是属于ARM SoC处理器的概念,了解软件中断(SWI)是实现操作系统提供系统调用的重要手段,了解硬件中断(例如Timer定时器)是实现操作系统时间片的重要手段,16,行胜于言,如何实践?如何修炼?,第一重,找一块开发板,自己动手,给它,编写,一个可以实用的Bootloader,能够实现外部程序的下载,执行和固化。,第二重,在自己能够完整实现一个Bootloader的基础上,,移植,一个开源的操作系统(如uC/OS-II,或者Linux),第三重,基于或不基于这个操作系统,,实现,一个面向用户的应用。(如一个音频播放器,或者一个U盘),17,自我修炼之第一重境界,为什么要编写一个Bootloader?,从根本上掌握一个嵌入式开发板底层的软硬件系统是怎样运转起来的,时钟频率如何设置,看门狗所起作用,串口如何工作,通讯协议如何实现,库函数,反汇编,函数栈空间,18,自我修炼之第二重境界,为什么要移植一个操作系统?,了解操作系统和底层硬件之间的依赖关系,知道哪些是移植相关的部分(即,接口,),定时器中断(时钟节拍),异常处理和现场保存恢复,进程,进程控制块,处理器现场,进程的上下文切换,中断级别的进程切换,19,自我修炼之第三重境界,为什么要实现一个用户应用?,一个音频播放器,DMA控制器,Interrupt中断控制器,IIS 总线,UDA1341声卡芯片驱动,WAV/Mp3 音频文件格式,LCD液晶显示驱动,一个U盘,USB协议,FAT文件系统格式,SCSI命令集,NandFlash存储芯片驱动,20,推荐参考资料,ARM Architecture Reference Manual,PDF,Part A,ARM体系结构与编程,清华大学出版社,杜春雷著,源码开放的嵌入式系统软件分析与实践:基于SkyEye和ARM开发平台,北京航空航天大学出版社,陈渝 李明 杨晔著,uCOS-II源码公开的实时嵌入式操作系统,中国电力出版社,邵贝贝 译,21,总结,怎样学习ARM嵌入式开发?,怎样入手?,怎样修炼?,Q&A,22,硅谷芯微技术中心:,网址:,JACK技术收集,23,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!