主题中讨论的其他器件:HALCOGEN
工具/软件:TI C/C++编译器
您好:
我想对地址 从0x000FE000到0x000FE3E8的闪存进行编程。第一步,我测试 bank0,sector0,但我发现当我操作闪存到步骤时出现错误,就像操作 EEPROM 一样。我打开不匹配的内存刷子 我的写入缓冲器。
主函数如下所示:
int main()
{
Fapi_initializeFlashBanks (GCLK_FREQ);
Fapi_setActiveFlashBank (Fapi_FlashBank0);
Fapi_enableMainBankSectors (0);//0x0000_0000-0x0000_3FFF sector0
fapi_flash_save (0x00000000、api_flash_save_data、16);
fapi_flash_read (0x00000000、api_flash_read_data、16);
while (1);
}
uint8 fapi_flash_save (uint32_t * Flash_Start_Adress、uint32_t * Datas_Start_Adress、uint8_t Datas_sizeInBytes)
{
寄存器 uint32_t esa=Flash_Start_Adress;
寄存器 uint32_t dSA=Data_Start_Adress;
寄存器 uint8_t DSB=Datas_sizeInBytes;
while (Data_SizeInBytes>0)
{
if (fapi_Status_FsmReady = fapi_checkFsmForReady ())
中断;
}
fapi_issueProgrammingCommand ((uint32_t*) ESA、(uint8_t*) DSA、DSB、0、0、 Fapi_AutoEccGeneration);
// fapi_doVerifyByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByte (((((uint8_t*) ESA、(uint32_t) DSB、uint32_t DSA、
}
uint8 fapi_flash_read (uint32_t * Flash_Start_Adress、uint32_t * Datas_Start_Adress、uint8_t Datas_sizeInBytes)
{
寄存器 uint32_t esa=Flash_Start_Adress;
寄存器 uint32_t dSA=Data_Start_Adress;
寄存器 uint8_t DSB=Datas_sizeInBytes;
while (1)
{
if (fapi_Status_FsmReady = fapi_checkFsmForReady ())
中断;
}
Fapi_doMarginReadByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByByte(UINT32_t*) ESA、(uint8_t*) DSA、(uint8_t)DSB、Fapi_normalRead);
}