- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 软件开发基础
第三章
软件开发基础
《DSP控制器原理与应用技术》编写组
第3章 软件开发基础
3.1 软件开发流程
3.2 汇编程序开发基础
3.3 C/C++程序开发基础
3.4 C/C++和汇编混合编程
3.5 集成开发环境及其应用
3.6 基于示例模版的驱动程序开发
3.1 软件开发流程
一、软件开发流程图
3.1 软件开发流程
二、软件开发步骤
1. 编制源程序
(1)汇编语言:速度快,效率高,直接控制硬件底层资源。
(2 )C语言:通用性、可移植性好
(3 )混合编程
2. 产生可执行代码
C工具:C编译器 (C → 汇编)
汇编工具:
汇编器 (Assembler ):汇编文件→ COFF 目标文件
连接器 (Linker ):COFF文件→可执行模块;
3. 调试代码
4. 固化代码
3.2 汇编程序开发基础
3.2.1 寻址方式与指令系统
一、寻址方式
(1)直接寻址——访问数据空间的低4M字
C28x模式: 16位DP+ 6位偏移量=22位有效物理地址
C2xLP模式: 9位DP+ 7位偏移量=16位有效物理地址。
(a )AMODE=0(C28x寻址模式)
MOVW DP, #VarA ;VarA所在页面装载DP
ADD AL, @VarA ;将VarA 的值加至AL
一、寻址方式
(2 )堆栈寻址——可访问数据空间的低64K
低64K字作为软件堆栈,由堆栈指针SP给出。
三种方式:*-SP[6bit]、*SP++和*SP--
ADD AL, *-SP[5] ;将(SP-5 )堆栈单元的16位内容
加到AL 中
MOV *SP++, AL ;将16位AL 的内容压入堆栈,且
SP=SP+1
ADD AL, *SP-- ;将16位内容弹出并加至AL 中,且
SP=SP-1
一、寻址方式
(3 )间接寻址——可访问4G字的数据空间
操作数地址指定:
32位辅助寄存器XAR0~XAR7
工作寄存器指定:
C28x:直接在指令中给出;
C2xLP:由辅助寄存器指针ARP指定。
五种方式:*XARn++ 、*--XARn 、*+XARn[AR0]、
*+XARn[AR1]和*+XARn[3bit] 。
一、寻址方式
(3 )间接寻址——可以访问整个4G字的数据空间
MOVL ACC, *XAR2++ ;将XAR2所指向存
储单元的内容装入ACC ,之后XAR2+2
MOVL ACC, *--XAR2 ;将XAR2-2,然后将
XAR2所指向存储单元的内容装入ACC
MOVL ACC, *+XAR2[AR0] ;将(XAR2+AR0 )
所指向存储单元的内容装入ACC
MOVL ACC, *+XAR2[AR1] ;将(XAR2+AR1 )
所指向存储单元的内容装入ACC
MOVL ACC, *+XAR2[5] ;将(XAR2+5 )所
指向存储单元的内容装入ACC
一、寻址方式
(4 )寄存器寻址:直接访问寄存器的内容
32位寻址:ACC 、P、XT 、XARn等
16位寻址:AL 、AH 、PL、PH、TH、T和ARn等
MOVL @ACC, XT ;32位寄存器寻址,将XT寄存器的
内容装入ACC
ADD @AH, AL ;16位寄存器寻址,AH=AH+AL
(5)数据/地址/IO空间立即寻址方式
(6)程
文档评论(0)