进一步掌握STVD和COSMIC.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
进一步掌握STVD和COSMIC.pdf

如何分配变量到指定的地址 举例: unsignedchartemp_A@0x00;//定义无符号变量temp_A,强制其地址为0x00 unsignedchartemp_B@0x100;//定义无符号变量temp_B,强制其地址为0x100 @tinyunsignedchartemp_C;//定义无符号变量temp_C,由编译器自动在地址小于0x100 的RAM @nearunsignedchartemp_D;//定义无符号变量temp_D,由编译器自动在地址大于0xFF 的RAM 另外也可以采用伪指令pragma将函数或者变量定义到指定的section 中,例如: #pragmasection[name]// 将下面定义的未初始化变量定义到.namesection 中 Unsignedchardata1; Unsignedintdata2; ……(任何需要定义在.namesection 中的变量) …… #pragmasection[]// 返回到正常的section. 注意:pragma伪指令可以用来定位函数,初始化变量或者未初始化变量。这三者用不同的括号区分。 (name):代码 [name] :未初始化变量 {name}:初始化变量 如何在COSMICC文件中使用汇编语言 在COSMICC文件中使用汇编语言常见的方法有如下两种:使用#asm…#endasm组合格式 或_asm(…); 单行格式。 举例1: unsignedchartemp_A; Voidfunc1(void) { ... #asm PUSHA LDA,(X) LD_temp_A,A POPA #endasm ... } 注:在C嵌汇编环境下使用全局变量,要在该全局变量名称前加下划线_。 举例2: Voidfunc1(void) { ... _asm(rim); _asm(nop); ... } 如何观察RAM/FLASH/EEPROM的最终分配情况 在 Project-settings-linker 选 项 页 中 , 将 Category 选 为 Output , 再 勾 选 Generate 点击OK按键后,再次编译链接该项目,如果成功则会在项目输出目录中(本例是在C:\STM8_NewProject1\debug 文件。该文件详细地列出RAM/FLASH/EEPROM的分配使用情况。 如何生成hex格式的输出文件 在Project-settings-PostBuild选项页中,在commands栏内加入下行命令: chex–fi-o$(OutputPath)$(TargetSName).hex$(OutputPath)$(TargetSName).sm8 再次编译链接该项目,如果成功则会在项目输出目录中(本例是在C:\STM8_NewProject1\debug 目录下)生成 什么是MEMORYMODEL STM8 的C编译器支持多种存储器模式。用户可以根据应用的需要选择最适合的配置。可以根据需要选择采用2 式 (仅适用于64k 以内的程序)或者3字节的寻址方式。也可以规定将变量默认为定义在存储器的哪一区域: zeropage 外。下面对几种供选择的MEMORYMODEL做简单说明。 在Project-settings-CComplier选项页中,将Category选为General,里面有一个MemoryModels选项栏如下: 在下拉菜单中共有4种MEMORYMODEL可供选择:  程序地址空间在64K 以内(即程序容量小于32K) mods0, modsl0  程序地址哦那个键在64K 以上(即程序容量大于32K) mods modsl MODS0 MODSL0 MODS MODSL StackShort StackLong StackShort StackLong 名称 短堆栈模式 长堆栈模式 短堆栈模式 长堆栈模式 程序地址空间 程序所用到的地址空间在64K范围内 程序所用到的地址空间超出64K范围 函数指针默认为@far(地址为

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档