Обновление

This commit is contained in:
cfif 2026-05-22 16:54:21 +03:00
parent 0915a5f9f5
commit b2c9e201cb
2 changed files with 65 additions and 49 deletions

View File

@ -106,8 +106,8 @@ static void Bsp_SCG_Init(void) {
.bLock = false,
.bCm = false,
.bTrEn = false,
.bLpen = false,
.bSten = false,
.bLpen = true,
.bSten = true,
.eDivH = SCG_ASYNCCLOCKDIV_BY1,
.eDivM = SCG_ASYNCCLOCKDIV_BY1,
.eDivL = SCG_ASYNCCLOCKDIV_BY2,
@ -165,6 +165,14 @@ static void Bsp_PCC_Init(void) {
bSP_PCC_Config.eDivider = PCC_CLK_UNINVOLVED;
PCC_SetPcc(&bSP_PCC_Config);
// PCC_CLK_WKU0
bSP_PCC_Config.eClockName = PCC_CLK_WKU0;
bSP_PCC_Config.bEn = true;
bSP_PCC_Config.eClkSrc = PCC_CLKGATE_UNINVOLVED;
bSP_PCC_Config.eDivider = PCC_CLK_UNINVOLVED;
PCC_SetPcc(&bSP_PCC_Config);
}
void Bsp_Systick_Init(void)

View File

@ -62,8 +62,6 @@ const DMA_InitType dmaInitCfg =
};
static _Noreturn void MainTransmitter_Thread(tBootMma *env) {
DMA_Init(DMA_INSTANCE_0, &dmaInitCfg);
@ -90,6 +88,12 @@ static _Noreturn void MainTransmitter_Thread(tBootMma *env) {
LoggerInfoStatic(&env->slog.logger, LOG_SIGN, "Initialization of subsystems")
if (RGM_SRS_WAKEUP_MASK == (RGM->SRS & RGM_SRS_WAKEUP_MASK)) {
LoggerInfoStatic(&env->slog.logger, LOG_SIGN, "The bootloader is ignored (waking up)")
} else {
// StorageOnFlash_Init(&env->slog.logger);
// NVM_STORAGE.nf_storage_param.logger = &env->slog.logger;
@ -109,7 +113,8 @@ static _Noreturn void MainTransmitter_Thread(tBootMma *env) {
LoggerInfoStatic(&env->slog.logger, LOG_SIGN, "Main firmware: Checksum is not correct")
if (*env->FIRMWARE_HVAC.main.metadata.crc == 0) {
LoggerInfoStatic(&env->slog.logger, LOG_SIGN, "Main firmware: Checksum not found (The program may have been flashed using JTAG ?)")
LoggerInfoStatic(&env->slog.logger, LOG_SIGN,
"Main firmware: Checksum not found (The program may have been flashed using JTAG ?)")
}
}
@ -144,17 +149,19 @@ static _Noreturn void MainTransmitter_Thread(tBootMma *env) {
if (isMain) {
LoggerInfoStatic(&env->slog.logger, LOG_SIGN, "Main firmware (after update): Checksum is correct")
} else {
LoggerInfoStatic(&env->slog.logger, LOG_SIGN, "Main firmware (after update): Checksum is not correct")
LoggerInfoStatic(&env->slog.logger, LOG_SIGN,
"Main firmware (after update): Checksum is not correct")
}
}
}
}
SystemDelayMs(10);
BootJumpToAddress(FIRMWARE_MAIN_ADDR);
for (;;) {
LoggerInfoStatic(&env->slog.logger, LOG_SIGN, "Bootloader error")
SystemDelayMs(1000);
}
}
@ -171,6 +178,7 @@ int main(void) {
NVIC_SetPriorityGrouping(NVIC_PRIORITY_GROUP_4);
osKernelInitialize();
tBootMma *env = &MAIN_BOOT_ENV;