- 948
- 0
- 约7.98千字
- 约 11页
- 2016-12-21 发布于北京
- 举报
Codewarrior 2.10是飞思卡尔32位汽车级单片机Qorriva系列的编译器,与之前版本2.8、2.9完全兼容。许多新用户对codewarrior链接文件不是十分了解,本文将针对链接文件的常见问题以及段的定义进行介绍帮助用户快速了解和使用CodeWarrior。LCF 文件定义及用法介绍链接文件用来控制不同类型数据代码、数据以某种排列方式在最终在生成的可执行文件或者二进制文件,调试文件中的放置位置。它可以通过在EPPC linker的面板中进行配置,也可以直接在lcf文件中直接进行修改。Memory map 查看所有变量,函数段地址信息EPPC Panel配置生成.s19,.bin 或者elf.lcf配置Lcf文件中首先是对整个memory map(MEMORY)地址空间内的所有RAM,ROM进行分割,将其分为几个区域,便于放置不同类型的存储内容,而这些区域内包含的内容可以是用户自定义的段或者系统预定义的段(SECTION)。关于段的定义和使用将在lcf文件介绍结束后进行介绍。一个工程通常在建立的时候默认的都是在RAM中执行,由于RAM中执行的效率高于FLASH。在生成的ROM Image中常量,初始化过的数据或者代码如果没有被定义在ROM区域则假设为这部分代码要在程序开始执行的时候从ROM去拷贝到RAM区。下面是一个完整的lcf文件,其中包括每行的解释及用法。/* lcf file for MPC5604B M27V (debug RAM version) 文件的名字及对应单片机(RAM版本) */RAM版本和ROM版本的区别在于RAM版本不将程序下载到ROM中去,而在RAM中执行程序/* 512KB Flash, 32KB SRAM 单片机的FLASH和SRAM大小 */MEMORY下面是对单片机存储空间的定义,不同的段的起始地址,不能叠加地址空间{pseudo_rom:(仿真ROM区)org = 0(开始地址)len = 0长度)init: org = 0 len = 0 //初始化段所在位置exception_handlers: org = 0 len = 0 //中断向量所在地址internal_ram: org = 0 len = 0 //内部RAM的起始地址 heap : org = 0 len = 0/* Heap start */(堆的起始地址) stack : org = 0x40007C00, len = 0/* Stack Start */(栈的起始地址)}SECTIONS段的定义{ GROUP : { // 它的定义需要遵从本例程方式”GROUP:{}” .“{}”中是内容部分 .init : {} //.init段中所有内容。 .init_vle (VLECODE) : { //.init_vle(使用VLE代码) *(.init) *(.init_vle) } } init//可以参看前面的init段在存储空间的定义.本GROUP中的所有内容放在init段中,””代表放在哪个段GROUP : { .ivor_branch_table (VLECODE) ALIGN (4096) : {} //ALIGN(4096)按照4096字节对齐 .__exception_handlers (VLECODE) LOAD (_e_ivor_branch_table) : {} //LOAD()将本段加载到指定地址 } exception_handlersGROUP : { .text (TEXT) ALIGN(0x10) : {} .text_vle (VLECODE) ALIGN(0x10): { *(.text) *(.text_vle) } .rodata (CONST) : { *(.rdata)
您可能关注的文档
最近下载
- 2025年陕西省中考数学真题试卷含答案.pdf VIP
- 一年级英语寒假作业.pdf VIP
- 微生物技术 走进微生物世界 微生物技术—走进微生物世界.pptx VIP
- 《植物组织培养》课程教学大纲(本科).pdf VIP
- 2025年重庆市公务员省考《行测》联考真题(含答案).pdf VIP
- 2026年一年级英语【寒假作业】.docx VIP
- 抽象函数的单调性.doc VIP
- 2025年重庆市公务员考试行测真题及答案详解(最新).docx VIP
- 2025年特许金融分析师私募股权投资中的公司尽职调查专题试卷及解析.pdf VIP
- 2025年金融风险管理师久期与债券流动性风险的交互影响专题试卷及解析.pdf VIP
原创力文档

文档评论(0)