主题:C2000WARE 中讨论的其他器件
工具/软件:
我收到以下错误:
loader:程序的一个或多个段落在不可写的存储器区域中。 这些区域实际上不会写入目标。 检查链接器配置和/或存储器映射。
经过进一步调查、它似乎与.const 段字符串数据相关:
(从.map 文件中)
.const 0 00088000 000007ac
00088000 00000457 (.const:.string)
00088457 00000001 --孔--[填充= 0]
00088458 0000009c driverlib.lib:flash.obj (.const:.string)
000884f4 0000009b:epwm.obj (.const:.string)
0008858f 00000001 --孔--[填充= 0]
00088590 0000009b:gpio.obj (.const:.string)
0008862b 00000001 --孔--[填充= 0]
0008862c 0000009b:sysctl.obj (.const:.string)
000886c7 00000001 --孔--[填充= 0]
000886c8 00000098:sci.obj (.const:.string)
00088760 0000004c:adc.obj (.const:.string)
但是、当我更改 xxx_flash_lnk.cmd 文件以将该段放置在.text 段之后(在32K 内)时、问题就会消失。
换句话说、该器件的行为就好像它只有32K 的闪存、而不是实际的64K 闪存一样。
如何访问另一个32K、为什么加载器无法按照链接器输出的指令写入上部64K?
谢谢您、
-Sergio