第二章MSP体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
所谓“集成开发环境”就是处理器的所有开发都在一个软 件里完成,包括工程管理、程序编译、代码下载、调试 等功能。
CCS支持所有TI公司推出的处理器,包括MSP430、ARM Cortex系列、C2000和DSP。
对于MSP430的开发,用的最多的是IAR公司的EW430。
MSP430 CPU寄存器
• R2:状态寄存器(SR):
– 存储状态位和控制位; – CPU自动改变系统标志位; – 保留位用来支持常量发生器.
15 14 13 12 11 10 Reserved for CG1
98 V
7 SCG1
6 SCG0
5 OSCOFF
4 CPUOFF
3
210
GIE N Z C
Bit
8
V
7
SCG1
6
SCG0
5
OSCOFF
4
CPUOFF
3
GIE
2
N
1
Z
0
C
Description 溢出位. V = 1 运算结果超出有符号范围 系统时钟发生器0. SCG1 = 1 当DCO未被用作MCLK或SMCLK时,关闭DCO发生器 系统时钟发生器1. SCG0 = 1 关闭FLL和循环控制 关闭振荡器. OSCOFF = 1 当LFXT1未被用作 MCLK or SMCLK时,关闭LFXT1 关闭CPU. CPUOFF = 1 禁止CPU核 使能通用中断. GIE = 1 使能中断屏蔽 负标志. N = 1 运算结果为负 零标志. Z = 1 运算结果为零 进位标志. C = 1 运算结果产生进位
+1
10
00002h
+2, bit processing
11
0FFFFh
-1, word processing
7
MSP430 CPU寄存器
• R4 - R15: 通用寄存器:
– 通用寄存器可以用来保存数据值、地址指针或者索引值,可以通过字 节或字指令访问它们。
8
• 1. MSP430 CPU有多少种类型的指令 : (a) 27种内核指令 (b) 20种内核指令和14种仿真指令 (c) 27种内核指令和24种仿真指令 (d) 24种内核指令
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
10
小测验(1/7)
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
MSP430 CPU寄存器
• R2/R3: 常量发生器 (CG1/CG2):
– 根据源寄存器寻址模式(AS)的值,常量发生寄存器可以不需要通过 代码字或代码内存访问即可生成六个常用的常量。
– 利用这个功能就可以实现仿真指令,例如:可以使用常量发生器而不 是使用一个核心指令来实现数值增一。
Register R2 R2
✓ AB:决定了CPU的寻址范围 CPU的寻址范围 = 2n, n-地址线根数
MSP430 CPU寄存器
• 包括16个16位寄存器: • 4个专用寄存器(R0, R1, R2 and R3); • 12个通用寄存器(R4~R15).
• R0:程序计数器(PC):
– 存放着下一条将要从程序存储器中取出的指令的地址。
– 第三,系统进入子函数之前,把PC的值存储到堆栈中,从子函数返 回时,再取出堆栈中的值,重新赋值给PC;
– 第四,系统堆栈在系统进入中断服务程序时,首先保护程序计数器 (PC),然后将中断矢量地址送入程序计数器,再执行中断服务程序。 中断服务程序执行完毕,遇到返回指令时,将堆栈的内容送到程序计 数器中,程序又回到原来的地方,继续执行。在函数调用之前保存的 寄存器变量、局部变量和参数都不会变。
R2 R2 R3 R3 R3 R3
As
Constant
Remarks
00
-
Register mode
01
(0)
Absolute mode
10
00004h
+4, bit processing
11
00008h
+8, bit processing
00
00000h
0, word processቤተ መጻሕፍቲ ባይዱng
01
00001h
第二章 MSP430 体系结构
MSP430 体系结构
• 模块框图:
用于传送程序或数据的总线称数据总线(DB);用于传送地址, 以识别不同的存储单元或I/O接口的一组线称为地址总线(AB) 。
MSP430 体系结构
重要的关系式
✓ DB:决定单片机的字长。例如:一个单片机有16 根数据线,那么该单片机的字长就为16,通常说 该单片机就是一个16位的单片机。
www.msp430.ubi.pt
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
15
MSP430 开发工具简介
CCS(Code Composer Studio)是TI公司推出的“集成 开发环境”IDE(Intergrated Development Environment)。
• 2. MSP430 RISC型CPU是指: (a) 基于精简指令集 (b) 基于纯模式匹配和指令的缺省 (c) 基于复杂指令集 (d) 不需要外设连接的CPU
Copyright 2009 Texas Instruments
All Rights Reserved
9
www.msp430.ubi.pt
• R1:堆栈指针(SP):
– 第一,用户可以使用堆栈存储数据,以便未来使用。(指令: 用PUSH 指令来存数据,POP指令来取数据);
– 第二,用户和编译器均可以使用堆栈为子函数传递参数 (PUSH、 POP用于调用函数,被调用的函数使用SP来计算偏移);
MSP430 CPU寄存器
• R1: 堆栈指针(SP) (续):
11
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
12
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
13
Copyright 2009 Texas Instruments All Rights Reserved
CCS支持所有TI公司推出的处理器,包括MSP430、ARM Cortex系列、C2000和DSP。
对于MSP430的开发,用的最多的是IAR公司的EW430。
MSP430 CPU寄存器
• R2:状态寄存器(SR):
– 存储状态位和控制位; – CPU自动改变系统标志位; – 保留位用来支持常量发生器.
15 14 13 12 11 10 Reserved for CG1
98 V
7 SCG1
6 SCG0
5 OSCOFF
4 CPUOFF
3
210
GIE N Z C
Bit
8
V
7
SCG1
6
SCG0
5
OSCOFF
4
CPUOFF
3
GIE
2
N
1
Z
0
C
Description 溢出位. V = 1 运算结果超出有符号范围 系统时钟发生器0. SCG1 = 1 当DCO未被用作MCLK或SMCLK时,关闭DCO发生器 系统时钟发生器1. SCG0 = 1 关闭FLL和循环控制 关闭振荡器. OSCOFF = 1 当LFXT1未被用作 MCLK or SMCLK时,关闭LFXT1 关闭CPU. CPUOFF = 1 禁止CPU核 使能通用中断. GIE = 1 使能中断屏蔽 负标志. N = 1 运算结果为负 零标志. Z = 1 运算结果为零 进位标志. C = 1 运算结果产生进位
+1
10
00002h
+2, bit processing
11
0FFFFh
-1, word processing
7
MSP430 CPU寄存器
• R4 - R15: 通用寄存器:
– 通用寄存器可以用来保存数据值、地址指针或者索引值,可以通过字 节或字指令访问它们。
8
• 1. MSP430 CPU有多少种类型的指令 : (a) 27种内核指令 (b) 20种内核指令和14种仿真指令 (c) 27种内核指令和24种仿真指令 (d) 24种内核指令
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
10
小测验(1/7)
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
MSP430 CPU寄存器
• R2/R3: 常量发生器 (CG1/CG2):
– 根据源寄存器寻址模式(AS)的值,常量发生寄存器可以不需要通过 代码字或代码内存访问即可生成六个常用的常量。
– 利用这个功能就可以实现仿真指令,例如:可以使用常量发生器而不 是使用一个核心指令来实现数值增一。
Register R2 R2
✓ AB:决定了CPU的寻址范围 CPU的寻址范围 = 2n, n-地址线根数
MSP430 CPU寄存器
• 包括16个16位寄存器: • 4个专用寄存器(R0, R1, R2 and R3); • 12个通用寄存器(R4~R15).
• R0:程序计数器(PC):
– 存放着下一条将要从程序存储器中取出的指令的地址。
– 第三,系统进入子函数之前,把PC的值存储到堆栈中,从子函数返 回时,再取出堆栈中的值,重新赋值给PC;
– 第四,系统堆栈在系统进入中断服务程序时,首先保护程序计数器 (PC),然后将中断矢量地址送入程序计数器,再执行中断服务程序。 中断服务程序执行完毕,遇到返回指令时,将堆栈的内容送到程序计 数器中,程序又回到原来的地方,继续执行。在函数调用之前保存的 寄存器变量、局部变量和参数都不会变。
R2 R2 R3 R3 R3 R3
As
Constant
Remarks
00
-
Register mode
01
(0)
Absolute mode
10
00004h
+4, bit processing
11
00008h
+8, bit processing
00
00000h
0, word processቤተ መጻሕፍቲ ባይዱng
01
00001h
第二章 MSP430 体系结构
MSP430 体系结构
• 模块框图:
用于传送程序或数据的总线称数据总线(DB);用于传送地址, 以识别不同的存储单元或I/O接口的一组线称为地址总线(AB) 。
MSP430 体系结构
重要的关系式
✓ DB:决定单片机的字长。例如:一个单片机有16 根数据线,那么该单片机的字长就为16,通常说 该单片机就是一个16位的单片机。
www.msp430.ubi.pt
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
15
MSP430 开发工具简介
CCS(Code Composer Studio)是TI公司推出的“集成 开发环境”IDE(Intergrated Development Environment)。
• 2. MSP430 RISC型CPU是指: (a) 基于精简指令集 (b) 基于纯模式匹配和指令的缺省 (c) 基于复杂指令集 (d) 不需要外设连接的CPU
Copyright 2009 Texas Instruments
All Rights Reserved
9
www.msp430.ubi.pt
• R1:堆栈指针(SP):
– 第一,用户可以使用堆栈存储数据,以便未来使用。(指令: 用PUSH 指令来存数据,POP指令来取数据);
– 第二,用户和编译器均可以使用堆栈为子函数传递参数 (PUSH、 POP用于调用函数,被调用的函数使用SP来计算偏移);
MSP430 CPU寄存器
• R1: 堆栈指针(SP) (续):
11
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
12
Copyright 2009 Texas Instruments All Rights Reserved
www.msp430.ubi.pt
13
Copyright 2009 Texas Instruments All Rights Reserved