请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F2416 你(们)好
我们正在项目中使用 msp430f2416处理器、我已将引导加载程序固件加载到 RAM 中。 即使在重新启动后、引导加载程序固件仍保留在 RAM 存储器中。
因此,我无法理解固件如何保留,即使处理器没有 FRAM。 我还附加了下面的引导加载程序链接器文件。
/*==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== *
//版权所有(c) 2017,Texas Instruments Incorporated *
/* 保留所有权利。 *
/* *
/* 以源代码和二进制形式重新分发和使用,有无 *
/* 如果满足以下条件,则允许进行修改 *
/* 满足: *
/* *
/* 源代码的重新分发必须保留上述版权 *
/* 注意、此条件列表和以下免责声明。 *
/* *
/* 二进制形式的再发行必须复制上述版权 *
/* 注意、* /中的此条件列表和以下免责声明
/* 随分发提供的文件和/或其他材料。 *
/* *
/* 德州仪器公司的名称和 */的名称均不相同
/* 其贡献者可用于认可或推广衍生产品 */
/* 来自此软件,未经特定的事先书面许可。 *
/* *
/* 本软件由版权所有者和贡献者"按原样"提供*/
/* 和任何明示或暗示的保证、包括但不限于 */
/* 特定适销性和适用性的隐含保证 */
/* 不承认目的。 在任何情况下、版权所有者不得或 *
/* 捐助者应对任何直接、间接、偶然、特殊、 */负责
/* 典型或必然的损害(包括但不限于 *
/* 采购替代货物或服务;丧失使用、数据或利润;*
/* 或业务中断)
/* 无论是合同、严格责任还是侵权行为(包括疏忽或 */)
/* 其他)因使用本软件而以任何方式产生、 *
/* 即使被告知可能发生这种损害。 *
/*==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== *
/********* /
/* lnk_msp430f2416.cmd -用于链接 MSP430F2416程序 的链接器命令文件*
/* *
/* 用法: lnk430 -o -m lnk.cmd */
/* cl430 z -o -m lnk.cmd */
/* *
/*------------------ *
/*这些链接器选项仅用于命令行链接。 对于 IDE 链接、 */
/*您应该在“项目属性”中设置链接器选项 *
/*-c. 使用 C 约定进行链接 */
/*-stack 0x0100 软件栈大小 */
/*-heap 0x0100 堆区域大小 *
/* *
/*------------------ *
/*版本:1.201 *
/*------------------ *
/ /
/*指定系统内存映射 *
/ /
存储器
{
SFR :origin = 0x0000、length = 0x0010
外设_8位 :origin = 0x0010,length = 0x00F0
peripherals_16BIT :origin = 0x0100、length = 0x0100
//RAM :origin = 0x1100、length = 0x1000
//RAM :origin = 0x1110,length = 0x07F0//2KB
RAM :origin = 0x1100、length = 0x08CC //3kb
INFOA :origin = 0x10C0、length = 0x0040
信息 :origin = 0x1080、length = 0x0040
信息系统 :origin = 0x1040、length = 0x0040
信息系统 :origin = 0x1000、length = 0x0040
闪存 :origin = 0x2100,length = 0xDEBE
FLASH2 :origin = 0x10000、length = 0x9000
BSLSIGNATURE :origin = 0xFFBE,length = 0x0002,fill = 0xFFFF
INT00 :origin = 0xFFC0、length = 0x0002
INT01 :origin = 0xFFC2,length = 0x0002
INT02 :origin = 0xFFC4,length = 0x0002
INT03 :origin = 0xFFC6、length = 0x0002
INT04 :origin = 0xFFC8,length = 0x0002
INT05 :origin = 0xFFCA,length = 0x0002
INT06 :origin = 0xFFCC,length = 0x0002
INT07 :origin = 0xFFCE,length = 0x0002
INT08 :origin = 0xFFD0、length = 0x0002
INT09 :origin = 0xFFD2,length = 0x0002
INT10. :origin = 0xFFD4、length = 0x0002
INT11. :origin = 0xFFD6、length = 0x0002
INT12. :origin = 0xFFD8、length = 0x0002
INT13. :origin = 0xFFDA,length = 0x0002
INT14 :origin = 0xFFDC,length = 0x0002
INT15. :origin = 0xFFDE,length = 0x0002
内部16. :origin = 0xFFE0、length = 0x0002
INT17. :origin = 0xFFE2,length = 0x0002
INT18 :origin = 0xFFE4,length = 0x0002
INT19. :origin = 0xFFE6,length = 0x0002
INT20. :origin = 0xFFE8、length = 0x0002
INT21. :origin = 0xFFEA,length = 0x0002
INT22. :origin = 0xFFEC,length = 0x0002
INT23 :origin = 0xFFEE,length = 0x0002
INT24 :origin = 0xFFF0,length = 0x0002
INT25. :origin = 0xFFF2,length = 0x0002
INT26. :origin = 0xFFF4,length = 0x0002
INT27. :origin = 0xFFF6、length = 0x0002
INT28 :origin = 0xFFF8,length = 0x0002
INT29 :origin = 0xFFFA,length = 0x0002
INT30 :origin = 0xFFFC,length = 0x0002
复位 :origin = 0xFFFE,length = 0x0002
}
/ /
/*指定段分配到内存中 *
/ /
部分
{
.bss :{}> RAM /*全局和静态变量 *
.data :{}> RAM /*全局和静态变量 *
.TI.noinit :{}>RAM /*用于#pragma noinit *
.sysmem :{}>RAM /*动态内存分配区域 */
.stack :{}> RAM (高) /*软件系统堆栈 *
#ifndef __large_code_model__
.text :{}> FLASH /*代码 *
其他
.text :{}>> RAM //FLASH2 | FLASH /*代码 *
#endif
.text:_ISR :{}> RAM /* ISR 代码空间 *
.cinit :{}>RAM /*初始化表 *
#ifndef __large_data_model__
.const :{}>RAM /*常量数据 *
其他
.const :{}>> RAM /*常量数据 *
#endif
bslsignature :{}> BSLSIGNATURE /* BSL Signature *
.cio :{}> RAM /* C I/O 缓冲器 *
.pinit :{}>RAM /* C++构造函数表 *
binit :{}> RAM /*引导时初始化表 */
init_array:{}> RAM /* C++构造函数表 *
.mspabi.exidx:{}> RAM /* C++构造函数表 *
.mspabi.extab:{}> RAM /* C++构造函数表 *
#ifdef __TI_Compiler_version__
#if __TI_Compiler_version__>=15009000
#ifndef __large_code_model__
.TI.ramfunc:{} load=flash,run=RAM,table (BINIT)
其他
.TI.ramfunc:{} load=flash | FLASH2、run=RAM、table (BINIT)
#endif
#endif
#endif
infoA :{}>infoA /* MSP430 INFO 闪存段*/
infoB :{}>infoB
infoC :{}>infc.oC
infoD :{}> infod
/* MSP430中断矢量 *
RESERVED0 :{*(.int00 )}> INT00 TYPE = VECT_INIT
RESERVED1 :{*(.int01 )}> INT01类型= VECT_INIT
RESERVED2 :{*(.int02 )}> INT02 TYPE = VECT_INIT
RESERVED3 :{*(.int03 )}> INT03 TYPE = VECT_INIT
RESERVED4 :{*(.int04 )}> INT04类型= VECT_INIT
RESERVED5 :{*(.int05 )}> INT05 TYPE = VECT_INIT
RESERVED6 :{*(.int06 )}> INT06 TYPE = VECT_INIT
RESERVED7 :{*(.int07 )}> INT07 TYPE = VECT_INIT
RESERVE8 :{*(.int08 )}> INT08 TYPE = VECT_INIT
RESERVE9 :{*(.int09 )}> INT09 TYPE = VECT_INIT
RESERVE10 :{*(.INT10 )}> INT10 type = VECT_INIT
RESERVED11 :{*(.INT11 )}> INT11 type = VECT_INIT
RESERVE12 :{*(.INT12 )}> INT12 TYPE = VECT_INIT
RESERVE13 :{*(.INT13 )}> INT13 TYPE = VECT_INIT
RESERVE14 :{*(.INT14 )}> INT14 TYPE = VECT_INIT
RESERVED15 :{*(.int15 )}> INT15 type = VECT_INIT
USCIAB1TX :{*(.Int16 )}> Int16 TYPE = VECT_INIT
USCIAB1RX :{*(.int17 )}> INT17 TYPE = VECT_INIT
端口1 :{*(.int18)}> INT18 type = VECT_init
端口2 :{*(.int19)}> INT19类型= VECT_INIT
RESERVE20 :{*(.int20 )}> INT20 type = VECT_INIT
ADC12. :{*(.int21)}> INT21 type = VECT_init
USCIAB0TX :{*(.int22 )}> INT22 TYPE = VECT_INIT
USCIAB0RX :{*(.int23 )}> INT23 TYPE = VECT_INIT
TIMERA1 :{*(.int24)}> INT24 type = VECT_INIT
TIMERA0 :{*(.int25 )}> INT25 TYPE = VECT_INIT
WDT :{*(.int26)}> INT26 type = VECT_init
COMPARATORA :{*(.int27 )}> INT27 TYPE = VECT_INIT
TIMERB1 :{*(.int28)}> INT28 type = VECT_INIT
TIMERB0 :{*(.int29 )}> INT29 TYPE = VECT_INIT
NMI :{*(.int30 )}> INT30类型= VECT_INIT
重置 :{} >复位 /* MSP430复位矢量 *
}
/ /
/*包括外设内存映射 *
/ /
l msp430f2416.cmd