大家好!
尽管应用的链接命令文件中未提及从地址0开始的存储器位置、但映射文件中会出现一些相应的条目。
00000000 _ASM__
00000001 XDC_ROV_RUNTIME_MON___CHECKSUM
00000001 xDC_ROV_RUNTIME_MON__WRITE
00000001 XDC_RUNTIME_Startup__EXECFXN__C
00000001 XDC_RUNTIME_Startup__RESETFXN__C
00000070 _ISA__
00000083 __PLAT__
000000aa _TARG__
000000CF __TRDR__
00000800 __STACK_SIZE
应用程序也可以访问该区域、但不能更改。
我认为这些条目来自额外的连接器配置文件 wifi_firmware_linkinfo.xml、此文件基于某些其它文件、例如 xdctools_xxxx\packages\XDC\cfg\Program.xdt。
CC3220MODx 和 CC3220MODAx 的数据表指出为片上 ROM 保留区域(bootloader + DriverLib)。
我想使用地址0进行 NULL 指针检查、或者至少在该位置具有0固定值。
理想情况下、当访问地址0时会发生异常、例如访问地址0x5000.0000时。
1.是否有人实施了访问地址0的异常处理?
除了我的主问题、我还有以下相关的问题:
2.是否有必要将从地址0开始的区域映射到正在运行的应用程序(例如用于调用 DriverLib 函数);如果有, 上述值是否可以移动到其他位置,例如 SRAM 的起始位置?
3.是否有一个列表显示了从地址0开始的数据的含义?
非常感谢、此致、
罗曼