嵌入式入门经典教程

上传人:san****019 文档编号:23026328 上传时间:2021-06-03 格式:PPT 页数:23 大小:1.36MB
返回 下载 相关 举报
嵌入式入门经典教程_第1页
第1页 / 共23页
嵌入式入门经典教程_第2页
第2页 / 共23页
嵌入式入门经典教程_第3页
第3页 / 共23页
点击查看更多>>
资源描述
1 怎样学习ARM嵌入式开发? 2 开场介绍n本次课程讲什么?n How to , not What isn本次课程谁来讲?n jackthreeway.ccn本次课程适合的听众是哪些人?n已经知道,了解嵌入式开发的人 n已经接触并有所实践,但还没摸到门道的人n不包括已经从事ARM开发一年以上的熟手n本次课程听完后会有什么收获?n Know a shortcut(捷径) from a newbie(菜鸟) to a nb(牛人) 3 今日主题n ARM嵌入式开发领域n包括什么?n软件开发n操作系统以下的底层偏硬件驱动 n在简单操作系统如uC/OS-II之上的程序开发n不包括什么?n硬件设计n类似Linux这样操作系统以上的纯应用开发 4 首要问题n怎样学习ARM嵌入式开发?n掌握这个领域的知识全景图n然后结合项目开始修炼n怎样进入一个陌生的村庄? n拿到这个村庄的地图n并找到一条进入村庄路线 5 ARM嵌入式开发n专业词汇和所属主题领域n ARM内核领域(10个细分领域)n ARM芯片领域(5个细分领域)n ARM工具平台领域(2个细分领域)n ARM软件开发领域(3个细分领域)n专业词汇举例 n SVCn JTAGn Jazellen MDKn fromelf 6 ARM内核领域n ARM体系结构n Load/Store体系,Big/Little Endian大小端格式,RISC/CISC指令集,Pipeline流水线n ARM工作模式n 7种工作模式:USR,SYS,SVC,IRQ,FIQ,UND,ABT;其中5种异常模式 n ARM寄存器 n 37个寄存器:R0-R12, R13(SP),R14(LR),R15(PC),CPSR(SPSR) n ARM异常n 7种异常,异常向量表,异常优先级,异常处理程序,处理器现场,现场的保存和恢复n AMBA总线n AHB(高性能总线),ASB(系统总线),APB(外设总线) 7 ARM内核领域n ARM内核技术n TrustZone,Jazelle,NEON,Thumb-2,SIMD,MMU,MPU n JTAG标准n IEEE1149.1,TDI,TDO,TCK,TMS,TRST,边界扫描链,H-jtag,Banyan,GiveIO n ARM内核分类 n ARM7TDMI,ARM926,StrongARM/XScale,ARM10,ARM11,Cortex-(A/R/M),SecurCoren ARM汇编指令n mov,add,sub,b,bl,ldr,str,ldmfd,stmfd,mrs,msr,swi,mrc,mcrn MMU内存管理单元n VA/PA,I-Cache/D-Cache,Write Buffer,Context Switch,CP15,TLB,AP,Domain Access Control,Cache Coherence 8 ARM芯片领域n ARM芯片外设控制器n 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/SDn最小系统 n处理器,时钟,电源,PLL锁相环,存储器,通讯端口,外设接口n存储器件n SRAM,SDRAM,Nor Flash,Nand Flashn ARM处理器n Samsung: S3C4510,S3C44B0,S3C2410,S3C2440,S3C6410,n SoC设计n FPGA,CPLD,VHDL,Verilog 9 ARM工具平台领域n ARM开发调试工具n SDT,ADS1.2,AXD,RealView,KEIL MDK 4.11 (RVMDK4.11)n make,hypertrm(超级终端),minicomn ARM命令行工具n armcc,armasm,armlink,fromelf 10 ARM软件开发领域n嵌入式操作系统n VxWorks,RTLinux,uC/OS-II,WinCE/WMn外设驱动程序n volatile关键字,位操作bit,时序图Timing,管脚功能Pin function,外设控制/数据/状态寄存器n程序的存储,加载和运行 n RO段,RW段,ZI段,ro-base/rw-base,栈空间,堆空间,位置无关代码PIC,启动搬移代码 11 细分领域的自我认知n人类对于外部世界的认识 n在舒适区我们得心应手,但学到的东西很少 。n在恐慌区我们感到忧虑,恐惧,不堪重负 。n在学习区我们可以充分锻炼自我,挑战自我。 n只有持续留在“学习区”内,人才会进步。 12 课堂讨论n以上提到的20个细分知识领域,请您画一张图来表示目前你的掌握了解程度。n Panic Zone(恐慌区)n完全陌生(从来没有听过,也没有看过)n Learning Zone(学习区) n了解(自己看过,听别人说过)n熟悉(自己做过,但还不能指导别人)n Comfort Zone(舒适区)n掌握(能够指导别人,讲述给别人) 13 第二个问题n从哪里入手?n重视并深刻掌握其中的核心概念n寄存器n地址 n异常和中断 14 核心概念之一n寄存器n ARM内核寄存器 n R0-R12n R13(sp)n R14(lr) n R15(pc)n CPSR, SPSRn ARM SoC 特殊功能寄存器n SFR(Special Function Register) 15 核心概念之二n地址n C程序中变量的“地址” :&an SoC 特殊功能寄存器的“地址” :0 x48000000n寻址方式里面的“地址” :ldr r0, r1n二进制指令里面的“地址” :0 xE59FF018 n存储芯片内部的“地址” :0 x4hn操作系统之上应用程序的“(虚)地址” n CPLD器件对应的“(假)地址” 16 核心概念之三n异常和中断n异常是属于ARM内核体系结构的概念n中断是属于ARM SoC处理器的概念n了解软件中断(SWI)是实现操作系统提供系统调用的重要手段n了解硬件中断(例如Timer定时器)是实现操作系统时间片的重要手段 17 行胜于言n如何实践?如何修炼?n第一重n找一块开发板,自己动手,给它编写一个可以实用的Bootloader,能够实现外部程序的下载,执行和固化。n第二重 n在自己能够完整实现一个Bootloader的基础上,移植一个开源的操作系统(如uC/OS-II,或者Linux)n第三重n基于或不基于这个操作系统,实现一个面向用户的应用。(如一个音频播放器,或者一个U盘) 18 自我修炼之第一重境界n为什么要编写一个Bootloader?n从根本上掌握一个嵌入式开发板底层的软硬件系统是怎样运转起来的n时钟频率如何设置 n看门狗所起作用n串口如何工作n通讯协议如何实现n库函数n反汇编n函数栈空间 19 自我修炼之第二重境界n为什么要移植一个操作系统?n了解操作系统和底层硬件之间的依赖关系,知道哪些是移植相关的部分(即接口)n定时器中断(时钟节拍)n异常处理和现场保存恢复 n进程,进程控制块n处理器现场n进程的上下文切换n中断级别的进程切换 20 自我修炼之第三重境界n为什么要实现一个用户应用?n一个音频播放器n DMA控制器,Interrupt中断控制器n IIS 总线n UDA1341声卡芯片驱动 n WAV/Mp3 音频文件格式n LCD液晶显示驱动n一个U盘n USB协议n FAT文件系统格式n SCSI命令集n NandFlash存储芯片驱动 21 推荐参考资料nARM Architecture Reference Manualn PDF,Part AnARM体系结构与编程n清华大学出版社,杜春雷著n源码开放的嵌入式系统软件分析与实践:基于SkyEye和ARM开发平台 n北京航空航天大学出版社,陈渝 李明 杨晔著nuCOS-II源码公开的实时嵌入式操作系统n中国电力出版社,邵贝贝 译 22 总结n怎样学习ARM嵌入式开发?n怎样入手?n怎样修炼? n Q&A 23 n 硅谷芯微技术中心:网址:www.threeway.ccJACK技术收集
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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