209 lines
5.2 KiB
C
209 lines
5.2 KiB
C
/** ##########################################################################
|
||
** Filename :
|
||
** Project :
|
||
** Module :
|
||
** Processor :
|
||
** Version : 1.0
|
||
** Compiler :
|
||
** Date/Time :
|
||
** Abstract :
|
||
** Contents :
|
||
** Note :
|
||
**
|
||
** (c) Copyright dmdz Co.,Ltd
|
||
** --------------------------------------------------------------------------
|
||
** R E V I S I O N H I S T O R Y
|
||
** --------------------------------------------------------------------------
|
||
** Date Ver Author Description
|
||
|
||
** -20230602- --V1.0-- --mingyea--- --修改--
|
||
|
||
** #########################################################################*/
|
||
|
||
/*---------------------------------------------------------------------------
|
||
- I N C L U D E F I L E S
|
||
----------------------------------------------------------------------------*/
|
||
#if 0
|
||
#include <stdint.h>
|
||
#include <stdio.h>
|
||
#include <stdlib.h>
|
||
#include <string.h>
|
||
#endif
|
||
|
||
#include "common_types.h"
|
||
#include "common_cfg.h"
|
||
#include "mf_config.h"
|
||
#include "fm33lg0xx_fl.h"
|
||
#if defined(USE_FULL_ASSERT)
|
||
#include "fm33_assert.h"
|
||
#endif /* USE_FULL_ASSERT */
|
||
|
||
#include "nvic.h"
|
||
|
||
#include "clk.h"
|
||
#include "gpio.h"
|
||
#include "tim.h"
|
||
#include "rmu.h"
|
||
#include "svd.h"
|
||
|
||
//#include "pwm.h"
|
||
#include "wdog.h"
|
||
//#include "spm.h"
|
||
#include "can.h"
|
||
#include "ls_nm.h"
|
||
#include "nvm.h"
|
||
|
||
#include "logic_timer.h"
|
||
|
||
#ifdef CAN_AUTOSAR_EN
|
||
#include "CanTrcv.h"
|
||
#include "can_drive.h"
|
||
#include "CanIf.h"
|
||
#include "CanIf_Cfg.h"
|
||
#include "Com.h"
|
||
#include "CanTp.h"
|
||
#include "Dcm.h"
|
||
#include "Demm.h"
|
||
#include "app_com.h"
|
||
#include "app_dcm.h"
|
||
#endif
|
||
#include "user_init.h"
|
||
#include "logic_timer.h"
|
||
//#include "lin_app.h"
|
||
|
||
#include "stack_check.h"
|
||
|
||
#include "boot_app.h"
|
||
|
||
#include "bl_timer.h"
|
||
#include "bl_can.h"
|
||
#include "bl_booting.h"
|
||
#include "bl_process_driver.h"
|
||
#include "bl_system.h"
|
||
#include "bl_logical_block.h"
|
||
#include "bl_flash_if.h"
|
||
#include "bl_adpt_uds_platform.h"
|
||
|
||
u8 g_flash_read_flag2 =0xff;
|
||
/*---------------------------------------------------------------------------
|
||
- D E F I N E S / M A C R O S
|
||
----------------------------------------------------------------------------*/
|
||
|
||
|
||
/*---------------------------------------------------------------------------
|
||
- T Y P E D E F I N I T I O N S
|
||
----------------------------------------------------------------------------*/
|
||
|
||
|
||
/*---------------------------------------------------------------------------
|
||
- S T A T I C V A R I A B L E S
|
||
----------------------------------------------------------------------------*/
|
||
|
||
|
||
/*---------------------------------------------------------------------------
|
||
* G L O B A L V A R I A B L E S
|
||
----------------------------------------------------------------------------*/
|
||
|
||
|
||
/*---------------------------------------------------------------------------
|
||
- C O N S T A N T S
|
||
----------------------------------------------------------------------------*/
|
||
|
||
|
||
/*---------------------------------------------------------------------------
|
||
- F U N C T I O N P R O T O T Y P E
|
||
----------------------------------------------------------------------------*/
|
||
int main(void)
|
||
{
|
||
u8 i;
|
||
bl_BootingFlag_t flag;
|
||
bl_BootingFlag_t flag1;
|
||
bl_BootingFlag_t flag2;
|
||
|
||
//__disable_irq();
|
||
|
||
//__enable_irq();
|
||
|
||
/*Initialize system*/
|
||
Rte_PreInit();
|
||
#if 1
|
||
#ifdef BOOT_STATE_PROG_DEBUG_EN
|
||
adpt_test_init();
|
||
#endif
|
||
#ifdef FLASH_TEST_ERASE_WRITE
|
||
flash_if_test();
|
||
#endif
|
||
//boot_app_init();
|
||
flag = Bootm_CheckBootingRequirement();
|
||
flag1 = check_program_valid_nores_is_valid();
|
||
flag2 = check_program_valid_to_app_valid();
|
||
//再判断,编程会话的无应答模式
|
||
if(flag1 == BOOTING_FLAG_REPROGRAM_VALID)
|
||
{
|
||
flag = BOOTING_FLAG_REPROGRAM_VALID;
|
||
}
|
||
else
|
||
{
|
||
//code
|
||
}
|
||
if (BOOTING_FLAG_APPLICATION_VALID == flag)
|
||
{
|
||
if(lb_logic_block_read_app_valid1()!=0)
|
||
{
|
||
#ifdef BOOT_STATE_PROG_DEBUG_EN
|
||
#else
|
||
//#ifdef FALSH_DRIVER_INIT_EN
|
||
//#else
|
||
//boot_app_jump();
|
||
Bootm_GotoApplication();
|
||
//#endif
|
||
#endif
|
||
flag=0u;
|
||
}
|
||
else
|
||
{
|
||
flag=0u;
|
||
}
|
||
/*never return unless StayInBoot enable and receive a valid SIB frame*/
|
||
}
|
||
g_flash_read_flag2 = flag;
|
||
#endif
|
||
rmu_init();
|
||
svd_init();
|
||
(void)Rte_PostInit();
|
||
|
||
lb_logic_block_init_flashdrv();
|
||
//Dm_WriteDefaultData(1); //flash app
|
||
//g_test_flash_app_flag = Dm_IsDefaultData(1);
|
||
|
||
if(flag2 == BOOTING_FLAG_REPROGRAM_VALID)
|
||
{
|
||
clear_program_valid_to_app_valid();
|
||
//回复,默认会话
|
||
Adpt_Res_default_ValidProcess();
|
||
}
|
||
#if 1
|
||
if(flag1==BOOTING_FLAG_REPROGRAM_VALID)
|
||
{
|
||
Adpt_ReprogramValid_nores_Process(); //
|
||
}
|
||
else
|
||
#endif
|
||
{
|
||
Rte_ProcessReset(flag); // 跳到這里 flag=0; 或者 BOOTING_FLAG_REPROGRAM_VALID
|
||
}
|
||
#ifdef NVM_EEPROM_EXT_EN
|
||
eeprom_init(); //要在不跳转时,初始化EEPROM
|
||
#endif
|
||
|
||
for( ;; )
|
||
{
|
||
//wdog_task();
|
||
//app_task_1ms();
|
||
gpio_task();
|
||
PROC_SCHEDULE(); // 相當於 Proc_PassiveSchedule(&g_UdsPlatformAdapter)
|
||
}
|
||
}
|
||
|
||
|