各位大佬,我现在有一块NUC029的芯片,现在想将全部的程序都放到EEPROM中去,将相当于芯片复位之后程序不会丢,开机之后依旧可以运行。不知道模仿EEPROM可不可以实现?如果可以的话,我按照例程那样的,直接将相关的的配置代码放到main()之内,while()之前行不行?
#define Test_data_size 8
#define Test_page_amount 4
int main(void)
{
uint32_t flash_i;
uint8_t u8Data;
int instant_sec,last_sec;
uint8_t key;
SYS_UnlockReg();
SYS_Init();
SYS_LockReg();
/***********************************
利用data flash模拟EEPROM
************************************/
/* Test Init_EEPROM() */
Init_EEPROM(Test_data_size, Test_page_amount);
/* Test Search_Valid_Page() */
Search_Valid_Page();
/* Test Write_Data() */
for(flash_i = 0; flash_i < 254; flash_i++)
{
Write_Data(flash_i%Test_data_size, flash_i%256);
}
/* Test Write_Data() contain Manage_Next_Page() */
Write_Data(flash_i%Test_data_size, 0xFF);
/* Test Read_Data() */
Read_Data(0x7, &u8Data);
/* Test Write over 20000 times */
while(Get_Cycle_Counter() < 20000)
{
for(flash_i = 0; flash_i < 247; flash_i++)
{
Write_Data(flash_i%Test_data_size, flash_i%256);
}
}
...........
while(1)
{
......
......
......
}
}
|
|