Обновление

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;
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)

View File

@ -10,11 +10,14 @@
#include "CmsisRtosThreadUtils.h"
#include "SystemDelayInterface.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 {
tRtcs *rtcs;
tLoggerToSerialPort slog;
tStorageOnFlash *flash;
tDeviceStorage storage;
struct {
@ -49,21 +52,29 @@ void vApplicationStackOverflowHook(TaskHandle_t xTask, const char *pcTaskName) {
#endif
const DMA_InitType dmaInitCfg =
{
.eArbitrationAlgorithm = DMA_ARBITRATION_ALGORITHM_FIXED_PRIORITY,
.bHaltOnError = false
};
static _Noreturn void MainTransmitter_Thread(tBootMma *env) {
// Настройка таймера реального времени
time_t set_timestamp = 1768553105;
RtcSet(&env->rtcs->rtcI0, &set_timestamp);
DMA_Init(DMA_INSTANCE_0, &dmaInitCfg);
StorageOnFlash_Init();
Rtcs_Init();
SerialPorts_Init();
// Настройка таймера реального времени
time_t set_timestamp = 0;
RtcSet(&RTCS.rtcI0, &set_timestamp);
LoggerToSerialPort_Init(
&env->slog,
3,
0,
&SERIAL_PORTS.cliVirtualPortOut_Io,
&SERIAL_PORTS.SerialPortLog_IO,
&env->rtcs->rtcI0,
&RTCS.rtcI0,
SERIAL_LOGGER_SHOW_TIME | SERIAL_LOGGER_SHOW_AUTHOR | SERIAL_LOGGER_SHOW_LOG_LEVEL,
1000
);
@ -72,11 +83,12 @@ static _Noreturn void MainTransmitter_Thread(tBootMma *env) {
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->flash->nf_storage_param.logger = &env->slog.logger;
env->flash->nf_storage_calib.logger = &env->slog.logger;
BootJumpToAddress(FIRMWARE_MAIN_ADDR);
for (;;) {
SystemDelayMs(1000);
@ -95,11 +107,16 @@ int main(void) {
NVIC_SetPriorityGrouping(NVIC_PRIORITY_GROUP_4);
osKernelInitialize();
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);
MainTransmitter_StartThread(env);
osKernelStart();
STOP
}

View File

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