TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28035: flash API

Part Number:TMS320F28035

flash API 中为什么没有读flash的函数?

#if FLASH_F2803x
#define Flash_Erase(a,b) Flash2803x_Erase(a,b)
#define Flash_Program(a,b,c,d) Flash2803x_Program(a,b,c,d)
#define Flash_Verify(a,b,c,d) Flash2803x_Verify(a,b,c,d)
#define Flash_ToggleTest(a,b) Flash2803x_ToggleTest(a,b)
#define Flash_DepRecover() Flash2803x_DepRecover()
#define Flash_APIVersionHex() Flash2803x_APIVersionHex()
#define Flash_APIVersion() Flash2803x_APIVersion()
#endif

Susan Yang:

您可以直接使用读如下的指针来获取

 Uint16  *Flash_ptr;     // Pointer to a location in flash

Flash_ptr = Sector[1].StartAddr;

,

user5860441:

感谢,已经自己编写了一个read函数了。再问两个问题

扇区是硬件决定的还是软件决定的?CMD文件中能不能把一个扇区长度变小一点,一个变大一点?

一个扇区16KB,前两个地址写好数据,最后两个地址写好数据,现在要重新修改前两个地址的数据,怎么弄才不会影响最后两个地址的数据?

,

Susan Yang:

user5860441 说:CMD文件中能不能把一个扇区长度变小一点,一个变大一点?

扇区是已经固定好的。但是您可以在cmd文件内来合并连续扇区来组成更大的空间

user5860441 说:一个扇区16KB,前两个地址写好数据,最后两个地址写好数据,现在要重新修改前两个地址的数据,怎么弄才不会影响最后两个地址的数据?

我记得Program写入函数一次只能操作1个16-bit字长度

,

user5860441:

可以写入一个数组。

我的意思是当要修改已经被编程的数据时,要使用擦除函数,怎么不影响不想修改的同扇区的其他地址的数据?

,

Susan Yang:

FLASH存储区一次擦除的最小单位是1个扇区;

,

user5860441:

这个我知道,就是这个原因,怎么不影响不想修改的同扇区的其他地址的数据?

,

user5860441:

1个扇区16KB,整个RAM才20KB,我不能说把整个扇区中的数据都读出来,修改好,再擦除扇区,再program吧?

,

Susan Yang:

就目前来说,是这样的机制:

擦的时候一次擦除的最小单位是1个扇区;Program写入函数一次可以操作1个16-bit字长度

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28035: flash API
分享到: 更多 (0)