Initial commit: CCU621_M firmware project with BLE debug link support.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-08 17:28:36 +08:00
commit 9ceb218f80
1597 changed files with 724159 additions and 0 deletions
+97
View File
@@ -0,0 +1,97 @@
#ifndef APP_INIT_H
#define APP_INIT_H
#include "FreeRTOS.h"
#include "task.h"
#include "publicdata/public_define.h"
//任务最小堆栈空间大小 --注意单位是字节!!!!
#define TASK_SIZE_SIZE_512 (configMINIMAL_STACK_SIZE*4) //512字节
#define TASK_SIZE_SIZE_1024 (configMINIMAL_STACK_SIZE*8) //1024字节=1k
#define TASK_SIZE_SIZE_2048 (TASK_SIZE_SIZE_1024*2) //2048字节=2k
#define TASK_SIZE_SIZE_3k (TASK_SIZE_SIZE_1024*3) //3k
#define TASK_SIZE_SIZE_4k (TASK_SIZE_SIZE_1024*4) //4k
#define TASK_SIZE_SIZE_5k (TASK_SIZE_SIZE_1024*5) //5k
#define TASK_SIZE_SIZE_6k (TASK_SIZE_SIZE_1024*6) //6k
#define TASK_SIZE_SIZE_7k (TASK_SIZE_SIZE_1024*7) //7k
#define TASK_SIZE_SIZE_8k (TASK_SIZE_SIZE_1024*8) //8k
//任务延时周期
#define TASK_SLEEP_MS_1000 (1000U)
#define TASK_SLEEP_MS_500 (500U)
#define TASK_SLEEP_MS_300 (300U)
#define TASK_SLEEP_MS_200 (200U)
#define TASK_SLEEP_MS_150 (150U)
#define TASK_SLEEP_MS_100 (100U)
#define TASK_SLEEP_MS_50 (50U)
#define TASK_SLEEP_MS_30 (30U)
#define TASK_SLEEP_MS_20 (20U)
#define TASK_SLEEP_MS_10 (10U)
#define TASK_SLEEP_MS_5 (5U)
#define TASK_SLEEP_MS_1 (1U)
typedef struct
{
char task_name[16];
UBaseType_t task_prio;
uint16_t task_size;
uint16_t task_timer;
TaskFunction_t task_entry;
void *task_arg;
} MY_TASK_DATA;
typedef enum
{
TASK_ID_EthIf = 0,
TASK_ID_TCPIP,
TASK_ID_BmsComm,
TASK_ID_DataColl,
TASK_ID_FlowCtrl,
TASK_ID_FaultCheck,
TASK_ID_MduComm,
TASK_ID_SubComm,
TASK_ID_PlatComm,
#if (MY_SHELL_EN)
TASK_ID_MyShell,
#endif
TASK_ID_UI,
TASK_ID_WATCHDOG,
TASK_ID_MeterColl,
TASK_ID_Meterfee,
TASK_ID_MyLog,
#if (TCP_DEBUG_EN)
TASK_ID_TcpSer,
#endif
TASK_ID_EthLink,
MY_TASK_NUM
} TASK_ID;
extern const MY_TASK_DATA my_task_data[MY_TASK_NUM];
/* lwIP TCP/IP 线程:任务表与 lwipopts.h 中 TCPIP_THREAD_* 须一致(lwipopts 不可再 include 本头文件) */
#define MY_TCPIP_NAME (my_task_data[TASK_ID_TCPIP].task_name)
#define MY_TCPIP_PRIO (my_task_data[TASK_ID_TCPIP].task_prio)
#define MY_TCPIP_SIZE (my_task_data[TASK_ID_TCPIP].task_size)
/* 兼容参考工程的任务访问宏 */
#ifndef mSleep
#define mSleep(x) (vTaskDelay(pdMS_TO_TICKS((x))))
#endif
#define MY_TASK_NEW(task_id, func, para) \
xTaskCreate((func), \
my_task_data[(task_id)].task_name, \
(uint16_t)(my_task_data[(task_id)].task_size / sizeof(StackType_t)), \
(para), \
my_task_data[(task_id)].task_prio, \
NULL)
#define MY_SLEEP_TIME(task_id) mSleep(my_task_data[(task_id)].task_timer)
#define MY_GET_SLEEP_TIME(task_id) (my_task_data[(task_id)].task_timer)
#define MY_GET_TASK_NAME(task_id) (my_task_data[(task_id)].task_name)
void app_os_init(void);
void delay_ms(uint32_t ms);
void v_fault_blink_code_loop(uint32_t blink_count);
#endif