- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP_05编程与环境
§2.软件设计 DSP的软件开发有三种方式: ①用汇编语言进行 ②编号C语言程序 ③混合编程 当DSP应用较为复杂,应用C语言编程,但C的编程效率不高, 最灵活的方法应是混合编程。一般可先用C编程,然后移植到 DSP 平台上,可进一步进行汇编调整。 T1的C编译器支持将C先编译为中间代码,再汇编成目标代码。 也 可以 在C语言中使用汇编语言, 一种方法是用汇编写子程序,二是使用嵌入 汇编。 C编译器支持在C源代码中直接使用QSM语句嵌入汇编。 * 第六章 程序编写与调试环境 §⒈ 汇编的指令 提供程序数据,控制汇编的过程,主要完成: ① 定义代码和数据的特定段 ② 为变量保留存贮空间 ③ 存贮器初始化 ④ 定义全局变量,引用其它文件指令 ⑤ 汇编条件块等 (1).段定义指令有: Text: 定义代码段 Data: 定义数据段,一般包括已初始的数据 Sect: 定义已初始化了的常命名的段(建立已初始化的段) Bss : 为未初始化的变量保留空间。(左BSS段中保留空间) Setsect:初始化段的绝对地址 Usect: 在一个未初始化的段中保留空间。(在自定义段中保留空间) (2).初始化指令 Byte 当前段定义字节 Word 当前段定义字 (bes)space 当前段定义位 String 当前段定义字符 Int 当前段16位整数 Long 当前32位整数 Float 当前32位数据(浮点数) usect Bss Data text EPROM ROM 目标文件 存贮器划分为逻辑段 未初始化的 数据存贮器 已初始化的程序存贮器 (3).引用其它文件 Include 从其它文件读源文件。 一般在源文件开始都写上: include“F2407REGS。H” Def 在当前模块中定义,可被其它模块使用的符号。 Ref 在其它模块中定义的全局变量。在当前模块定义中使用, (4).符号指令 Set 定义一个常数值等效于一个符号,可被其它程序调用 Egu 定义的符号不能被其它程序调用 例:example.azm ·data coff ·word 010H , 022H ·bss varl , 4 ·bss buffer , 40 ptr ·word 01234h ·text · · · · ·data Ival ·word oaah,obbh,occh var2 ·u2ect “newvars”,4 in buf ·usect “newvars”,4 ④ ① ② ⑤ ③ 定义了五个段: ① ·text, 放置代码 ② ·data, 放置6个字常数 ③ ·bss 预留44字空间 ④ ·newvars,由usect定义的自定义段,占8个字空间 ⑤ ·vectors, 由sect定义的已初始化过的中断向量命令段 ·text · · · · · · · · ·sect “vectors” ·sect “vect
文档评论(0)