各位大佬,我现在有一块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) { ...... ...... ...... } } |
更多回帖