feat(Puya-PY32F040): add OTA dual-project codegen template
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+115
@@ -0,0 +1,115 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* @file main.c
|
||||
* @author MCU Application Team
|
||||
* @brief Main program body
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© Copyright (c) 2023 Puya Semiconductor Co.
|
||||
* All rights reserved.</center></h2>
|
||||
*
|
||||
* This software component is licensed by Puya under BSD 3-Clause license,
|
||||
* the "License"; You may not use this file except in compliance with the
|
||||
* License. You may obtain a copy of the License at:
|
||||
* opensource.org/licenses/BSD-3-Clause
|
||||
*
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© Copyright (c) 2016 STMicroelectronics.
|
||||
* All rights reserved.</center></h2>
|
||||
*
|
||||
* This software component is licensed by ST under BSD 3-Clause license,
|
||||
* the "License"; You may not use this file except in compliance with the
|
||||
* License. You may obtain a copy of the License at:
|
||||
* opensource.org/licenses/BSD-3-Clause
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "main.h"
|
||||
#include "application.h"
|
||||
#include "app_boot.h"
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
/* Private variables ---------------------------------------------------------*/
|
||||
uint8_t lptim_flag = 0;
|
||||
|
||||
/**
|
||||
* @brief Main program.
|
||||
* @retval int
|
||||
*/
|
||||
int main(void)
|
||||
{
|
||||
app_startup();
|
||||
app_lication();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Period elapsed callback in non blocking mode
|
||||
* @param htim:TIM handle
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
||||
{
|
||||
if (htim->Instance == JB_TIMER)
|
||||
{
|
||||
jbTimerIrq();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 计算时间差
|
||||
* @param meiosis:需要比较的时间戳,用于计算时间差
|
||||
* @retval 时间差
|
||||
*/
|
||||
uint32_t HAL_GetTickDiff(uint32_t meiosis)
|
||||
{
|
||||
uint32_t temp = HAL_GetTick();
|
||||
if (temp >= meiosis)
|
||||
{
|
||||
temp = temp - meiosis;
|
||||
}
|
||||
else
|
||||
{
|
||||
temp = 0xFFFFFFFFU - meiosis + temp;
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 错误处理函数
|
||||
* @param *file:文件名,line:行号
|
||||
* @return None
|
||||
*/
|
||||
void Error_Handler(uint8_t *file, uint32_t line)
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
appPrintf(LOG_ERROR, "%s %d\r\n", file, line);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef USE_FULL_ASSERT
|
||||
/**
|
||||
* @brief Reports the name of the source file and the source line number
|
||||
* where the assert_param error has occurred.
|
||||
* @param file: pointer to the source file name
|
||||
* @param line: assert_param error line source number
|
||||
* @retval None
|
||||
*/
|
||||
void assert_failed(uint8_t *file, uint32_t line)
|
||||
{
|
||||
/* User can add his own implementation to report the file name and line number,
|
||||
for example: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
|
||||
/* Infinite loop */
|
||||
while (1)
|
||||
{
|
||||
}
|
||||
}
|
||||
#endif /* USE_FULL_ASSERT */
|
||||
|
||||
/************************ (C) COPYRIGHT Puya *****END OF FILE******************/
|
||||
Reference in New Issue
Block a user