请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28335 工具/软件:Code Composer Studio
尊敬的先生:
我尝试将以下内容添加到链接器命令文件中、但编译时显示错误。 请帮帮我。
dclfuncs:>RAML4,page = 0
我的链接器命令文件包含以下内容
MEMORY { PAGE 0: /* BEGIN 用于“引导至 SARAM”引导加载程序模式 */ 开始 :origin = 0x000000,length = 0x000002 /*从此处引导至 M0 */ RAMM0 :origin = 0x000050、length = 0x0003B0 RAML0 :origin = 0x008000、length = 0x001000 RAML1 :origin = 0x009000、length = 0x001000 RAML2 :origin = 0x00A000、length = 0x001000 RAML3 :origin = 0x00B000、length = 0x001000 ZONE7A :origin = 0x200000、length = 0x00FC00 // XINTF 区域7 -程序空间*/ csm_RSVD:origin = 0x33FF80、length = 0x000076 /* FLASHA 的一部分。 当 CSM 正在使用时、使用所有0x0000进行编程。 // csm_PWL:origin = 0x33FFF8,length = 0x000008 /* FLASHA 的一部分。 FLASHA 中的 CSM 密码位置 */ ADC_CAL:origin = 0x380080,length = 0x000009 reset :origin = 0x3FFFC0,length = 0x000002 IQTABLES:origin = 0x3FE000,length = 0x000b50 IQTABLES2:origin = 0x3FEB50,length = 0x00008c FPUTABLES:origin = 0x3FEBDC,length = 0x0006A0 BootROM:origin = 0x3FF27C: page length:length = 0x0001FF27C:page:length: /* boot_RSVD 由引导 ROM 用于堆栈。 /* 保留此部分仅用于防止引导 ROM 在 调试过程中损坏此区域 // boot_RSVD:origin = 0x000002,length = 0x00004E // M0的一部分,引导 ROM 将此用于栈*/ RAMM1 :origin = 0x000400、length = 0x000400 /*片上 RAM 块 M1 */ RAML4 :origin = 0x00C000、length = 0x001000 RAML5 :origin = 0x00D000、length = 0x001000 RAML6 :origin = 0x00E000、length = 0x001000 RAML7 :origin = 0x00F000、length = 0x001000 ZONE7B :origin = 0x20FC00,length = 0x000400 /* XINTF 区域7 -数据空间*/ } SECTIONS { //设置"引导至 SARAM"模式: codestart 段(可在 DSP28_CodeStartBranch.asm 中找到) 将执行重定向到用户代码的开始。 */ codestart :>开始, PAGE = 0 ramfuncs :> RAML0, PAGE = 0.text :>> RAML1 | RAML2, PAGE = 0 .InitBoot :> RAML1, PAGE = 0 .cinit :> RAML0, PAGE = 0.Pinit :> RAML0, PAGE = 0.switch :> RAML0, PAGE = 0 .stack :> RAMM1, PAGE = 1.ebss :> RAML4, PAGE = 1.econst :> RAML5, PAGE = 1 .esysmem :> RAMM1, PAGE = 1 IQmath :> RAML1, PAGE = 0 IQmathTables :>IQTABLES,page = 0,type = NoLoad //如果调用 IQNexp()或 IQexp(),取消注释以下段 库中的函数、以便利用 引导 ROM 中的相关 IQ Math 表(这可以节省空间和引导 ROM 1个等待状态)。 如果此部分未注释、则为 IQmathTables2 将被加载到其他存储器(SARAM、闪存等)中并将采用 上行空间、但0等待状态是可能的。 // /* IQmathTables2:> IQTABLES2,page = 0,type = NoLoad { IQMath.lib (IQmathTablesRam) } */ FPUmathTables:> FPUTABLES,page = 0,type = NoLoad dclfuncs :> RAML4, PAGE = 0 DMARAML4 :> RAML4, PAGE = 1 DMARAML5 :> RAML5, PAGE = 1 DMARAML6 :> RAML6, PAGE = 1 DMARAML7 :> RAML7, PAGE = 1 ZONE7DATA :>ZONE7B,PAGE=1 .reset :>重置, PAGE = 0、TYPE = DSECT /*未使用 */ csm_rsvd :>csm_RSVD page = 0,type = DSECT //不用于 SARAM 示例*/ csmpasswds :>csm_PWL page = 0、type = DSECT //*不用于 SARAM 示例* //*分配 ADC_cal 函数(出厂时已预先编程到 TI 保留存储器中)*/ .ADC_cal :load = ADC_CAL,page = 0,type = NoLoad }