- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TKStudio内置51编译器SDCC参数说明
TKStudio内置51编译器SDCC参数说明
TKStudio内置51编译器SDCC参数说明2011-02-12 09:20SDCC(小型设备C编译器)是为8位微控制器开发的免费C编译器。尽管兼容多种不同体系结构,但SDCC C编译器更适合8051内核。
SDCC是命令行固件开发工具,含预处理器、编译器、汇编器、链接器和优化器。安装文件中还捆绑了SDCDB,类似于gdb(GNU调试器)的源码级调试器。无错的程序采用SDCC编译、链接后,生成一个Intel十六进制格式的加载模块。
SDCC主要由以下各部分组成:
sdcc–编译器
sdcpp– c预处理器
asx8051– 8051汇编器
aslink.exe-8051连接器
sdcclib.exe-库产生器
makebin.exe-产生二进制代码器
packihx– Intel hex转换器
当对SDCC工程进行编译,汇编以及连接源文件,输出文件如下所示:
*.asm–由编译器产生的汇编源文件。
*.lst–由汇编器产生的汇编列表文件。
*.rst–由连接器产生的汇编列表文件,里面含有连接信息记录。
*.sym–源文件的符号列表,由汇编器产生。
*.rel或*.o–由汇编器产生的目标文件,供连接器来使用。
*.map–读入模块的内存映射表,由连接器产生。
*.mem–记录存储器使用的摘要。
*.ihx– intel hex格式的文件(可以使用--out-fmts19选项来选择Motorola S19输出格式)。
*.adb–一个包含调试信息的中间文件,产生.cdb文件必须依赖这些中间文件来实现(使用--debug选项)。
*.cdb–一个可选的包含调试信息的调试文件,在链接时使用选项--debug就会产生这个文件。
*–一个可选的包含调试信息的AOMF或者AOMF51文件(由选项--debug产生)。整个目标模块格式是OMF51格式的子格式并且一般被第三方工具使用(调试器,模拟器)。
*.dump*--打印文件调试编译器本身(选项为– dumpall)
命令行选项(在TKStudio中这些参数已经是用户可配置的部分,其配置非常简便,但了解各个参数的意义非常重要)
1处理器选项
-mmcs51产生Intel MCS51家族处理器代码,默认选项。
-mds390产生Dallas DS80C390处理器代码。
-mds400产生Dallas DS80C400处理器代码。
-mxa51产生Phillips XA51处理器代码。
2预处理选项
-I path指定处理器查找头文件的路径。
-D macro[=value]命令行里的宏定义,被传递到预处理器处理。
-M告知预处理器去输出一个描述每个目标文件依赖性的规则。对于每个源文件预处理器输出将遵循一个规则,规则就是目标文件名是源文件并且依赖它里面的所有#include文件,该规则可以使用一行,或者如果它很长,可以通过使用\来继续另一行。该规则列表将在标准输出中被打印而不是在C预处理程序。
-C告知预处理器不要抛弃注释,通常跟-E参数一起使用。
-MM如-M,但输出仅提及到用户头文件#includefile,系统头文件#include file被忽略。
-Aquestion(answer)如果它与像#if#question(answer)条件预处理语句一起进行测试,那么断言answer符合question。-A-关闭通常来描述目标机器的标准断言。
-Umacro取消宏定义。在所有-D选项之后,跟在任何-include和-imacros选项之前,-U选项才生效。
-dM告知预处理器在预处理完成前,去输出一个有效的宏定义列表信息。
-dD告知预处理器传递所有的宏定义到输出。
-dN如-dD,除了宏的参数跟内容被忽略。仅仅#define name被包含到输出里.
-pedantic-parse-number严格按照规定地分析数字,像0xfe-LO_B(3)这种情况将被适当的分析并且宏LO_B(3)得到扩展
注意:这功能不符合C99标准!
-Wp preprocessorOption[,preprocessorOption].传递preprocessorOption到sdcpp预处理器。
3连接器选项
-L--lib-path absolute path to additional libraries这个选项是指示连接器查找附加库的路径。路径必须是绝对的路径。
--xram-loc Value外部RAM的起始地址,默认值是0。指定值可以是十六进制格式,也可以是十进制格式,例如:--xram-loc 0x8000或者--xram-loc 32768。
--code-loc Value代码段的起始地址,默认值是0。注意:当这选项被使用,那么中断向量
原创力文档


文档评论(0)