Обновление

This commit is contained in:
cfif 2026-01-19 15:59:09 +03:00
parent 21f9f63a91
commit 1d4459df9d
3 changed files with 41 additions and 18 deletions

View File

@ -165,12 +165,6 @@ static void Bsp_PCC_Init(void) {
bSP_PCC_Config.eDivider = PCC_CLK_UNINVOLVED; bSP_PCC_Config.eDivider = PCC_CLK_UNINVOLVED;
PCC_SetPcc(&bSP_PCC_Config); PCC_SetPcc(&bSP_PCC_Config);
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) void Bsp_Systick_Init(void)

View File

@ -10,11 +10,14 @@
#include "CmsisRtosThreadUtils.h" #include "CmsisRtosThreadUtils.h"
#include "SystemDelayInterface.h" #include "SystemDelayInterface.h"
#include "DeviceStorage.h" #include "DeviceStorage.h"
#include "BootJump.h"
#define BOOT_AREA_LENGTH (256 * 1024)
#define FIRMWARE_MAIN_ADDR (0x01000000 + BOOT_AREA_LENGTH)
#define FIRMWARE_MAIN_RECOVERY_ADDR (FIRMWARE_MAIN_ADDR + FIRMWARE_MAIN_AREA_LENGTH)
typedef struct { typedef struct {
tRtcs *rtcs;
tLoggerToSerialPort slog; tLoggerToSerialPort slog;
tStorageOnFlash *flash;
tDeviceStorage storage; tDeviceStorage storage;
struct { struct {
@ -49,21 +52,29 @@ void vApplicationStackOverflowHook(TaskHandle_t xTask, const char *pcTaskName) {
#endif #endif
const DMA_InitType dmaInitCfg =
{
.eArbitrationAlgorithm = DMA_ARBITRATION_ALGORITHM_FIXED_PRIORITY,
.bHaltOnError = false
};
static _Noreturn void MainTransmitter_Thread(tBootMma *env) { static _Noreturn void MainTransmitter_Thread(tBootMma *env) {
// Настройка таймера реального времени DMA_Init(DMA_INSTANCE_0, &dmaInitCfg);
time_t set_timestamp = 1768553105; StorageOnFlash_Init();
RtcSet(&env->rtcs->rtcI0, &set_timestamp); Rtcs_Init();
SerialPorts_Init(); SerialPorts_Init();
// Настройка таймера реального времени
time_t set_timestamp = 0;
RtcSet(&RTCS.rtcI0, &set_timestamp);
LoggerToSerialPort_Init( LoggerToSerialPort_Init(
&env->slog, &env->slog,
3, 0,
&SERIAL_PORTS.cliVirtualPortOut_Io, &SERIAL_PORTS.cliVirtualPortOut_Io,
&SERIAL_PORTS.SerialPortLog_IO, &SERIAL_PORTS.SerialPortLog_IO,
&env->rtcs->rtcI0, &RTCS.rtcI0,
SERIAL_LOGGER_SHOW_TIME | SERIAL_LOGGER_SHOW_AUTHOR | SERIAL_LOGGER_SHOW_LOG_LEVEL, SERIAL_LOGGER_SHOW_TIME | SERIAL_LOGGER_SHOW_AUTHOR | SERIAL_LOGGER_SHOW_LOG_LEVEL,
1000 1000
); );
@ -72,11 +83,12 @@ static _Noreturn void MainTransmitter_Thread(tBootMma *env) {
LoggerInfoStatic(&env->slog.logger, LOG_SIGN, "Initialization of subsystems") LoggerInfoStatic(&env->slog.logger, LOG_SIGN, "Initialization of subsystems")
bool result = DeviceStorage_Init(&env->storage, true, &env->flash->interface_calib, &env->flash->interface_param, NVM_STORAGE.nf_storage_param.logger = &env->slog.logger;
NVM_STORAGE.nf_storage_calib.logger = &env->slog.logger;
bool result = DeviceStorage_Init(&env->storage, true, &NVM_STORAGE.interface_calib, &NVM_STORAGE.interface_param,
&env->slog.logger); &env->slog.logger);
env->flash->nf_storage_param.logger = &env->slog.logger; BootJumpToAddress(FIRMWARE_MAIN_ADDR);
env->flash->nf_storage_calib.logger = &env->slog.logger;
for (;;) { for (;;) {
SystemDelayMs(1000); SystemDelayMs(1000);
@ -95,11 +107,16 @@ int main(void) {
NVIC_SetPriorityGrouping(NVIC_PRIORITY_GROUP_4); NVIC_SetPriorityGrouping(NVIC_PRIORITY_GROUP_4);
osKernelInitialize();
tBootMma *env = &MAIN_BOOT_ENV; tBootMma *env = &MAIN_BOOT_ENV;
InitThreadAtrStatic(&env->thread.attr, "LogTransmitter", env->thread.controlBlock, env->thread.stack, InitThreadAtrStatic(&env->thread.attr, "BootMma", env->thread.controlBlock, env->thread.stack,
osPriorityNormal); osPriorityNormal);
MainTransmitter_StartThread(env); MainTransmitter_StartThread(env);
osKernelStart();
STOP
} }

View File

@ -134,6 +134,12 @@
"repo": "HVAC_M7_StorageOnFlash" "repo": "HVAC_M7_StorageOnFlash"
}, },
{
"type": "git",
"provider": "HVAC_M7",
"repo": "HVAC_M7_Rtcs"
},
{ {
"type": "git", "type": "git",
"provider": "HVAC_M7", "provider": "HVAC_M7",
@ -146,6 +152,12 @@
"repo": "HVAC_BOOT_M7_SerialPorts" "repo": "HVAC_BOOT_M7_SerialPorts"
}, },
{
"type": "git",
"provider": "HVAC_M7",
"repo": "BootJump_Flagchip_FC7240"
},
{ {
"type": "local", "type": "local",
"dir": "APP" "dir": "APP"