97 lines
2.6 KiB
C
97 lines
2.6 KiB
C
/*
|
|
* Copyright (c) 2022, Shenzhen CVA Innovation CO.,LTD
|
|
* All rights reserved.
|
|
*
|
|
* Shenzhen CVA Innovation CO.,LTD (CVA chip) is supplying this file for use
|
|
* exclusively with CVA's microcontroller products. This file can be freely
|
|
* distributed within development tools that are supporting such microcontroller
|
|
* products.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
|
|
* OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
|
|
* CVA SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
|
|
* OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
|
|
*/
|
|
|
|
/*! \brief a bootloader asw demo
|
|
*/
|
|
|
|
/*******************************************************************************
|
|
* the includes
|
|
******************************************************************************/
|
|
|
|
#include <stdint.h>
|
|
#include "mcu.h"
|
|
#include "SEGGER_RTT.h"
|
|
#include "appTask.h"
|
|
#include "hwctrl.h"
|
|
|
|
/*******************************************************************************
|
|
* the defines
|
|
******************************************************************************/
|
|
#define CAN_BUFF_MAX_NUM (32)
|
|
|
|
|
|
|
|
/* Asw code head id to show asw is not empty */
|
|
#define ASW_HEAD_MASK (0xAABBCCDDul)
|
|
|
|
#define ASW_VECTOR_START_ADDR 0xc000ul
|
|
|
|
/*******************************************************************************
|
|
* the typedefs
|
|
******************************************************************************/
|
|
|
|
typedef struct
|
|
{
|
|
uint32_t sAswHeader;
|
|
uint8_t appBuildTime[12];
|
|
uint8_t appBuildDate[16];
|
|
} app_CfgInfoType;
|
|
|
|
/*******************************************************************************
|
|
* the globals
|
|
******************************************************************************/
|
|
McuType mcu;
|
|
|
|
#pragma location = ".asw_header"
|
|
__root const app_CfgInfoType app_inif = {
|
|
.sAswHeader = ASW_HEAD_MASK,//0x00010400
|
|
.appBuildTime = __TIME__,//0x00010404
|
|
.appBuildDate = __DATE__,//0x00010410
|
|
};
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
* the functions
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
|
|
int main(void)
|
|
{
|
|
|
|
IrqDrv_DisableGlobalInterrupt();
|
|
|
|
/* Initialize all MCU drivers: flash drv included */
|
|
Mcu_Init(&mcu);
|
|
|
|
SEGGER_RTT_Init();
|
|
|
|
hw_init(&mcu);
|
|
|
|
appTaskInit(&mcu);
|
|
|
|
IrqDrv_EnableGlobalInterrupt();
|
|
SEGGER_RTT_printf(0,"-----init success-----\n");
|
|
while(1)
|
|
{
|
|
appTask(&mcu);
|
|
}
|
|
}
|
|
|
|
|