- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
菜鸟ARM学习笔记proteus仿真
菜鸟的ARM学习笔记
下面就是我学习ARM的第一阶段的记录,这段时间的学习基本上是使用Proteus配合KEIL做简单的实验(最后有实验的目录以及下载地址)。通过该阶段的学习,算是对ARM的基本结构有了了解。
该阶段主要学习资料是《基于PROTEUS的ARM虚拟开发技术》,以及另外一本ARM体系结构的书籍,感觉这类书都差不多。
学习ARM前需要的基础
前辈学习ARM的经验! (我是在嵌入式开发联盟的新人区看的帖子。)
掌握C语言编程。
了解简单的微机算计原理知识,例如二进制,计算机程序的执行过程,总线(数据、地址、控制),软件系统(系统软件与应用软件)。
听说过RISC与CISC,高级语言与低级语言的区别。
最好听说过串行传输与并行传输。
普林斯顿(ARM7)和哈佛结构(ARM9、10、11—)。
什么是ARM?
学ARM,自然要理解ARM是什么,也好明确学习目标。网上的资料很多,“ARM是一家公司,也是一个处理器体系”……我将学ARM分为以下几类:
做ARM的核心研发。也就是进ARM公司做IP核,应该是学电子之类的东西吧。
买ARM的IP核,做具体的嵌入式处理器、核心板,例如三星和NXP。
买ARM核心板,连接外围电路制作教育用或开发用的开发板,或者直接开发其它中断产品。
买ARM开发板做产品,要做系统软件和应用软件。
3和4基本并列了。
ARM基础
任何一本介绍ARM体系结构书籍都应该有这些内容。
处理器模式
用户模式、特权模式又分为系统模式、管理模式、快中断模式、中断模式、终止模式、未定义指令终止模式。
2. 寄存器
R0-R7、R15和CPSR是所有模式共享的。R8-R12出快中断模式有RX-fiq外所有模式共享。R13、R14和SPSR只有用户模式和系统模式共享,其它都有似有SPSR。
R15(PC)程序计数器R16(CPSR)程序转台寄存器R13(SP)堆栈指针P14(LR)链接寄存器
ARM指令集 汇编程序设计
略了,我看了,但是做Proteus仿真实验没用上,两天就忘了。
LPC2000
我买的3本ARM入门书籍中有两本都是以LPC2000系列为例的,其实从网上可以下载到具体LPC2XXX处理器的datasheet,上面的资料是最权威和详尽的。
引脚选择
PINSEL0、PINSEL1设置各个引脚的功能。
中断
中断的寄存器太多了,没记。
GPIO
做输入输出。以P0口为例,寄存器有IO0PIN、IO0SET、IO0DIR、IO0CLR。
存储器
LPC2000可用地址为4GB,内部2GB(0~0x7FFFFFFF),外部2GB(00xDFFFFFFF),高0.5GB是I/O设备地址空间(0xE0000000~0xFFFFFFFF)。
内部最低128KB或256KB为Flash。
高1GB(00x7FFFFFFF)为SRAM。其中00x40001FFF为片内SRAM。
I/O部分,低2MB(0xE0000000~0xE001FFFFF)为VPB外设空间,高2MB(0xFFE00000~0xFFFFFFFF)为AHB外设空间。
FLASH加速模块。
MAMCR设置是否允许加速、MAMTIM设置预取处理器时钟。
时钟
cclk、pclk分振荡器模式和从属模式,振荡器Fosc经PLL升频为cclk,cclk经过VPB分频后为pclk。设置cclkPLLCFG 设置PLL倍频M,PLL分频器值PPLLCON PLL的允许与连接PLLSTAT 读取PLL状态PLLFEED 使PLL设置生效例Fosc=12MHz,cclk=60MHz,则M=60/12-1=4,因为Fcco=P*cclk*2(要求156M~320MHz)。设置pclk由VPBDIV设置00为4分频、01为不分频、10为二分频。
定时器
pclk定时,定时器为32位,从0计数到0xFFFFFFFF。以T0为例T0TC,计数器初值T0PR,定时计数器分频,pclk/(PR+1)T0MR0~3,匹配值,当计数带到时候,按照T0MCR的设置触发不同动作。T0MCR,计数器到达匹配值的动作(复位、中断、停止)T0EMR,外部匹配寄存器,到达匹配值时候外部引脚的操作(MAT0.0~3)T0CCR,外部引脚有特定动作时候,计数值存入T0CR0~3,设置是否触发中断T0CR0~3,在T0CCR控制下存TC值。T0TCR,复位与使能T0IR,对应MR与CR中断
PWM
看门狗
Pclk四分频后控看门狗的32为计数器减一。WDTC,看门狗计数器初值。WDMOD,看门狗工作模式,可以开启和复位看门狗。WDFEED,喂狗寄存器。WDTV
文档评论(0)