| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> arm基本知识 -> 正文阅读 |
|
[嵌入式]arm基本知识 |
计算机的基本组成:
???寄存器 ???cache ???内存 ???外存 从下往上:速度越来越快,容量越来越小,价格越来越高 回忆一下:volatile(易变的) ?防止编译器优化 int a = 10; 编译器优化:a就会在cache中有备份,cpu每次操作都从cache中取a的值 编译器不优化:a只会在内存中,cpu要取a的值只能到内存中拿 ?? but:a的值如果经常变化,此时的变化是内存中发生了变化,cache中并没有发生改变,cache里使用的还是a最初的那个值,没有实时更新 解决方法:volatile int a = 10;
识别原理图: 电阻:限流 电容:滤波 NorFlash:可以直接运行程序,而且不需要初始化 NandFlash:需要初始化,不能直接运行程序,需要和内存配合使用
3.1什么是ARM指令集: RISC ?精简指令集,指令简单且少,cpu设计相对简单,电路也少,功耗低,成本低 CISC 复杂指令集,指令很多,cpu设计负载,功耗较高,成本较高 三层含义:1、一类处理器的统称 ?2、一个公司的名称 ?3、代表了一种技术 RISC的全称是"精简指令集计算机"(reduced instruction set computer),它支持的指令比较简单,所以功耗小、价格便宜,特别合适移动设备。 3.2ARM公司的商业模式不生产和销售芯片,只设计芯片,然后将设计版权授权给一些生产和销售芯片的厂商 3.3ARM的芯片型号我们上课用的处理器型号是samsung的exynos4412,core的型号是cortex-A9,体系架构是armv7 ARM的体系架构型号:ARMv1 ??ARMV2 ?.... ARMV7 ?ARMV8 ?比如:设计一栋楼的框架 ARM core的型号:ARM1 ?ARM2......ARM11 ?Cortex-A ?Cortex-R ?Cortex-M ?比如:在楼的框架的基础上设计了管道 芯片(Soc)型号:生产厂商起的名字 ?比如:开发商将楼盖好之后,给楼起个名字 注意:不同的处理器架构,它的指令集是不一样的 ARMv7、arm11之后,arm core的命名方式发生了改变 cortex-A:应用级处理器 ?比如:手机、平板。。。 ?linux系统 cortex-M:控制 ?单片机方向 cortex-R:实时处理器 ?RTOS Soc:system on chip ?--- 一个芯片就好比一个系统 3.4ARM体系结构?ARM 有8个基本工作模式: User : 非特权模式,大部分任务执行在这种模式 FIQ : ??当一个高优先级(fast) 中断产生时将会进入这种模式 IRQ : ??当一个低优先级(normal) 中断产生时将会进入这种模式 Supervisor :当复位或软中断指令执行时将会进入这种模式 Abort : 当存取异常时将会进入这种模式 Undef : 当执行未定义指令时会进入这种模式 System : 使用和User模式相同寄存器集的特权模式 Cortex-A特有模式: Monitor : 是为了安全而扩展出的用于执行安全监控代码的模式; 一共有40个寄存器,如果不算monitor模式,一共有37个寄存器 其中:r0-r12就是普通的通用寄存器 r13:sp ?指向栈顶的指针 r14:lr ?保存返回地址 r15:pc ?程序计数器 ?反应出来程序的运行位置 cpsr:程序状态寄存器 spsr:保存程序状态寄存器
参考环境搭建.c 作业: 1) 说出ARM可以工作的模式名字。 2) ARM核有多少个寄存器? 3)PC和LR寄存器的别名? 4) R13别名是什么? 5) 哪种模式使用的寄存器最少? 6) CPSR的哪 2 位反映了处理器的状态? 7) ARM有哪几个异常源。 8) ARM有哪几种异常模式。 9) 在复位后,ARM处理器处于何种模式、何种状态? ? ??? ??? 搭建环境,测试 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:32:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |