1 / 57
文档名称:

第三章第二节thumb2指令集及汇编格式.ppt

格式:ppt   大小:4,372KB   页数:57页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第三章第二节thumb2指令集及汇编格式.ppt

上传人:小可爱 2022/8/12 文件大小:4.27 MB

下载得到文件列表

第三章第二节thumb2指令集及汇编格式.ppt

相关文档

文档介绍

文档介绍:第三章第二节thumb2指令集及汇编格式
Thumb-2指令集
同时支持16位和32位指令系统
Bit[15:11]
0b11101
0b11110
0b11111 紧邻的两个半字构成一条32位指令
其他:皆为de<>
void str_cpy(const char *src,char *dst)
{
int ch;
asm("mov r0,#1");
asm("mov r0, #1");
asm("add r0, r1");
}
IAR的固件库
由ST公司开发,包括驱动程序和应用函数的函数库
版本:
优点:
入手快
便于开发,节约时间
缺点:
结构复杂繁琐
原理不够清晰
PPP:某一外设名称
说明
每一个外设都有一个对应的源文件::

,函数声明以及变量定义等
同时,外设需要在时钟控制下工作,因此会用到时钟的头文件
说明
CM3对包括外设的所有存储设备统一编址,
该文件也包含了所有寄存器的声明
,该文件中定义了所有外设头文件的头文件,用于声明头文件,因此需要include在用户的文件中
,用户可以对此文件进行修改
外设的操作步骤
PPP代表任意外设
1. 在主应用文件中,声明一个结构PPP_InitTypeDef,例如: PPP_InitTypeDef PPP_InitStructure; 这里PPP_InitStructure是一个位于内存中的工作变量,用来初始化一个或者多个外设PPP。
外设的操作步骤
2. 为变量PPP_InitStructure的各个结构成员填入允许的值。 = val1; = val2; = valN;
3. 调用函数PPP_Init(..)来初始化外设PPP。
4. 在这一步,外设PPP已被初始化。可以调用函数PPP_Cmd(..)来使能之。PPP_Cmd(PPP, ENABLE); 可以通过调用一系列函数来使用外设。每个外设都拥有各自的功能函数。
外设的操作步骤
注:
1. 在设置一个外设前,必须调用以下一个函数来使能它的时钟: RCC_AHBPeriphClockCmd(RCC_AHBPeriph_PPPx, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_PPPx, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_PPPx, ENABLE);
2. 可以调用函数PPP_Deinit(..)来把外设PPP的所有寄存器复位为缺省值: PPP_DeInit(PPP)
外设的操作步骤
注:
3. 在外设设置完成以后,继续修改它的一些参数,可以参照如下步骤: = valX; = valY;
PPP_Init(PPP, &PPP_InitStructure);
仅为arm公司粗略设计的存储器映射图,不同厂家根据需要,设计自己的存储器映射(对应)关系,以及各存储器的大小。
关于存储器映射关系
Bit-Band
处理器存储器映射包括两个bit-banding 区域。它们分别为SRAM 和外设存储区域中的最低的1MB。
作用:将存储器别名区的一个字映射为bit-band 区的一个位
即:在别名存储区写入一个字具有对位段区的目标位执行读-改-写操作的相同效果。
目的:所有STM32F10x外设寄存器都被映射到一个位段(bit-band)区。在各个函数中对单个比特进行置1/置0操作时被大量使用,用以减小和优化代码尺寸。
Bit-Band
Bit-Band
如何对应?
映射公式:
bit_word_offset = (byte_offset x 32) + (bit_number × 4)
bit_word_addr = bit_ba