Доброе время суток всем котам и кошечкам. Столкнулся с проблемой записи во FLASH память микроконтроллера CH32V203C8T6.
Задача стоит такая. Производится запись во FLASH память некоторые параметры и при следующем включении запуск программы должен быть с этими же параметрами. Делаю это так:
1. В линке указываю секцию для параметров ".mySegment 0x00005000 : {KEEP(*(.mySection))}"
2. В проге указываю адрес FLASH где хранятся параметры и задаю первоначальные параметры
Код:
#define FLASH_ADDR ((uint32_t)0x08005000)
const uint8_t Flash_Par[256] __attribute__((section(".mySection"))) = {
0xFA,
0xFF,
0xFF,
0xFF,
0xFD,
};
В общем как ведёт себя прога. Если не менять параметры, то работает нормально. При изменении параметров (записи во FLASH ), всё записывает, в отладчике вижу что по адресу записал нормально, всё работает. А теперь и сама проблема. После перезагрузки (снял питание, потом подал), по адресу во FLASH записано 0xFF. Что я не так делаю? Помогите!!!