This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
//cmd文件声明 :
FLASH_BANK0_SEC8 : origin = 0x088000, length = 0x001000 /* on-chip Flash */
FlashScopeRegsFile : > FLASH_BANK0_SEC8, type=NOINIT
//数据段与结构体声明
#pragma DATA_SECTION(scopeRegs,"FlashScopeRegsFile");
volatile FlashScopeRegs_S scopeRegs;
typedef struct FlashScopeRegs_S
{
//存储的标定值
CalibDataXYZW_S calib;
CHAR brightness;
LONG_INT temperature;
}FlashScopeRegs_S;
FlashScopeRegs_S a;
a.temperature = 37; 写完后值还是-1,FLASH没有成功
你好,感谢您对TI产品的关注!为更加有效地解决您的问题,由于问题比较复杂,我需要询问更了解这款芯片的TI资深工程师,再为您解答,一旦得到回复会立即回复给您。
你好,我认为写入FLASH要比这复杂的多。通常,首先需要在扇区中擦除闪存,然后在较小的块中编程,比如128字节。
TI 提供了一个用于闪存管理的 API。 以下是适用于您的器件的文档:
https://www.ti.com/lit/ug/spnu631/spnu631.pdf
您也可以参考一下下面的文档,可能更适合您的需求:
你好,我不是很理解您的问题但是:
那寄存器为什么可以读写呢,
您的示例代码中没有寄存器。 FlashScopeRegister File 是一个误导性名称、它不是一个寄存器、而只是一个闪存存储器中的地址。 您正在尝试读取(成功)和写入(不成功)到闪存扇区的开头。 这取决于处理器在闪存不可写时尝试写入闪存时发生的情况。 在 C28x 的情况下、尝试会被忽略
Flash2833x_API_Config.h
对您的器件来说,您应该看看以下文件:
C:\ti\c2000\C2000Ware_4_02_00_00\libraries\flash_api
我是不是搞个I2C外接EEPROM要更通用一些
您应该是想问用I2C外界EEPROM是否更容易,是的,如果您只有几KB去存储的话,这将是我的选择。下面有关于EEPROM的示例:
C:\ti\c2000\C2000Ware_4_02_00_00\driverlib\f28002x\examples\i2c
你好,有关 Flash2833x_API_Config.h 的问题,它适用于别的的器件、不适用于 F28002x。 TI 发布特定于每个器件的软件支持包、因此请确保您已下载最新的 C2000ware 软件包、并且正在使用该软件包内 F28002x 目录中的头文件/库。
在 C2000Ware_4_xx_xx_xx\driverlib\f28002x\examples\flash 目录中,您将找到使用闪存 API 对器件闪存进行编程和擦除的 CCS 项目示例。