1.CC3200 RAM 地址范围从 0x20000000 – 0x20003FFF:这个空间是由 BOOTLOADER 和应用程序共享的,0x20004000to END of RAM:这个空间被应用程序独享 ,请问能不能将程序独享的RAM 在应用程序中存数据呢? 如果可以,在哪里设置?
2.RAM的设置,是不是在bootmgr/bootmgr.cmd 文件下设置吗?
SDK中的例程是下面的设置:
#define RAM_BASE 0x20000000
/* System memory map */
MEMORY
{
/* Application uses internal RAM for program and data */
SRAM_CODE (RWX) : origin = 0x20000000, length = 0x37FF
SRAM_DATA (RWX) : origin = 0x20003800, length = 0x0800
}
也不是手册写的从 0x20000000 – 0x20003FFF:这个空间是由 BOOTLOADER 和应用程序共享的,0x20004000to END of RAM:这个空间被应用程序独享 ,请给与协助.
谢谢!
Susan Yang:
0x20004000 to END 仅适用于application
如果RAM不够使用,建议使用最新的CC3220SF芯片,内置了1MB字节的Flash,其中代码可以直接在Flash中运行,并且提供256kB的RAM给客户使用。
Yonghua Pan:
程序独享的RAM那只是RAM,你保存的数据reset之后就消失了。如果你是IAR的话,参考blinky例程里面有个文件cc3200.icf. CCS的话参考cc3200v1p32.cmd
xu zhang16:
回复 Susan Yang:
你好,是不是这样理解,就是0x20004000 to END 仅能用于存放code ,不能调整这个空间的大小来存数据,CC3200的存数据的RAM,只有16KB
Yonghua Pan:
回复 xu zhang16:
不是的,看你怎么理解保存数据。你保存的数据在设备重启后需要仍然存在吗?如果是的话,那你要保存在外部FLASH,如果只是临时保存,设备重启后不需要存在,那你可以放在RAM里面。你说的16KB的RAM用不了。
xu zhang16:
回复 Yonghua Pan:
你好:
我存数据的使用场景就是在系统运行的时候,掉电后就不存在了,在程序运行的时候需要保存大量的临时数据,你说的 16KB 的RAM用不了是什么意思?
那么请问,0x20004000 to END,的RAM空间,除了可以存放CODE,如果在程序运行时,用来存放临时的数据,怎么申请?