☆嵌入式硬件的学习:ARM 裸机 知识点总结

张开发
2026/4/10 15:40:56 15 分钟阅读

分享文章

☆嵌入式硬件的学习:ARM 裸机 知识点总结
什么是RISC、CISC?RISC 精简指令集计算机CISC 复杂指令集计算机pclrspcpsrspsr寄存器的作用pc寄存器 指向当前代码执行指令的下一条指令lr寄存器 保存函数的返回地址sp寄存器 管理栈区空间cpsr寄存器 保存程序进行到某一步的状态spsr寄存器 保存异常发生时cpsr寄存器的状态什么是MMU内存管理单元 用于管理虚拟内存到物理内存的映射从而达到提高物理内存的利用率。什么是CACHEICACHEDCACHECache 高速数据缓存直接从Cache访问数据提高CPU访问数据的效率icache 指令缓存用于指令dcache 数据缓存用于数据单总线和多总线通信区别单总线通信与一个外设进行通信时其他外设无法连接AHB总线和APB总线区别AHB总线先进高速总线连接通信速率较快的外设APB总线先进外设总线连接通信速率较慢的外设编译程序经历哪些阶段预处理1 展开头文件2宏定义替换3条件编译编译将c语言编译程汇编语言汇编将汇编语言编译为二进制计算机语言链接链接成为一个可执行的文件imx6ull的处理器内核及其指令集版本单核ARM Cortex-A7,指令集为ARMv7-AARM有几种工作方式分别是什么User非特权模式大部分任务执行在这种模式FIQ当一个高优先级中断产生时会进入这种模式IRQ当一个低优先级中断产生时会进入这种模式Supervisor当复位或软中断指令执行时会进入这种模式Abort当存取异常时会进入这种模式Undef当执行未定义指令时会进入这种模式System;使用与user模式相同寄存器集的特权模式异常处理流程1、当异常产生时, ARM core拷贝 CPSR 到 SPSR_ mode2、设置适当的 CPSR 位改变处理器状态进入 ARM 态改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断 (如果需要)保存返回地址到 LR_ mode设置 PC 为相应的异常向量3、返回时, 异常处理需要从SPSR_mode 恢复CPSR从LR_mode 恢复PCNote:这些操作只能在 ARM 态执行。ARM9和CortexA内核中分别有多少个寄存器ARM9内核中有37个处理器CortexA内核中有40个处理器什么是立即数12位立即数判断规则bblbx指令的区别栈的分类及特性ARM内核中使用的是哪种栈ARM中汇编调用c函数c调用汇编函数有什么规则GNU工具链中的gcc,ld,objcopy,objdump都是什么各自有什么作用链接脚本文件Imx6ull.lds中都设置了什么什么是单工、半双工、全双工单工收发双方固定方向只有一个半双工收发双方不固定但同一时刻只有一个方向全双工收发双方不固定同一时刻可以存在两个方向什么是串行通信什么是并行通信串行一条信号通道一位一位发送并行一组信号通道多位同时发送一般配备时钟线什么是异步通信什么是同步通信异步没有统一时钟来约束通信双方同步有统一的时钟线约束串行通信属于哪一类全双工异步串行串口通信的电气表达有哪些物理层接口TTL晶体管电平0-3.3V或者0-5V,距离厘米级RS232:负逻辑逻辑高电平-3 ~ -15有一定抗干扰能力距离:米级RS485差分信号抗干扰能力强 电平不定距离百米级引脚TXD / TX发送数据Transmit DataRXD / RX接收数据Receive DataGND地必须共地参数波特率9600、115200 bps数据位8 bit最常用停止位1 bit常用校验位None / Even / Odd流控None / RTS/CTS什么是中断CPU在处理某件事情的时候来了一个紧急事件请求要求CPU停止当前的工作去处理这个紧急请求处理完之后再回到之前被打断的地方继续进行原来的工作中断处理流程中断源发出中断请求CPU检查是否响应中断以及该中断是否被屏蔽比较中断优先级保护现场执行中断服务函数恢复现场什么是PLLPrescalerFPD他们各自有什么作用PLL锁相环电路升频Prescaler预分频器降频PFD相位分数分频imx6ull中有几个PLL几个PFD?7个PLL8个PFD简述ARM PLL的配置过程1、先选择osc_clk让step_clk为24Mhz2、将PLL1的输出改为step_clk让ARM暂时工作在24Mhz3、设置PLL之后的二分频避免ARM内核故障4、配置PLL为10565、最后改为pll1_main_clkimx6ull中的EPIT和GPT的工作原理是什么EPIT增强型周期中断定时器专注高精度周期定时与延时是 “设置即忘” 型定时器。利用计数器向下递减计数当减为设定值时产生中断利用中断进行需要执行的操作GPT通用目的定时器利用计数器向上递增计数每次测量新值与旧值进行比较当新值和旧值的差值达到设定值时满足定时条件。IIC通信的时序理解很重要1、总线空闲时时钟线SCL和数据线SDA都为高电平谁先在数据线上产生一个低电平0谁就赢得了总线的控制权总线抢占即认为发送了一个start信号通信开始作为主机发送方2、主机发送数据时遵循MSB优先原则SCL为低电平时只能发送方改变SDA接收方不能采样SDASCL为高电平时只能接收方采样SDA发送方需保证SDA稳定每一次通信都是先发送从机地址7位数据流向位0主发从接1从发主接发送完8位数据时在第9个时钟周期必须发送应答类型ACK/NACK3、数据传输都先要主机发送从机地址数据流向位0主发从接要写、读的寄存器地址4、写时序主机发送从机应答主机发送一字节数据从机回复一个应答类型从机接收到ACK就继续向从机发送数据直到收到NACK应答类型5、读时序从机发送主机应答重新发送start信号再次发送从机地址主机切换数据流向位1从发主接开始连续读取数据先应答再读取数据发ACK告诉从机我开始读了你发送数据直到主机读到倒数第二个数据时发给从机NACK告诉从机下一个数据是最后一个了你不用再发送数据了读取结束发送stop。6、stop停止SCL保持高电平时SDA从低到高并保持稳定视为通信停止什么是ADCADC模拟到数字转换器它是一种电子设备或模块用于将连续变化的模拟信号转换为离散的数字信号以便数字系统如微处理器微控制器等能够对其进行处理和分析。这里的模拟信号是狭义的模拟信号一般指的是模拟电压信号转换为数字信号什么是ADC的基准电压基准电压Vref 是 ADC 进行模数转换的参考标尺代表 ADC 能测量的最大输入电压。ADC的工作原理是什么ADCAnalog-to-Digital Converter模数转换器的核心作用是把连续的模拟电压信号转换成离散的数字量。核心原理 逐次逼近型采样保持先采样输入的模拟电压并用保持电路锁定这个值避免转换过程中电压变化。逐次比较从最高位到最低位依次用 DAC 生成的参考电压和输入电压比较确定每一位是 0 还是 1。量化编码把比较结果组合成一个二进制数字量就是最终的 ADC 采样值。结果输出把数字量存储到寄存器供 CPU 读取。简单说ADC 就是用基准电压做尺子把模拟电压 “量” 成数字。什么是ADC的分辨率常见的分辨率有哪些分辨率是 ADC 能区分的最小电压变化量由 ADC 的 ** 位数bit** 决定代表 ADC 能输出的数字量的位数。位数越多能区分的电压越小测量越精细。公式分辨率 基准电压 / (2^ 位数)常见的分辨率有8位10为12位16位假设采用12位分辨率基准电压为3.3V量化结果为n时的实际电压应该如何计算实际电压 V n × (基准电压 Vref / 2^ 分辨率)量化结果n基准电压Vref分辨率实际电压V03.312013.3120.8mv23.3121.6mvn3.312V 3.3/4096*nARM的启动流程你了解IMX6ULL 时钟系统吗

更多文章