CC运行时环境课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《CC运行时环境课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CC 运行 环境 课件
- 资源描述:
-
1、C6000 C run-time environment定义定义nThe run time parameters in which your program must function.nThese parameters are defined by 1.the memory conventions(规范规范)2.register conventions3.stack organization,4.function call conventions5.system initialization.存储器模型存储器模型 nC6000编译器把整个存储区当作单个线性存储块,并将它分为代码区和数据区n编
2、译器假定目标存储器的全部32-bit地址空间是可用的。n定义存储器映象并将代码和数据分配到目标存储器的是连接器,而非编译器。nCmd文件是linker使用的。Hello.cmd段&已初始化段n编译器生成的可重定位的代码和数据块称为段(sections)n已初始化的段:包含数据和可执行代码。C/C+编译器生成的已初始化的段有:n(1).cinit段:包括变量初始值和常量值。n(2).const段:包括字符串文字(string literals),浮点常量和在C/C+中被声(3)明为const的数据(如果常量没有同时被声明为volatile)。n(4).switch段:包含大的switch语句的跳
3、转表(jump table)n(5).text段:包含所有的可执行代码。未初始化段n未初始化的段:存储器(一般指RAM)中的保留空间。程序在运行时用它来创建和存储变量。C/C+编译器生成的未初始化的段有:n(1).bss段:为全局变量和静态变量保留。如果为连接器设定-c选项,则在程序的开始,C引导程序会将.cinit段的数据(可在ROM中)复制到.bss段。编译器定义全局符号$bss,并指定它为.bss段的起始地址。n(2).far段:为声明为far的全局变量和静态变量保留。n(3).stack段:系统堆栈。这个存储区用于传递函数的参数和为局部变量分配存储器空间。n(4).sysmem段:为动
4、态存储空间分配保留的存储区。提请动态存储空间分配要求的有malloc,calloc和realloc等函数。如果C/C+程序未使用这些函数,编译器便不生成该段。段的补充n汇编器产生默认的.text,.bss和.data段,但C/C+编译器不使用.data段。允许用CODE_SECTION和DATA_SECTION pragma来让编译器生成另外的段。n除了.text段,各个初始化段和非初始化段均不能分配到内部程序存储器。系统堆栈编译器将堆栈用于:n(1)保存函数调用后的返回地址;n(2)给局部变量分配存储空间n(3)传递函数参数n(4)保存临时结果n运行时堆栈增长方向是从高向低,编译器用B15寄
5、存器来管理堆栈,即将它作为堆栈指针(SP),指向堆栈中下一个空闲的存储器位置。初始化变量初始化变量 nC/C+编译器生成的代码可固化到ROM中,.cinit段的初始化表也是贮存在ROM中。在系统初始化的时候,C/C+引导程序将表中的数据(ROM中)拷贝给.bss段中对应的变量(RAM中)。n如果程序是从目标文件直接载入存储器,然后运行时,可以无需.cinit段。加载器(loader)直接地从目标文件中读出初始化表(而不是从ROM中),在加载时完成初始化,而不是运行时。这个过程可以通过为连接器指定cr选项来实现。存储器模式存储器模式 (-mln)n小存储器模式和大存储器模式。它们的区别在于为.b
6、ss段分配存储空间的方式。n小存储器模式:.bss 32KByte,使用DP(B14)访问全局数据:LDW*+DP(0 x7),B5n大存储器模式:不限制.bss段的大小,访问数据使用MVKL&MVKH:MVKL _x,A0 MVKH _x,A0 LDW*A0,B0 寄存器使用规范寄存器使用规范 n在C/C+环境下,一些具体的操作要使用哪些的寄存器来完成,是有严格的规范的。n寄存器使用规范规定了编译器使用寄存器的方法以及函数调用过程中数值保存的方法。n要在C/C+程序中嵌入汇编语言,必须理解并遵循寄存器使用规范。寄存器使用规范寄存器使用规范函数调用约定n函数(父函数)在调用另一个函数(子函数)
展开阅读全文