嵌入式学习笔记(44)IMX6ULL
1、GNU工具链中的gcc,ld,objcopy,objdump都是什么?各有什么作用?
gcc:编译器集合,将源代码编译成汇编文件
ld:将目标文件和库文件链接成可执行文件
objcopy:将elf文件转换成Bin文件
objdump:反汇编
2、elf文件中的.text段,.bss段和COMMON段各自都保存的是什么?
.text段:保存程序的可执行代码(机器指令)
.bss段:保存未初始化的全局变量和静态变量
COMMON段:保存未初始化的全局变量
3、连接脚本文件imx6ull.lds中都设置了什么?
设置入口点
定义内存布局
安排段的存放位置和顺序
1、什么是GIC? 2、什么是协处理器?ARM Cortex A7内核配备了几个协处理器? 3、为什么要将异常向量表重映射?如何重映射异常向量表?
1、通用中断控制器
2、协处理器是一种专用的处理单元,用于辅助主CPU执行特定任务,以提升性能或实现特定功能 CP0-CP15共16个协处理器
3、地址空间冲突:地址 0x00000000 通常被分配给ROM或Flash。这些存储器是只读或写入速度很慢。而异常处理程序可能需要修改寄存器或内存来保存状态或进行调试,这在只读存储器上是无法实现的。 灵活性:将向量表重定位到高速RAM中允许开发者动态地修改异常处理程序,便于调试和更新,而不需要重新烧写ROM/Flash。 重映射是通过写入CP15协处理器的c12寄存器来完成的,这个寄存器叫做 VBAR ,即向量表基地址寄存器。
1、什么是PLL,Prescaler,PFD?它们各自有什么作用? 2、IMX6ULL中几个PLL,几个PFD? 3、你是如何设置IMX6ULL时钟的?
1、PPL:锁相环,倍频
Prescale:预分频器,降频
PFD:phase fraction divider ,既口音升频也可以降频
2、7个PLL8个PFD
3、通过修改CCM的寄存器来配置芯片内部的多个PLL、PFD和时钟树分频器
1、什么是I2C?简述I2C发送一个字节的时序; 2、简述通过I2C写入某个设备的时序; 3、简述通过I2C读取某个设备的时序; 4、I2C在硬件设计时需要注意什么问题?
1、I2C:Inter-Integrated Circuit,一种同步、半双工、串行通信总线,由SDA(数据线)和SCL(时钟线)组成,支持多主多从设备通信。 发送一个字节时序: 主机发送起始信号 发送设备地址+写标志 从机发送ACK 写入数据 从机发送ACK 发送停止信号 2、I2C写入设备时序: 主机发送起始信号 发送设备地址+写标志 等待从机ACK 发送要写入的寄存器地址 等待从机ACK 多次写入数据字节 从机发送ACK 发送停止信号 3、I2C读取设备时序: 主机发送起始信号 发送设备地址+写标志 等待从机ACK 发送要读取的寄存器地址 等待ACK 再次发送起始信号 发送设备地址+读标志 等待从机ACK 读取数据字节 主机发送ACK 所有数据读取完后主机发送NACK 发送停止信号 4、硬件设计注意事项:必须加上拉电阻
1、什么是ADC? 2、什么是ADC的分辨率?常见的分辨率有哪些? 3、ADC的参考电压有什么用? 4、简述逐次逼近法的工作原理
1、ADC:模数转换器,是一种将连续模拟信号转换为离散数字信号的电子设备。 2、分辨率指ADC能够区分模拟输入最小变化的能力,用输出二进制位数表示。常见分辨率有8位、10位、12位、16位等。 3、参考电压为ADC提供转换基准,用于确定模拟输入电压与输出数字值之间的比例关系。 4、逐次逼近法通过逐位比较和调整:从最高位开始试探,根据比较器结果进行加减,经过N次比较得到N位数字输出。
1、什么是SPI?四线SPI的四根信号线各自作用是什么? 2、什么是时钟极性,什么是时钟相位? 3、为什么说SPI的时序分四种模式?
1. 什么是SPI?四线SPI的四根信号线各自作用是什么?
串行外设接口,是一种高速、全双工、同步的通信总线
四线SPI的四根信号线及其作用:
SCLK- 串行时钟线
同步主从设备之间数据移位和采样的时钟信号。所有数据传输都在时钟的节拍下进行。
MOSI- 主设备数据输出,从设备数据输入线
在主设备向从设备发送数据时使用。数据从主设备通过此线移位输出到从设备。
MISO- 主设备数据输入,从设备数据输出线
在从设备向主设备发送数据时使用。数据从从设备通过此线移位输出到主设备。
CS - 片选线
由主设备控制,用于选择要进行通信的特定从设备
2、时钟极性 (CPOL, Clock Polarity)
它定义了SCLK时钟信号在空闲状态(即CS有效但数据传输尚未开始或刚结束时)时的电平。
CPOL = 0:SCLK空闲时为低电平。
CPOL = 1:SCLK空闲时为高电平。
时钟相位 (CPHA, Clock Phase)
它定义了数据在时钟的第几个边沿被采样(捕获)。
CPHA = 0:数据在SCLK的第一个边沿(奇数边沿) 被采样。具体是上升沿还是下降沿,取决于CPOL。
CPHA = 1:数据在SCLK的第二个边沿(偶数边沿) 被采样。
3、时钟极性(CPOL)和时钟相位(CPHA)各有两种(0或1)可能的配置,将它们进行组合(2 x 2),就形成了四种截然不同的SPI时钟和数据时序关系,即四种工作模式。