This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28379D:跨多种存储器范围从闪存复制函数到 RAM

Guru**** 2595800 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1107575/tms320f28379d-copy-function-from-flash-to-ram-accross-mutliple-memory-ranges

器件型号:TMS320F28379D

您好!

要使用 CLA、我有一个 Cla1Prog 部分、用于将代码从闪存复制到 RAM。 我的 CLA 程序占用了一个段的存储器空间、因此我合并了两个段、就像在 C2000示例中一样:  

 

RAMLS2_3      	: origin = 0x009000, length = 0x001000

	   	Cla1Prog    : LOAD = FLASHFG,
	                  RUN = RAMLS2_3,
	                  LOAD_START(Cla1funcsLoadStart),
	                  LOAD_END(Cla1funcsLoadEnd),
	                  RUN_START(Cla1funcsRunStart),
	                  LOAD_SIZE(Cla1funcsLoadSize),
	                  PAGE = 0, ALIGN(8)

但我更喜欢保留初始存储器除法并将代码拆分为多个存储器范围。 我尝试了以下代码、但未编译:  

   RAMLS2      	: origin = 0x009000, length = 0x000800
   RAMLS3      	: origin = 0x009800, length = 0x000800

	    Cla1Prog    : LOAD = FLASHFG,
	                  RUN = >> RAMLS2 | RAMLS3,
	                  LOAD_START(_Cla1funcsLoadStart),
	                  LOAD_END(_Cla1funcsLoadEnd),
	                  RUN_START(_Cla1funcsRunStart),
	                  LOAD_SIZE(_Cla1funcsLoadSize),
	                  PAGE = 0, ALIGN(8)

请注意、即使我的代码未编译、CLA 程序也会正确映射并拆分为两个输出段、其长度与我的存储器范围相对应。

因此、我想知道是否真的可以执行我想要执行的操作以及如何执行、或者我是否应该保持合并的存储 器范围。

谢谢你。