下载此文档

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


文档分类:汽车/机械/制造 | 页数:约57页 举报非法文档有奖
1/57
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/57 下载此文档
文档列表 文档介绍
第三章第二节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

第三章第二节thumb2指令集及汇编格式 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数57
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小可爱
  • 文件大小4.27 MB
  • 时间2022-08-12