1. 修改日志和RPC模块

This commit is contained in:
coffee 2025-09-22 20:55:15 +08:00
parent 697fe56098
commit 90a2ab4ff8
3 changed files with 12 additions and 1 deletions

View File

@ -169,6 +169,7 @@ void HDLogDebugSetGetTask(HDLogGetTaskType_t getTask);
* @param size * @param size
*/ */
void HDLogDebugInitStackAddr(unsigned long currTask, uint32_t size); void HDLogDebugInitStackAddr(unsigned long currTask, uint32_t size);
void HDLogDebugInitStackAddrInfo(unsigned long currTask, uint32_t size, uint32_t stackAddr);
/** /**
* @brief * @brief

View File

@ -524,6 +524,11 @@ void HDLogDebugSetGetTask(HDLogGetTaskType_t getTask)
void HDLogDebugInitStackAddr(unsigned long currTask, uint32_t size) void HDLogDebugInitStackAddr(unsigned long currTask, uint32_t size)
{ {
void *start = 0; void *start = 0;
HDLogDebugInitStackAddrInfo(currTask, size, (uint32_t)&start - sizeof(void *));
}
void HDLogDebugInitStackAddrInfo(unsigned long currTask, uint32_t size, uint32_t stackAddr)
{
for (int i = 0; i < USE_CHECK_STACK_NUM; ++i) for (int i = 0; i < USE_CHECK_STACK_NUM; ++i)
{ {
if (sStackCheckInfo[i].enable) if (sStackCheckInfo[i].enable)
@ -532,7 +537,7 @@ void HDLogDebugInitStackAddr(unsigned long currTask, uint32_t size)
} }
sStackCheckInfo[i].enable = 1; sStackCheckInfo[i].enable = 1;
sStackCheckInfo[i].stackAddr = (unsigned long)&start - sizeof(void *); sStackCheckInfo[i].stackAddr = stackAddr;
sStackCheckInfo[i].stackSize = size; sStackCheckInfo[i].stackSize = size;
sStackCheckInfo[i].taskID = currTask; sStackCheckInfo[i].taskID = currTask;
break; break;

View File

@ -463,6 +463,11 @@ uint8_t HDRPCParseArgs(void *data, uint16_t len, HDRPCSession *session)
uint8_t _HDRPCCheckArgs(HDRPCSession *session, uint8_t *type, uint8_t index, uint8_t len) uint8_t _HDRPCCheckArgs(HDRPCSession *session, uint8_t *type, uint8_t index, uint8_t len)
{ {
for (uint8_t i = index; i < len; ++i) { for (uint8_t i = index; i < len; ++i) {
if (i >= session->index) {
LogD("Check type[%d] index[%d] len[%d] error", type[i], i, session->index);
return 0;
}
if (session->args[i].type != type[i]) { if (session->args[i].type != type[i]) {
LogD("Check index[%d] Type[0x%x][0x%x] faild", i, session->args[i].type, type[i]); LogD("Check index[%d] Type[0x%x][0x%x] faild", i, session->args[i].type, type[i]);
return 0; return 0;