主题中讨论的其他器件:SFRA、
工具与软件:
你(们)好
我使用 CCS V12编译器、编译的 bin 文件大于1M。 十六进制文件的大小是正常的。 附件是我的 CMD 文件。 为什么我的 bin 文件这么大?
/*CMD 文件*/
// TI 文件$修订版本:/main/3 $
//签入$Date : AGU 1, 2017 13:45:43 $
//
//文件:F2800137_flash_Lib.cmd
//
//标题:用尽 RAM 的 F2800137示例的链接器命令文件
//
//
//请记住、LS0和 LS1受代码保护
//安全模块。
//
//这意味着在大多数情况下,你会想要移动到
//定义了更多内存的另一个内存映射文件。
//
*/
/*================================== */
/*定义 F280013x 的存储器块起始/长度
第0页将用于组织程序段
第1页将用于组织数据段
注释:
F2800137上的存储器块是统一的(即相同的)
PAGE 0和 PAGE 1中的所有设置。
存储器区域的从站节点不应位于同一存储器区域
为 PAGE 0和 PAGE 1定义。
这样做将导致程序损坏
和/或数据。
连续 SARAM 存储器块可以组合在一起
创建更大的存储块。
*//####################################################################################################################################################################
//该文件属于 f28002x 器件的 DCSM 测试工程。
//它只能作为测试目录的一部分。
//############################################################################################################################################################################################
//免责声明
//############################################################################################################################################################################################
小程序
{
begin:origin = 0x00090000、length = 0x00000002
BOOT_RSVD:origin = 0x00000002、length = 0x00000126
/* RAMLS1:origin = 0x0000A000、length = 0x00001FF8 */
RAMLS1P:origin = 0x0000A000、length = 0x00001FF8
/* RAMLS1_RSVD:origin = 0x0000BFF8、length = 0x00000008 *//*根据 errata 公告"存储器:预取超出有效存储器"*、保留代码空间并勿用于此代码
复位:origin = 0x003FFFC0、length = 0x00000002
/*闪存扇区*/
/* FLASH_BANK0_SEC_0_7:origin = 0x080002、length = 0x1FFE *//*片上闪存*/
/* FLASHBANK0_BOOT:origin = 0x080002、length = 0x1FFE*//*远程更新*/
/* FLASH_BANK0_SEC_8_15:origin = 0x082000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_16_23:origin = 0x084000、length = 0x2000 *//*片上闪存*/
/* FLASHBANK0_FAST:origin = 0x082000、length = 0x04000 */
/* FLASH_BANK0_SEC_24_31:origin = 0x086000、length = 0x2000 *//*片上闪存*/
/* FLASHBANK0_DATA:origin = 0x09F000、length = 0x001000*//* constant data */
/* FLASH_BANK0_SEC_32_29:origin = 0x088000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_40_47:origin = 0x08A000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_48_55:origin = 0x08C000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_56_63:origin = 0x08E000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_64_71:origin = 0x090000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_72_79:origin = 0x092000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_80_87:origin = 0x094000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_88_95:origin = 0x096000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_96_103:origin = 0x098000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_104_111:origin = 0x09A000、length = 0x2000 *//*片上闪存*/
/* FLASH_BANK0_SEC_112_119:origin = 0x09C000、length = 0x2000 /*片上闪存*/
/* FLASH_BANK0_SEC_120_127:origin = 0x09E000、length = 0x1FF0 /*片上闪存*/
FLASHBANK0_CODE:origin = 0x090004、length = 0x00EFFC /* control code *// 0x9FFFF
/* FLASH_BANK0_SEC_127_RSVD:origin = 0x0A0FF0、length = 0x0010 *//*根据勘误表中的"Memory:prepeting Beyond VALID Memory"*、保留并勿用于代码
RAMM0S:origin = 0x00000128、length = 0x00000200 /* stack */
RAMM1D:origin = 0x00000328、length = 0x000004D0 /*片上 RAM 块 M1 */
RAMM1_RSVD:origin = 0x000007F8、length = 0x00000008 /*保留并勿使用勘误表中的"Memory: prefeting Beyond VALID Memory"*/所述的代码
RAMLS0F:origin = 0x00008000、length = 0x00000600 /* Reserve for fast */
RAMLS0D:origin = 0x00008600、length = 0x00000B00
RAMPARA:origin = 0x00009100、length = 0x00000F00
}
部分中)
{
.reset :> RESET , TYPE = DSECT /* NOT USED ,*/
codestart :> beging, align(4)
相关
{
.TI.ramfunc{
#if defined (MOTOR1_FAST)|| defined (MOTOR2_FAST)
-l est_trajState_coff.lib (.text)
#endif
#if defined (SFRA_ENABLE)
-l sfra_F32_tmu_coff.lib (.text)
-l sfra_F32_tmu_coff.lib (.text)
#endif
}
dclfuncs
dcl32funcs
} LOAD > FLASHBANK0_CODE、
Run > RAMLS1P、
Load_start (RamfuncsLoadStart)、
Load_Size (RamfuncsLoadSize)、
Load_End (RamfuncsLoadEnd)、
RUN_START (RamfuncsRunStart)、
RUN_SIZE (RamfuncsRunSize)、
RUN_END (RamfuncsRunEnd)、
对齐(8)
ctrlfuncs:load > FLASHBANK0_code、
Run > RAMLS1P、
load_start (loadStart_ctrlfuncs)、
load_end (loadEnd_ctrlfuncs)、
load_size (loadSize_ctrlfuncs)、
run_start (runStart_ctrlfuncs)、
RUN_END (runEnd_ctrlfuncs)、
run_size (runSize_ctrlfuncs)、
对齐(8)
.text :> FLASHBANK0_CODE, ALIGN (4)
.cinit :> FLASHBANK0_CODE, ALIGN (4)
.switch:> FLASHBANK0_CODE、ALIGN (4)
.cio :> FLASHBANK0_code
.pinit :> FLASHBANK0_CODE, ALIGN(4)
.const:> FLASHBANK0_CODE、ALIGN (4)
.init_array :> FLASHBANK0_code, align(4)
.stack:> RAMM0S.
. bss :> RAMM1D//RAMLS0D//
.bss:output :> RAMM1D.
bss:cio :> RAMM1D.
.data :> RAMM1D.
.sysmem :> RAMM1D.
fastCode :> FLASHBANK0_code
{
-- library=fast_full_lib.lib (.text )
}
/*分配 IQ 数学区域:*/
IQMath:> FLASHBANK0_CODE、ALIGN (8)
IQmathTables :> FLASHBANK0_CODE, ALIGN(8)
EST_DATA:> RAMLS0F、
load_start (loadStart_est_data)、
load_end (loadEnd_est_data)、
load_size (loadSize_est_data)
HAL_DATA :> RAMLS0D
load_start (loadStart_hal_data)
load_end (loadEnd_hal_data)、
load_size (loadSize_hal_data)
user_data :> RAMLS0D
load_start (loadStart_user_data)、
Load_End (loadEnd_USER_DATA)
load_size (loadSize_user_data)
FOC_DATA :> RAMLS0D
load_start (loadStart_foc_data)、
load_end (loadEnd_foc_data)、
load_size (loadSize_foc_data)
sys_data:> RAMLS0D、
load_start (loadStart_sys_data)、
load_end (loadEnd_sys_data)、
load_size (loadSize_sys_data)
vibc_data :> RAMLS0D
load_start (loadStart_vibc_data)、
load_end (loadEnd_vibc_data)、
load_size (loadSize_vibc_data)
dmaBuf_data :> RAMLS0D
Load_start (loadStart_dmaBuf_data)、
load_end (loadEnd_dmaBuf_data)、
load_size (loadSize_dmaBuf_data)
SFRA_F32_Data :> RAMLS0D
Load_start (loadStart_SFRA_F32_Data);
Load_End (LoadEnd_SFRA_F32_Data)、
Load_Size (loadSize_SFRA_F32_Data)
DATALOG_DATA :> RAMLS0D
LOAD_START (LoadStart_DATALOG_DATA)
LOAD_END (LOADEND_DATALOG_DATA)、
load_size (loadSize_data_data)
DBGC_DATA :> RAMLS0D
load_start (loadStart_dbgc_data)、
load_end (loadEnd_dbgc_data)、
load_size (loadSize_dbgc_data)
FUNCTION_DATA :> RAMLS0D.
pParDataFile :> RAMPARA
}
/*
//________________________________________________====
//文件结尾。
//________________________________________________====
*/