fix with erasing flash memory in STM32F100 target

tatry_variant
Mateusz Lubecki 2022-08-20 15:05:47 +02:00
rodzic 9048419ffb
commit 9b6f8013ac
3 zmienionych plików z 18 dodań i 9 usunięć

Wyświetl plik

@ -4,7 +4,6 @@
# Add inputs and outputs from these tool invocations to the build variables # Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \ C_SRCS += \
../src/KissCommunication.c \
../src/LedConfig.c \ ../src/LedConfig.c \
../src/PathConfig.c \ ../src/PathConfig.c \
../src/TimerConfig.c \ ../src/TimerConfig.c \
@ -18,6 +17,8 @@ C_SRCS += \
../src/float_to_string.c \ ../src/float_to_string.c \
../src/io.c \ ../src/io.c \
../src/it_handlers.c \ ../src/it_handlers.c \
../src/kiss_callback.c \
../src/kiss_communication.c \
../src/main.c \ ../src/main.c \
../src/packet_tx_handler.c \ ../src/packet_tx_handler.c \
../src/rte_main.c \ ../src/rte_main.c \
@ -32,7 +33,6 @@ C_SRCS += \
../src/wx_pwr_switch.c ../src/wx_pwr_switch.c
OBJS += \ OBJS += \
./src/KissCommunication.o \
./src/LedConfig.o \ ./src/LedConfig.o \
./src/PathConfig.o \ ./src/PathConfig.o \
./src/TimerConfig.o \ ./src/TimerConfig.o \
@ -46,6 +46,8 @@ OBJS += \
./src/float_to_string.o \ ./src/float_to_string.o \
./src/io.o \ ./src/io.o \
./src/it_handlers.o \ ./src/it_handlers.o \
./src/kiss_callback.o \
./src/kiss_communication.o \
./src/main.o \ ./src/main.o \
./src/packet_tx_handler.o \ ./src/packet_tx_handler.o \
./src/rte_main.o \ ./src/rte_main.o \
@ -60,7 +62,6 @@ OBJS += \
./src/wx_pwr_switch.o ./src/wx_pwr_switch.o
C_DEPS += \ C_DEPS += \
./src/KissCommunication.d \
./src/LedConfig.d \ ./src/LedConfig.d \
./src/PathConfig.d \ ./src/PathConfig.d \
./src/TimerConfig.d \ ./src/TimerConfig.d \
@ -74,6 +75,8 @@ C_DEPS += \
./src/float_to_string.d \ ./src/float_to_string.d \
./src/io.d \ ./src/io.d \
./src/it_handlers.d \ ./src/it_handlers.d \
./src/kiss_callback.d \
./src/kiss_communication.d \
./src/main.d \ ./src/main.d \
./src/packet_tx_handler.d \ ./src/packet_tx_handler.d \
./src/rte_main.d \ ./src/rte_main.d \

Wyświetl plik

@ -8,7 +8,7 @@
#include "config_data.h" #include "config_data.h"
#define SW_VER "EA16" #define SW_VER "EA16"
#define SW_DATE "15082022" #define SW_DATE "20082022"
#define SYSTICK_TICKS_PER_SECONDS 100 #define SYSTICK_TICKS_PER_SECONDS 100
#define SYSTICK_TICKS_PERIOD 10 #define SYSTICK_TICKS_PERIOD 10

Wyświetl plik

@ -78,8 +78,8 @@ const config_data_gsm_t * config_data_gsm_default_ptr = (const config_data_gsm_t
#endif #endif
#ifdef STM32F10X_MD_VL #ifdef STM32F10X_MD_VL
const uint16_t * config_data_pgm_cntr_first_ptr = &config_data_pgm_cntr_first; const uint16_t * config_data_pgm_cntr_first_ptr = &config_data_pgm_cntr_first_ptr;
const uint16_t * config_data_pgm_cntr_second_ptr = &config_data_pgm_cntr_second; const uint16_t * config_data_pgm_cntr_second_ptr = &config_data_pgm_cntr_second_ptr;
const config_data_mode_t * config_data_mode_first_ptr = &config_data_mode_first; const config_data_mode_t * config_data_mode_first_ptr = &config_data_mode_first;
const config_data_basic_t * config_data_basic_first_ptr = &config_data_basic_first; const config_data_basic_t * config_data_basic_first_ptr = &config_data_basic_first;
@ -208,8 +208,9 @@ static int configuration_handler_program_crc(uint32_t crc, int8_t bank) {
#ifdef STM32F10X_MD_VL #ifdef STM32F10X_MD_VL
// program the CRC value // program the CRC value
*(uint16_t*)((uint16_t *)config_section_first_start + CRC_16B_WORD_OFFSET) = (uint16_t)(target_crc_value & 0xFFFF); *(uint16_t*)((uint16_t *)config_section_first_start + CRC_16B_WORD_OFFSET) = (uint16_t)(crc & 0xFFFF);
*(uint16_t*)((uint16_t *)config_section_first_start + CRC_16B_WORD_OFFSET + 1) = (uint16_t)((target_crc_value & 0xFFFF0000) >> 16); WAIT_FOR_PGM_COMPLETION
*(uint16_t*)((uint16_t *)config_section_first_start + CRC_16B_WORD_OFFSET + 1) = (uint16_t)((crc & 0xFFFF0000) >> 16);
flash_status = FLASH_GetBank1Status(); flash_status = FLASH_GetBank1Status();
@ -423,6 +424,10 @@ uint32_t configuration_handler_restore_default_first(void) {
int comparision_result = 0; int comparision_result = 0;
#ifdef STM32F10X_MD_VL
FLASH_Unlock();
#endif
// erase first page // erase first page
flash_status = FLASH_ErasePage((uint32_t)config_section_first_start); flash_status = FLASH_ErasePage((uint32_t)config_section_first_start);
flash_status = FLASH_ErasePage((uint32_t)config_section_first_start + 0x400); flash_status = FLASH_ErasePage((uint32_t)config_section_first_start + 0x400);
@ -547,8 +552,9 @@ uint32_t configuration_handler_restore_default_second(void) {
int comparision_result = 0; int comparision_result = 0;
// unlock flash memory #ifdef STM32F10X_MD_VL
FLASH_Unlock(); FLASH_Unlock();
#endif
// erase first page // erase first page
flash_status = FLASH_ErasePage((uint32_t)config_section_second_start); flash_status = FLASH_ErasePage((uint32_t)config_section_second_start);