编辑: 施信荣 2019-07-12

5 Rev 1.1, 2013/12/09 前置 ++ 和-- 运算符

44 Sizeof 单目运算符.44 乘法运算符(Multiplicative Operators)45 加号(Additive Operators)45 移位运算符(Shift Operators)46 关系运算符(46 相等运算符(47 逻辑运算符 AND(&

&

),逻辑运算符 OR(47 条件运算符(Conditional Operator)48 5. 语句(Statements)49 表达式语句(Expression Statements)49 块语句(Block Statement)49 选择语句(Selection Statements)49 If 语句.50 switch 语句.51 重复语句.51 while 语句.52 do 语句.52 for 语句.53 Jump 语句

54 goto 语句.54 continue 语句

54 break 语句.55 return 语句.55 有标号语句.55 中断.56

(一) R-Plane.58

(二) F-Plane Bank 0.58

(三) F-Plane Bank 1.59 ISR_SaveData、ISR_RestoreData.60 TM57 C 编译程序 使用手册 UM-TM57XX_C_Compiler_S

6 Rev 1.1, 2013/12/09 ISR_SaveData_

5、ISR_RestoreData_5 、ISR_SaveData_

10、ISR_RestoreData_10.68 6. 预处理器(Preprocessors)73 宏定义(Macro Definition)73 无参的宏定义(Non-parameter Macro Definition)73 有参宏的定义(Definition of Macro with Parameters)74 包含档(Files Include)74 条件编译(Conditional Compilation)74 pragma 指令 (#pragma)75 7. 在C项目中混用 C、汇编程序代码.76 基本概念.76 C 程序调用无需传入参数之汇编函数.77 C 程序调用需传入参数之汇编语言.77 汇编调用 C 函数.78 C 和汇编混合编程的一些经验.79

(一) 谨慎使用汇编指令.79

(二) 尽量以内嵌 inline asm 取代

79

(三) 避免在 C/ASM 混合编程时, 使用.org xx 指令.79 8. 建立库函数.80 库函数.80 使用库函数.80 建立库函数之方式.80 如何引用库函数.83 9. 内存对应图.84 10. 附录.85 例子 1.85 例子 2.90 例子 3.91 例子 4.93 TM57 C 编译程序 使用手册 UM-TM57XX_C_Compiler_S

7 Rev 1.1, 2013/12/09 1. TM57 系列 C 语言编译程序概述 TM57 系列 C 语言编译程序的特殊功能 TM57 系列 C 语言编译程序符合 ANSI C 标准(但,TM57 系列 C 语言编译程序不支持指针函 式).此外,为使 tenx 芯片的工作效率与控制性能达到最佳状态,以及提供给 C 语言编程者更 好的编程支持,增加了以下特殊功能: 1. 位变量 ? 程序中只允许在全局范围中宣告位数据型态,其宣告语法请参考位数据型态. ? 在结构、联合中使用位字段,宣告语法请参考结构、联合中宣告和使用位字段. 2. 为让 C 语言编程者更自主性地安排全局变量(global variable)及函式地址,以切实地符合 实作需求;

TM57 C 语言编译程序提供指定全局变量寻址在那一个缓存器位置(Fplane 或Rplane),和指定全局常变量及函式在 TABLE ROM 地址的功能.若实作的芯片中,其F- Plane RAM 有一个以上的 bank 时,亦可指定全局变量是要储存在 F-Plane 的那个 bank 位置 上. ? 宣告变量指定储存缓存器之语法及应注意事项,请参考 F-Plane / R-Plane 宣告. ? 为全局常变量安排在 TABLE ROM 起始地址, 用户可指定 #pragma tableromaddr 来达到目的. ? 在函数定义程序中指定 TABLE ROM 地址, 请参考函数声明. 3. 提供中断函式与多样的中断保护功能:触发中断函式的执行过程中,可能会变动到运作缓存 器的内容而影响执行结果.tenx 除了提供具有自动储存功能的芯片外,也提供多样的中断保 护功能,让用户依不同的程序运算复杂度,有效率的决定储存运作缓存器的内容. ? 程序运算复杂度与相关影响到的运作缓存器,其对应关系请参考运作缓存器. ? 运作缓存器之内存对应图,请参考内存对应图. ? 具备中断保护功能之组语子程序,请参考中断保护. ? 启动中断保护功能时,应注意事项请参考中断注意事项. 4. 为了切合单片机的特殊指令操作特性与实时控制性,汇编语言程序相对于 C 语言程序更能吻 合单片机需求.因此,C 项目中允许 C 语言和汇编语言混合编程的情况. ? 在C程序中直接内嵌汇编语言指令(asm,__asm__),宣告语法请参考 Asm 定义. ? 为避免变量、参数或函式名称在汇编语言指令中,可能引发的拼字与维护问题,建议使用 格式符号来替换变量名称,请参考格式符号. ? C 和汇编程序混合编程的基本方式与实例说明:(1)在C程序中调用汇编函数,其中分 为有/无传参数来分别说明,(2)在汇编语言程序中调用 C 函数.请参考在 C 项目中混用 C、汇编程序代码. TM57 C 编译程序 使用手册 UM-TM57XX_C_Compiler_S

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
发布一个新话题