《DSP控制器原理及应用技术》第3章--软件开发基础ppt课件.ppt
为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能第三章第三章 软件开发基础软件开发基础工信部十二五规划教材工信部十二五规划教材DSP控制器原理与应用技术控制器原理与应用技术编写组编写组为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能第第3章章软件开发基础软件开发基础3.1软件开发流程软件开发流程3.2汇编程序开发基础汇编程序开发基础3.3C/C+程序开发基础程序开发基础3.4C/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.1寻址方式与指令系统寻址方式与指令系统一、寻址方式一、寻址方式(1)直接寻址)直接寻址访问数据空间的低访问数据空间的低4M字字C28x模式:模式:16位位DP+6位偏移量位偏移量=22位有效物理地址位有效物理地址C2xLP模式:模式:9位位DP+7位偏移量位偏移量=16位有效物理地址。位有效物理地址。(a)AMODE=0(C28x寻址模式)寻址模式)MOVWDP,#VarA;VarA所在页面装载所在页面装载DPADDAL,VarA;将将VarA的值加至的值加至AL3.2汇编程序开发基础汇编程序开发基础为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能(2)堆栈寻址)堆栈寻址可访问数据空间的低可访问数据空间的低64K低低64K字作为软件堆栈,由堆栈指针字作为软件堆栈,由堆栈指针SP给出。给出。三种方式:三种方式:*-SP6bit、*SP+和和*SP-ADDAL,*-SP5;将(将(SP-5)堆栈单元的)堆栈单元的16位内容位内容加到加到AL中中MOV*SP+,AL;将将16位位AL的内容压入堆栈,且的内容压入堆栈,且SP=SP+1ADDAL,*SP-;将将16位内容弹出并加至位内容弹出并加至AL中,且中,且SP=SP-1一、寻址方式一、寻址方式为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能(3)间接寻址)间接寻址可访问可访问4G字的数据空间字的数据空间操作数地址指定:操作数地址指定:32位辅助寄存器位辅助寄存器XAR0XAR7工作寄存器指定:工作寄存器指定:C28x:直接在指令中给出;:直接在指令中给出;C2xLP:由辅助寄存器指针:由辅助寄存器指针ARP指定。指定。五种方式:五种方式:*XARn+、*-XARn、*+XARnAR0、*+XARnAR1和和*+XARn3bit。一、寻址方式一、寻址方式为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能(3)间接寻址)间接寻址可以访问整个可以访问整个4G字的数据空间字的数据空间MOVLACC,*XAR2+;将将XAR2所指向存所指向存储单元的内容装入储单元的内容装入ACC,之后,之后XAR2+2MOVLACC,*-XAR2;将将XAR2-2,然后将,然后将XAR2所指向存储单元的内容装入所指向存储单元的内容装入ACCMOVLACC,*+XAR2AR0;将(将(XAR2+AR0)所指向存储单元的内容装入所指向存储单元的内容装入ACCMOVLACC,*+XAR2AR1;将(将(XAR2+AR1)所指向存储单元的内容装入所指向存储单元的内容装入ACCMOVLACC,*+XAR25;将(将(XAR2+5)所)所指向存储单元的内容装入指向存储单元的内容装入ACC一、寻址方式一、寻址方式为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能(4)寄存器寻址)寄存器寻址:直接访问寄存器的内容:直接访问寄存器的内容32位寻址:位寻址:ACC、P、XT、XARn等等16位寻址:位寻址:AL、AH、PL、PH、TH、T和和ARn等等MOVLACC,XT;32位寄存器寻址,将位寄存器寻址,将XT寄存器的寄存器的内容装入内容装入ACCADDAH,AL;16位寄存器寻址,位寄存器寻址,AH=AH+AL(5)数据)数据/地址地址/IO空间立即寻址方式空间立即寻址方式(6)程序空间间接寻址方式。)程序空间间接寻址方式。一、寻址方式一、寻址方式为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.2.1寻址方式与指令系统寻址方式与指令系统语法:语法:操作码操作码目的操作数目的操作数,源操作数源操作数操作码:操作码:指示处理器所要执行的操作;指示处理器所要执行的操作;操作数:操作数:指示指令执行过程中所需数据(或其地址)。指示指令执行过程中所需数据(或其地址)。例如:例如:ADDACC,#16位常数位常数allocation加加载载的位置。的位置。语语法:法:load=allocation或或 load allocation或或 allocation为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.连接器命令文件连接器命令文件 连接时可编写一个通用的连接器命令文件模板:连接时可编写一个通用的连接器命令文件模板:MEMORY:定义存储器及其地址:定义存储器及其地址;SECTIONS:将各输出段定位到相应存储区。将各输出段定位到相应存储区。MEMEORYPAGE0:/*程序空间程序空间*/ZONE0:origin=0 x004000,length=0 x001000/*XINTFzone0*/RAML0:origin=0 x008000,length=0 x001000/*on-chipRAMblockL0*/SECTIONS/*分配程序区域分配程序区域:*/.cinit:FLASHAPAGE=0.pinit:FLASHA,PAGE=0.text:FLASHAPAGE=0为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.2.4汇编程序设计汇编程序设计一、一、汇编伪指令汇编伪指令1.定义段的伪指令定义段的伪指令伪指令伪指令语法语法功能描述功能描述.text.text将其后的源语句汇编至将其后的源语句汇编至.text(代码)段(代码)段.data.data将其后的源语句汇编至将其后的源语句汇编至.data(数据)段(数据)段.sect.sect“段名段名”将其后源语句汇编至将其后源语句汇编至“段名段名”规定的段内规定的段内.bss.bss 符号符号,字长字长在在.bss段内保留字长(字数)段内保留字长(字数).usect符号符号.usect“段名段名”,字长,字长在未初始化自定义段在未初始化自定义段“段名段名”中保留字长中保留字长2.初始化常数的伪指令初始化常数的伪指令.space位位长长(在当前段内保留位(在当前段内保留位长长,并填,并填0).word数数值值列表(将一个或者多个列表(将一个或者多个16位初始化数位初始化数值值存存放在当前段内放在当前段内连续连续个存个存储单储单元中。)元中。)为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能(1)语语法:法:.include“文件名文件名”功能:通知功能:通知汇编汇编器从指定文件器从指定文件读读取源取源语语句。句。(2)语语法:法:.def/.ref/.global 符号名列表符号名列表.def(定(定义义):在当前模):在当前模块块定定义义而在其它模而在其它模块块中引用中引用.ref(引用):在当前模(引用):在当前模块块引用而在其它模引用而在其它模块块中定中定义义.global(全局):可以是以上(全局):可以是以上2种情况种情况3.引用其它文件的伪指令引用其它文件的伪指令二、示例文件二、示例文件l例例3.2(10+2)的汇编语言程序代码)的汇编语言程序代码*.global_main.text_main:MOVACC,#10MOVT,#2ADDACC,T为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.3.1TMS320 x28xxC/C+优化编译器优化编译器1、C/C+编译器编译器支持支持ANSIC和和ISO/IET14882-1998C+:能将标准能将标准ANSIC/C+程序转换成相应的汇编程序。程序转换成相应的汇编程序。3.3C/C+程序开发基础程序开发基础C编译器中包含了运行支持库编译器中包含了运行支持库(.lib)。2、代码的优化代码的优化优化目的:优化目的:提高程序执行速度,缩减程序代码。提高程序执行速度,缩减程序代码。优化操作:优化操作:简化循环、软件流水线操作、重组语句或简化简化循环、软件流水线操作、重组语句或简化表达式,变量重定位等表达式,变量重定位等优化等级优化等级:0、1、2、3、4数字越大,优化等级越高。数字越大,优化等级越高。为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能一、一、C语言数据类型语言数据类型1.变量和标识符变量和标识符:3.3.2C/C+编程基础编程基础2.数据类型数据类型为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能二二、C语言关键词语言关键词1.interrupt关键字关键字作用:定义中断服务程序(中断函数)。作用:定义中断服务程序(中断函数)。voidinterrupt函数名函数名()2.ioport关键字关键字作用:定义作用:定义C中访问中访问IO端口空间的端口变量。端口空间的端口变量。ioport类型标示符类型标示符端口编号端口编号端口编号为端口编号为16进制表示的进制表示的I/O端口的绝对地址。端口的绝对地址。C28xI/O空间与存储空间统一,故不使用该关键字。空间与存储空间统一,故不使用该关键字。3.volatile关键字关键字作用:避免变量被优化。作用:避免变量被优化。通知编译器每次访问被声明变量时均需从其地址读取。通知编译器每次访问被声明变量时均需从其地址读取。4.register关键字关键字作用:定义寄存器变量,以加快访问速度。作用:定义寄存器变量,以加快访问速度。为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能二二、C语言关键词语言关键词5.cregister关键字关键字作用:在作用:在C中直接访问中直接访问IER和和IFR。例如:。例如:externcregistervolatileunsignedintIER;IER|=0 x0100;volume=4.0/3.0*PI*radius*radius*radius6.inline关键字关键字作用:定义可直接插入被调用处的短小函数。作用:定义可直接插入被调用处的短小函数。inlineintvolume_sphere(floatr)retrurn4.0/3.0*PI*r*r*r;volume=volume_sphere(radius);7.const关键字关键字作用:保护变量或数组的值不被改变。作用:保护变量或数组的值不被改变。8.far关键字关键字作用:指定作用:指定22位长度的指针位长度的指针。intfarsym;/*声明声明sym位于远内存,为位于远内存,为far类型的变量类型的变量*/为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能#pragma告诉预处理器怎样对待函数告诉预处理器怎样对待函数三三、#pragma预编译器指令预编译器指令1.CODE_ALIGN作用:为某一段程序指定特定的代码存储边界,以保证某函作用:为某一段程序指定特定的代码存储边界,以保证某函数代码存于特定位置。数代码存于特定位置。#pragmaCODE_ALIGN(func,constant)#pragmaCODE_ALIGN(constant)constant必须是必须是2的幂次,以保证内存边界的幂次,以保证内存边界2.CODE_SECTION:作用:为某一段程序指定特定的代码存储段,以便单独分配作用:为某一段程序指定特定的代码存储段,以便单独分配存储空间存储空间为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能作用:为某一段数据指定特定的数据存储段,以便单独分配作用:为某一段数据指定特定的数据存储段,以便单独分配存储空间。存储空间。#pragmaDATA_SECTION(symbol,“section_name”)为变量为变量symbol在在“section_name”段内分配空间,可将段内分配空间,可将其定位至其定位至.bss以外的空间以外的空间例:例:#pragmaDATA_SECTION(bufferB,“BufferB_sect”)charbufferB512;3.DATA_SECTIONSECTIONSBufferB_sect:RAML4PAGE1为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能4.INTERRUPT作用:指明函数为中断处理函数作用:指明函数为中断处理函数5.FAST_FUNC_CALL作用:允许在作用:允许在C/C+中直接调用汇编编写的函数。中直接调用汇编编写的函数。调用时采用快速函数调用调用时采用快速函数调用(FFC)机制。调用更快速。机制。调用更快速。函数返回时的函数返回时的asm代码是:代码是:LB*XAR76.FUNC_EXT_CALLED作用:保证程序执行期间未调用的函数不被优化掉。作用:保证程序执行期间未调用的函数不被优化掉。混合编程中,可用于防止汇编调用的函数被优化掉。混合编程中,可用于防止汇编调用的函数被优化掉。7.MUST_ITERATE作用:指明循环必须执行的次数,以防止循环被优化掉。语法:作用:指明循环必须执行的次数,以防止循环被优化掉。语法:为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能四四、中断处理方法、中断处理方法中断处理方法:中断处理方法:使用中断服务函数。使用中断服务函数。中断函数定义方法:中断函数定义方法:以以c_intd(d为数字)为名称定义(为数字)为名称定义(c_int00保留)保留)利用关键字利用关键字interrupt定义定义利用利用#pragma指令指令INTERRUPT定义定义中断服务程序使用规则:中断服务程序使用规则:中断服务程序无参数。中断服务程序无参数。调用效率极低。调用效率极低。某中断提供中断服务程序时,必须将其地址赋给相应中断某中断提供中断服务程序时,必须将其地址赋给相应中断向量。向量。为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.4.1C/C+编译器运行环境编译器运行环境一、一、C系统堆栈系统堆栈作用:作用:存放局部变量,传递函数参数,保存处理器状存放局部变量,传递函数参数,保存处理器状态、函数返回地址、中间结果和寄存器值。态、函数返回地址、中间结果和寄存器值。管理:管理:硬件堆栈指针硬件堆栈指针SP、辅助寄存器、辅助寄存器XAR2。SP:堆栈指针,指向当前栈顶:堆栈指针,指向当前栈顶XAR2:帧指针,指向当前帧的起始地址。:帧指针,指向当前帧的起始地址。局部局部帧帧:每调用一次函数,在当前栈顶产生一个新的每调用一次函数,在当前栈顶产生一个新的帧,用来存放局部变量和中间值。帧,用来存放局部变量和中间值。二、二、寄存器使用规则寄存器使用规则两种寄存器变量:保护调用环境,保护入口环境两种寄存器变量:保护调用环境,保护入口环境。3.4C/C+和汇编混合编程和汇编混合编程为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能三、三、函数调用规则函数调用规则(1)传递参数;)传递参数;优先通过寄存器传递;优先通过寄存器传递;剩余参数剩余参数进栈进栈(2)返回地址(原)返回地址(原RPC)进栈进栈(3)分配局部帧:)分配局部帧:为被调用函数分配为被调用函数分配存储空间存储空间为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能1.父函数执行操作父函数执行操作通过通过寄存器寄存器传递传递参数规则。参数规则。(a a)头)头4 4个浮点参数存放于寄存器个浮点参数存放于寄存器R0HR0HR3HR3H;(b b)6464位参数第一个放位参数第一个放ACCACC和和P P;(c c)3232位参数第一个放位参数第一个放ACCACC;(d d)指针型参数存放于指针型参数存放于XAR4XAR4和和XAR5XAR5;(e e)1616位参数的存放顺序为:位参数的存放顺序为:ALAL、AHAH、XAR4XAR4、XAR5XAR5。其它参数以逆序压入堆栈。其它参数以逆序压入堆栈。32 32位参数在堆栈中从偶地址开始存放。位参数在堆栈中从偶地址开始存放。结构体变量仅传递地址。结构体变量仅传递地址。父函数使用父函数使用LCRLCR指令调用子函数。指令调用子函数。为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能2.子函数的响应子函数的响应返回值的处理:返回值的处理:16位整型数存放于位整型数存放于AL,32位整型数存放于位整型数存放于ACC,子函数使用子函数使用LRETR指令返回。指令返回。3.访问参数和局部变量访问参数和局部变量局部帧空间小于局部帧空间小于63个字时,采用个字时,采用SP访问访问“*-SP6位偏移量位偏移量”最大偏移量为最大偏移量为63,局部帧空间大于局部帧空间大于63个,使用个,使用FP(XAR2)访问)访问。“*+FP偏移量偏移量”“*+FPAR0/AR1”为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.4.2C和汇编接口和汇编接口特特别别注意:注意:(1)汇编汇编模模块块中被中被C访问访问的的标识标识符前要加下划符前要加下划线线。如,若如,若变变量量x要被要被C程序程序访问访问,必,必须须用用_x表示。表示。(2)汇编汇编模模块块中需要被中需要被C模模块块引用的引用的变变量或者函数量或者函数要用要用伪伪指令指令.def或或.global声明;声明;C模模块块中需要被中需要被汇编汇编模模块块引用的引用的变变量或者函数量或者函数在在汇编汇编模模块块中也必中也必须须用用伪伪指令指令.global声明。声明。为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能例:汇编接收例:汇编接收C传递的参数并加至传递的参数并加至C全局变量全局变量gvar返回返回。C主程序主程序externintasmfunc()();/*声明全局汇编函数声明全局汇编函数*/intgvar;/*定义全局变量定义全局变量gvar*/voidmain()inti=5;i=asmfunc(i);/*正常调用汇编函数正常调用汇编函数*/南航自动化学院南航自动化学院DSP技术应用实验室技术应用实验室一、一、独立编写独立编写C和汇编模块和汇编模块汇编子程序汇编子程序.global_gvar.global_asmfunc_asmfunc:MOVWDP,#_gvarADDAL,_gvarMOV_gvar,ALLRETR3.4.3混合编程方法混合编程方法为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能二、二、使用使用FAST_FUNC_CALL预编译器指令预编译器指令示例:实现两个示例:实现两个32位数的加法运算位数的加法运算(a)汇编程序)汇编程序_add_long:addlacc,*-SP2LB*XAR7(b)C程序程序#pragmaFAST_FUNC_CALL(add_long);longadd_long(long,long);voidf()longx=0,y=0;x=67000;y=76000;y=add_long(x,y);while(1)k=0;为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能asm(“汇编语句汇编语句”)三、三、直接在直接在C程序中嵌入汇编语句程序中嵌入汇编语句优点:优点:(1).程序编写方便。程序编写方便。(2).程序保留程序保留C结构,结构清晰,可读性好。结构,结构清晰,可读性好。(3).程序调试方便。程序调试方便。南航自动化学院南航自动化学院DSP技术应用实验室技术应用实验室注意:注意:(1)小括号中双引号后第一列是标号位置,用空格代替。小括号中双引号后第一列是标号位置,用空格代替。(2).编译器在编译过程中只是把内嵌指令照搬到编译生编译器在编译过程中只是把内嵌指令照搬到编译生成的汇编代码的相应位置。成的汇编代码的相应位置。(3).不要把跳转指令或者带标号的汇编语句嵌入不要把跳转指令或者带标号的汇编语句嵌入C程序。程序。为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能a).C程序程序externintvar;/*声明声明var为全局变量为全局变量*/var=1;/*引用引用var*/b).汇编程序汇编程序.bss_var,1;定义变量;定义变量_var.global_var;声明;声明_var为全局变量为全局变量1.访问访问.bss段中变量段中变量四、四、在在C中访问汇编变量中访问汇编变量(a)C程序程序externfloatsine;/*说明说明sine为外部变量为外部变量*/f=sine2;/*把把sine看作正常数组使用看作正常数组使用*/(b)汇编程序汇编程序.global_sine;说明说明sine为外部变量为外部变量.sect”sine_tab”;定义一个独立的段定义一个独立的段_sine:;查找表的初始地址查找表的初始地址.float0.0.float0.015987.float0.0221452.访问不在访问不在.bss段中的变量段中的变量为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能五、五、使用内部算子访问汇编使用内部算子访问汇编作作用用:内内部部算算子子(intrinsics)可可将将C/C+中中无无法法描描述述或或描描述述比较复杂的任务用特定汇编语句描述。比较复杂的任务用特定汇编语句描述。使用方法使用方法:以函数形式调用,名称前加下划线。:以函数形式调用,名称前加下划线。南航自动化学院南航自动化学院DSP技术应用实验室技术应用实验室(1)新新建建一一个个C源源文文件件,为为汇汇编编函函数数声声明明一一个个函函数数原原型型、创建创建C函数实体;并在函数实体;并在main()函数中调用。函数中调用。(2)编编译译C文文件件。使使用用编编译译器器选选项项“-k(保保留留汇汇编编)-ss(交叉列表)(交叉列表)-al(创建汇编列表)(创建汇编列表)”。(3)观察编译之后生成的同名汇编文件。)观察编译之后生成的同名汇编文件。(4)利用生成的汇编函数代码创建汇编文件。)利用生成的汇编函数代码创建汇编文件。(5)在在C中中将将汇汇编编函函数数原原型型声声明明为为外外部部的的,并并删删除除为为汇汇编编函数原型创建的函数。函数原型创建的函数。六、六、快速产生被快速产生被C调用的汇编函数调用的汇编函数为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.5.1集成开发环境简介集成开发环境简介一、一、CCS简介简介目前使用最广泛的目前使用最广泛的DSP集成开发环境。集成开发环境。可视化的代码编辑界面可视化的代码编辑界面强大的程序调试、跟踪与分析工具强大的程序调试、跟踪与分析工具完成代码编辑、编译、连接、调试和数据分析。完成代码编辑、编译、连接、调试和数据分析。两种工作模式:两种工作模式:软软件件仿仿真真(Simulator):无无需需DSP硬硬件件,可可直直接接在在计计算机上对算机上对DSP的指令集和的指令集和CPU进行模拟;进行模拟;硬硬件件仿仿真真(Emulator):支支持持在在DSP芯芯片片上上在在线线实实时时运行和调试程序。运行和调试程序。3.5CCS集成开发环境集成开发环境为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.5.1集成开发环境简介集成开发环境简介1.CCS的安装的安装安装完毕,在桌面创建安装完毕,在桌面创建快捷图标快捷图标2.Simulator模式配置模式配置单击单击“SetupCCStudioV3.3”的图标,进入系统的配置环境的图标,进入系统的配置环境二、二、CCS的安装与配置的安装与配置3.CCS的的Emulator模式配置模式配置为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.5.2DSP应用程序开发调试示例应用程序开发调试示例1目标代码的生成目标代码的生成(1)新建工程)新建工程为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能1目标代码的生成目标代码的生成(2)添加文件)添加文件为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能1目标代码的生成目标代码的生成(3)生成可执行代码)生成可执行代码为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能2目标代码的调试目标代码的调试(1)装载文件)装载文件为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能2目标代码的调试目标代码的调试(2)调试文件)调试文件运行菜单运行菜单为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能2目标代码的调试目标代码的调试(2)调试文件)调试文件观察菜单观察菜单为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能2目标代码的调试目标代码的调试(2)调试文件)调试文件寄存器、存储器和观察窗口寄存器、存储器和观察窗口为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能2目标代码的调试目标代码的调试(2)调试文件)调试文件设置断点设置断点 动画运行动画运行为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能2目标代码的调试目标代码的调试(2)调试文件)调试文件设置探测点设置探测点为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能2目标代码的调试目标代码的调试(2)调试文件)调试文件关联文件关联文件为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能2目标代码的调试目标代码的调试(2)调试文件)调试文件打开图形观察窗口打开图形观察窗口为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能 程序调试无误后,即可烧写到程序调试无误后,即可烧写到DSPDSP的的FLASHFLASH中,使中,使DSPDSP可以脱离仿真器独立运行可以脱离仿真器独立运行 3.5.3程序烧写程序烧写为深入学习习近平新时代中国特色社会主义思想和党的十九大精神为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神贯彻全国教育大会精神,充分发挥中小学图书室育人功能充分发挥中小学图书室育人功能3.5.4通用扩展语言(通用扩展语言(GEL)简介)简介GEL:通用扩展语言,高级脚本语言。:通用扩展语言,高级脚本语言。.gel文文件件可可扩扩展展CCS的的功功能能或或者者自自动动运运行行CCS中中一一系列常用命令。系列常用命令。3.5.5DSP/BIOS工具简介工具简介BIOS:Built-InOperationSystem,嵌入式操作系统。,嵌入式操作系统。DSP/BIOS是是TI公公司司为为其其TMS320C6000、C5000TM和和C28x系系列列DSP平平台台设设计计开开