ARM开发板(一)

嵌入式的核心工作
冯诺依曼结构:三大原则:采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。将指令和数据同时存放在存储器中,是冯·诺伊曼计算机方案的特点之一

核心行为:电子脉冲→看板子→看电路→找地址→操作这个地址

研发过程:1、提需求2、概要设计(出方案)3、两头走 硬件设计(PCB ,模具),软件设计(BSP,内核网上四层定制)4 软件研发,驱动 5、集成6、测试

拿到开发板怎么开始

1、认识光盘目录结构
2、认识板子组成及原件
3、测试烧写三大件(bootloader 引导程序,kernel内核,rootFS根文件系统)

电路从根本来说由三个部分组成:电源,负载(极管,电阻),中间环节(导线,开关)

VCC 接入电压。VDD器件内部的工作电压。VSS公共接地端电压,接地点
GND公共接地,DGND数字电路接地点 AGND模拟电路接地点
TP测试点

相关术语
流水线:取指令,译码,执行
DSP——数字信号处理
thumbEE环境变量
thumb-2 16位和32位并存的指令集
trustzone 安全结构
VFP 浮点运算机制
ADVANCE SiMD(NEON)Neon是适用于ARM Cortex-A系列处理器的一种128位SIMD(Single Instruction, Multiple Data,单指令、多数据)扩展结构
LPAE物理内存扩展
big LITTLE 一般位主处理器和协助处理器切换,如任务量大用主处理器,比如系统不动了,听听歌时用协处理器。省电

ARM A系列关键技术点
32位RISC(精简指令集)处理器,有16个32位可见寄存器,
哈弗结构(指令和数据分开存)
thumb-2指令支持
VFP和NEON可选
向后兼容
4G虚拟地址空间和最小4GB物理地址
内存虚拟页大小 4KB 6KB 1MB 16MB可选
大小端数据访问支持

有用的工具
busybox
QEMU
scratchbox
U-BOOT大名鼎鼎的开源bootloader

ARM指令-32位指令集
thumb指令-16位指令集(代码密度更高2但性能更低)
cortex——A支持thumb-2 16位和32位混合指令集

处理器有几种模式,根据不同的型号
在这里插入图片描述
编码包含在指令中,一个指令32位

扫描二维码关注公众号,回复: 10302803 查看本文章

FIQ快速中断模式
IRQ普通中断模式
SVC超级管理员模式
MON监视者模式
ABT退出模式
Hyp超级监视者
UND未定义
SYS系统模式

在这里插入图片描述
R0-R12通用寄存器
R13(SP)stack point栈指针寄存器
R14(lr)link register连接寄存器
R15(pc)program counter程序计数器
APSR CPSR应用程序寄存器,当前状态寄存器application /current program state register
SPSR saved program state register存储程序寄存器
上图中没有单独分区的在不同模式是共享的。各个模式R0-R12与USR模式共享的(处理FIQ,R8-R13),PC,CPSR也是共享的
只在user模式中叫APSR ,其他模式叫CPSR
usr模式没有SPSR

例子,程序返回其实就说MOV PC,LR
跳转 BL
BL SP跳转到sp寄存器

RAM指令能访问所有计算器
thumb指令(16位指令)只能访问R0-R7(低寄存器),不能访问R7-R12

在这里插入图片描述
M :model模式九种模式
T是thumb 是否是thumb指令,1为是
F :FIQ,是否禁用FIQ,使用1则是禁止快速中断(FIQ)
I:IRQ。是否禁用IRQ
A:abort,是否禁用异步中断模式
E:操作存储的字节顺序。(大端还是小端模式),低位存低地址为小端,低位存高地址为大端模式
IT:thumb2指令的if…then条件。arm治疗不用管这一块
GE:SIMD指令使用
reserverd被保留了没想好用来干嘛
J:是否jazell 是否启动Java的加速,若是1启动
IT与前面类似,是thumb不是thumb2
前五位是各种逻辑关系
Q:累计饱和
V:溢出操作
C:进位
Z:zero 零位 存在这里
N:negative,进行有符号的运算把相关符号存到这里

分解指令过程
指令预读取(决定从内存哪儿读取治疗)perfetch
指令读取(从内存系统中读取治疗)fetch
治疗译码(解读指令并且生成控制信号)decode
寄存器读取(提供寄存器的值给操作单元)
分配(分配指令给执行单元)
执行(实际的ALU单元处理)execute
内存访问(数据的存取)

分支预测
下一步要做的事存在寄存器中(早期的静态预测)
现在的动态预测,BTAC,BTB, L1,L2一级缓存二级缓存
以上的寄存器是内部寄存器控制CPU
而GPIO等是属于片外寄存器,控制外设的

发布了33 篇原创文章 · 获赞 4 · 访问量 2607

猜你喜欢

转载自blog.csdn.net/CNMNMSL1/article/details/105031798