




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 怎样学习ARM嵌入式开发 Jack技术收集硅谷芯微技术学院http www threeway cc 2 开场介绍 本次课程讲什么 Howto notWhatis本次课程谁来讲 jack threeway cc本次课程适合的听众是哪些人 已经知道 了解嵌入式开发的人已经接触并有所实践 但还没摸到门道的人不包括已经从事ARM开发一年以上的熟手本次课程听完后会有什么收获 Knowashortcut 捷径 fromanewbie 菜鸟 toanb 牛人 3 今日主题 ARM嵌入式开发领域包括什么 软件开发操作系统以下的底层偏硬件驱动在简单操作系统如uC OS II之上的程序开发不包括什么 硬件设计类似Linux这样操作系统以上的纯应用开发 4 首要问题 怎样学习ARM嵌入式开发 掌握这个领域的知识全景图然后结合项目开始修炼怎样进入一个陌生的村庄 拿到这个村庄的地图并找到一条进入村庄路线 5 ARM嵌入式开发 专业词汇和所属主题领域ARM内核领域 10个细分领域 ARM芯片领域 5个细分领域 ARM工具平台领域 2个细分领域 ARM软件开发领域 3个细分领域 专业词汇举例SVCJTAGJazelleMDKfromelf 6 ARM内核领域 ARM体系结构Load Store体系 Big LittleEndian大小端格式 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 外设总线 7 ARM内核领域 ARM内核技术TrustZone Jazelle NEON Thumb 2 SIMD MMU MPUJTAG标准IEEE1149 1 TDI TDO TCK TMS TRST 边界扫描链 H jtag Banyan GiveIOARM内核分类ARM7TDMI ARM926 StrongARM XScale ARM10 ARM11 Cortex A R M SecurCoreARM汇编指令mov add sub b bl ldr str ldmfd stmfd mrs msr swi mrc mcrMMU内存管理单元VA PA I Cache D Cache WriteBuffer ContextSwitch CP15 TLB AP DomainAccessControl CacheCoherence 8 ARM芯片领域 ARM芯片外设控制器MemoryController 内存控制器 WatchDog 看门狗 GPIO 通用IO UART 串口 Timer 定时器 InterruptController 中断控制器 NandFlashController Clock PowerManagement 时钟和电源管理 DMA 直接存储访问 USBController LCDcontroller ADC IIC IIS SPI AC97 Camera MMC SD最小系统处理器 时钟 电源 PLL锁相环 存储器 通讯端口 外设接口存储器件SRAM SDRAM NorFlash NandFlashARM处理器Samsung S3C4510 S3C44B0 S3C2410 S3C2440 S3C6410 SoC设计FPGA CPLD VHDL Verilog 9 ARM工具平台领域 ARM开发调试工具SDT ADS1 2 AXD RealView KEILMDK4 11 RVMDK4 11 make hypertrm 超级终端 minicomARM命令行工具armcc armasm armlink fromelf 10 ARM软件开发领域 嵌入式操作系统VxWorks RTLinux uC OS II WinCE WM外设驱动程序volatile关键字 位操作bit 时序图Timing 管脚功能Pinfunction 外设控制 数据 状态寄存器程序的存储 加载和运行RO段 RW段 ZI段 ro base rw base 栈空间 堆空间 位置无关代码PIC 启动搬移代码 11 细分领域的自我认知 人类对于外部世界的认识在舒适区我们得心应手 但学到的东西很少 在恐慌区我们感到忧虑 恐惧 不堪重负 在学习区我们可以充分锻炼自我 挑战自我 只有持续留在 学习区 内 人才会进步 12 课堂讨论 以上提到的20个细分知识领域 请您画一张图来表示目前你的掌握了解程度 PanicZone 恐慌区 完全陌生 从来没有听过 也没有看过 LearningZone 学习区 了解 自己看过 听别人说过 熟悉 自己做过 但还不能指导别人 ComfortZone 舒适区 掌握 能够指导别人 讲述给别人 13 第二个问题 从哪里入手 重视并深刻掌握其中的核心概念寄存器地址异常和中断 14 核心概念之一 寄存器ARM内核寄存器R0 R12R13 sp R14 lr R15 pc CPSR SPSRARMSoC特殊功能寄存器SFR SpecialFunctionRegister 15 核心概念之二 地址C程序中变量的 地址 aSoC特殊功能寄存器的 地址 0 x48000000寻址方式里面的 地址 ldrr0 r1 二进制指令里面的 地址 0 xE59FF018存储芯片内部的 地址 0 x4h操作系统之上应用程序的 虚 地址 CPLD器件对应的 假 地址 16 核心概念之三 异常和中断异常是属于ARM内核体系结构的概念中断是属于ARMSoC处理器的概念了解软件中断 SWI 是实现操作系统提供系统调用的重要手段了解硬件中断 例如Timer定时器 是实现操作系统时间片的重要手段 17 行胜于言 如何实践 如何修炼 第一重找一块开发板 自己动手 给它编写一个可以实用的Bootloader 能够实现外部程序的下载 执行和固化 第二重在自己能够完整实现一个Bootloader的基础上 移植一个开源的操作系统 如uC OS II 或者Linux 第三重基于或不基于这个操作系统 实现一个面向用户的应用 如一个音频播放器 或者一个U盘 18 自我修炼之第一重境界 为什么要编写一个Bootloader 从根本上掌握一个嵌入式开发板底层的软硬件系统是怎样运转起来的时钟频率如何设置看门狗所起作用串口如何工作通讯协议如何实现库函数反汇编函数栈空间 19 自我修炼之第二重境界 为什么要移植一个操作系统 了解操作系统和底层硬件之间的依赖关系 知道哪些是移植相关的部分 即接口 定时器中断 时钟节拍 异常处理和现场保存恢复进程 进程控制块处理器现场进程的上下文切换中断级别的进程切换 20 自我修炼之第三重境界 为什么要实现一个用户应用 一个音频播放器DMA控制器 Interrupt中断控制器IIS总线UDA1341声卡芯片驱动WAV Mp3音频文件格式LCD液晶显示驱动一个U盘USB协议FAT文件系统格式SCSI命令集NandFlash存储芯片驱动 21 推荐参考资料 ARMArchitectureReferenceManual PDF PartA ARM体系结构与编程 清华大学出版社 杜春雷著
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能设备维护平台创新创业项目商业计划书
- 利用渔业废弃物生产有机肥料和饲料创新创业项目商业计划书
- 精准农业技术服务推广创新创业项目商业计划书
- 动物源天然色素提取创新创业项目商业计划书
- 功能性屠宰食品创新创业项目商业计划书
- 电商数据驱动决策支持创新创业项目商业计划书
- 国际水产养殖标准对接创新创业项目商业计划书
- 电信用户物联网设备接入服务创新创业项目商业计划书
- 2025年工业互联网平台SDN网络智能化升级与优化方案报告
- 现场培训课件
- FlowmasterV7中文技术手册
- 房屋承包出租合同
- 石油化学工业的发展历程与前景
- 青海省图书馆(二期)、美术馆、文化馆弱电智能化系统设计方案
- 化工行业的责任关怀化工行业的责任关怀
- 《滚珠丝杠螺母副》课件
- 复旦研究生入学教育考试
- 2023-2024学年九年级道德与法治上册 同步备课系列 教学设计教案(全册)
- 成熟生产线评价报告
- “高效的课件制作技巧及展示技能培训”
- 输电线路工程项目划分表
评论
0/150
提交评论