菜鸟的ARM学习笔记proteus仿真
【ARM学习基础】 在开始ARM的学习之前,需要具备一定的基础知识,包括: 1. 熟悉前辈们的经验分享,可以从论坛或社区获取相关信息。 2. 掌握C语言编程技能,因为ARM开发通常使用C/C++语言。 3. 了解微机原理,包括二进制系统、计算机程序执行流程、数据、地址和控制总线概念,以及软件系统的基本组成。 4. 知道RISC(精简指令集)和CISC(复杂指令集)的区别,以及高级语言和低级语言的特点。 5. 了解串行传输和并行传输的基本概念。 6. 熟悉ARM架构中的普林斯顿和哈佛结构,比如ARM7、ARM9、ARM10和ARM11等。 【ARM的种类与应用】 ARM主要分为四个方向: 1. ARM核心研发,涉及IP核的设计,需要电子工程等相关背景。 2. 使用ARM IP核开发嵌入式处理器和核心板,如三星和NXP公司的产品。 3. 制作基于ARM核心板的开发板或开发其他中断产品,适用于教育和开发。 4. 在ARM开发板上进行系统软件和应用软件的开发,用于实际产品。 【ARM处理器模式与寄存器】 ARM处理器有多种工作模式,如用户模式、系统模式、管理模式、中断模式等。其中,寄存器R0-R7、R15和CPSR为所有模式共享,R8-R12除快中断模式外共享,R13、R14和SPSR在特定模式下共享。R15(PC)是程序计数器,R16(CPSR)是程序状态寄存器,R13(SP)是堆栈指针,R14(LR)是链接寄存器。 【LPC2000系列举例】 LPC2000系列是常用的ARM7微控制器。其特性包括: - 引脚功能通过PINSEL0、PINSEL1寄存器配置。 - 中断处理涉及多个中断寄存器,但具体内容未详述。 - GPIO(通用输入输出)操作,如P0口的IO0PIN、IO0SET、IO0DIR、IO0CLR寄存器管理。 - 存储器结构复杂,包括Flash和SRAM,以及I/O设备地址空间。 【存储器布局】 LPC2000的地址空间分为: 1. 4GB地址范围,内部2GB,外部2GB,高0.5GB为I/O设备地址。 2. 内部存储包括Flash和SRAM。 3. I/O部分包含VPB和AHB外设空间。 4. 使用FLASH加速模块,如MAMCR和MAMTIM寄存器控制预取处理器。 【时钟管理】 时钟系统包括cclk和pclk,可以设置振荡器模式或从属模式。PLL(锁相环)用于频率提升,相关寄存器如PLLCFG、PLLCON、PLLSTAT和PLLFEED用于配置和监控。 【定时器】 定时器如T0,基于pclk计时,32位计数器。T0TC、T0PR、T0MR0-3、T0MCR、T0EMR、T0CCR和T0CR0-3等寄存器用于配置和管理定时器行为,包括计数器初值、分频、匹配值、中断和外部匹配。 通过以上的学习和实践,可以逐步掌握ARM的基础知识,并使用Proteus和KEIL进行仿真实验,加深理解和应用能力。对于ARM的学习,理论与实践相结合是关键,不断练习和探索才能更好地掌握这个强大的微处理器体系。
剩余32页未读,继续阅读
- zhys20072020-02-28例子浅显易懂,易于理解,学习arm没有硬件使用proteus仿真是个不错的选择。
- 粉丝: 840
- 资源: 216
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- x64dbg-development-2022-09-07-14-52.zip
- 多彩吉安红色旅游网站-JAVA-基于springBoot多彩吉安红色旅游网站的设计与实现
- 本 repo 包含使用新 cv2 接口的 OpenCV-Python 库教程.zip
- 更新框架 (TUF) 的 Python 参考实现.zip
- Qos,GCC,pacing,Nack
- 章节1:Python入门视频
- 无需样板的 Python 类.zip
- ESP32 : 32-bit MCU & 2.4 GHz Wi-Fi & BT/BLE SoCs
- 博物馆文博资源库-JAVA-基于springBoot博物馆文博资源库系统设计与实现
- 旅游网站-JAVA-springboot+vue的桂林旅游网站系统设计与实现