- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale Kinetis Freescale 我们在培养什么样的学生? * * 我们必须反思我们的工科教学 * 从ARM到Kinetis 嵌入式系统入门与实践 清华大学 薛涛 曾鸣 邵贝贝广州 Who are we ? Department of Engineering Physics Who am I ? Poke me ! gbe.tao.xue@010薛涛 清华大学 工程物理系 中国锦屏极深地下实验室CJPL 中国暗物质探测实验CDEX 清华-飞思卡尔应用研究中心 ARM Advanced RISC Machine 1983年,Roger Wilson 和 Steve Furber 在 Acorn 公司开设设计ARM处理器,而于1985年开发出来第一个样片“ARM1”. 1986年真正量产的ARM2投产,ARM2具有32位数据总线,26位地址空间,提供64MBytes的寻址范围和16个32位的寄存器,其容纳了30000个晶体管。ARM2在低功耗上有很大优势,性能强于当时的Intel 80286处理器。 ARM Advanced RISC Machine 1980年代末,Apple与 Acorn 公司合作开发新的ARM内核,Acorn 将设计团队组建为ARM公司。于1991年发布ARM6,而Apple公司使用ARM610处理器作为其 Apple Newton产品的处理器。而ARM6内核也仅占用了35000个晶体管。 随后上市的ARM7TDMI核心获得了很大成功,几乎卖出了数亿内嵌该核心的嵌入式设备。 ARM Advanced RISC Machine 2000年,ARM9与Xscale大放异彩。 ARM history ARM Advanced RISC Machine ARM Cortex-A ARM Cortex-M ARM Cortex-M ARM Cortex-M 参考网址: /zh/products/processors /cortex-m/cortex-m4-processor.php ARM Cortex-M PUSH POP ISR 1 PUSH POP ISR 2 PUSH ISR 1 POP ISR 2 26 16 26 16 12 IRQ1 IRQ2 6 12 42 CYCLES 6 CYCLES Highest Tail-chaining ARM7 26 cycles from IRQ1 to ISR1 entered Up to 42 cycles 42 cycles from ISR1 exit to ISR2 entry 16 cycles to return from ISR2 Cortex-M3/4 12 cycles from IRQ1 to ISR1 entered 12 cycles 6 cycles from ISR1 exit to ISR2 entry 12 cycles to return from ISR2 ARM Cortex-M bit banding //Without Bit-Banding LDR R0,=0//Setup Address LDR R1,[R0] //Read ORR.W R1, #0x4 //Modify bit STR R1,[R0] //Write back result //With Bit-Banding LDR R0,=0//Setup Address MOV R1, #0x1 //Setup data STR R1,[R0] //Write ARM Cortex-M Instruction ARM Cortex-M Thumb Instruction ARM Cortex-M Thumb Instruction 低寄存器 高寄存器 通 用 寄存 器 当前栈指针 链接寄存器 程序计数器 进程栈指针 主栈指针 程序状态寄存器 中断屏蔽寄存器 控制寄存器
文档评论(0)