前些天发了一个测试FRAM
读写的贴子https://bbs.eeworld.com.cn/thread-453526-1-1.html
,dontium小朋友问我能不能写0x10000~0x013fff
我段地址。 我试了一下,没什么问题,就回他了。顺便看到他发的贴子有关于FRAM读写的问题,又看了看别人发的贴子,好像有些同学有在尝试怎么修改.CMD文件来操作0x10000~0x013fff这段地址大概是这样吧。
其实写这个地址没什么难的,只要不是在代码里声明一个足够大的常量来使用这个地址都可以通过指针来实现,比如这样:
#define FRAM_STORE_START_ADDRESS 0x10000
uint8_t *FRAM_write_ptr;
void fram_test(void)
{
uint32_t i;
FRAM_write_ptr = (uint8_t *) FRAM_STORE_START_ADDRESS;
for(i=0;i<256;i++)
{
*FRAM_write_ptr++ = (uint8_t)(i);
}
}
当然如果发现写入的数据在Memory里没有显示,对于IAR系统还需要改一个设置
把右边的Data Model改成Large就OK了。
当然,CCS怎么改就得用的人自己研究喽。
是不是很简单?