ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
718556 Топик полностью
il-2 (08.12.2016 12:09 - 12:13, просмотров: 49) ответил Ljutik1 на как правильно писать данные во FLASH STM32F072RBT6?
Навскидку, не заглядывая в даташит - писать можно по любому адресу. При стирании можно указать тоже любой адрес, будет стерт весь сектор. Чтобы в секторе не оказалось ничего нужного, нужно объявить массив размером в сектор и выровненный по границе сектора. Как-то так: static union { __packed struct { uint16_t var1; uint32_t var2; uint16_t array1[ARRAY1_SZ]; uint16_t array2[ARRAY2_SZ]; }; uint8_t Data[FLASH_PAGE_CNT * FLASH_PAGE_SZ]; } const FlashBlock __attribute__ ((aligned(FLASH_PAGE_SZ))) = { VAR1_INIT_VALUE, VAR2_INIT_VALUE, { ARRAY1_INIT_VALUE0, .. }, { ARRAY2_INIT_VALUE0, .. } };