TI中文支持网
TI专业的中文技术问题搜集分享网站

15.4stack sensor collector 历程中 传输字符串,导致程序 进入Main_assertHandler

 我在sensor 和 collector 的 sensorData结构体中,添加了 我自己的数据结构;

typedef struct _Smsgs_ttzcdatafield_t
{
/*
* len of u8 data witch has null-terminal
*/
uint16_t len_ttzcdata;
/*
 *  u8 data witch has null-terminal
 */
      uint8_t * ttzcdata_p;
} Smsgs_ttzcdataField_t;

然后 在解析函数里面 添加了 我的 解析

    if(sensorData.frameControl & Smsgs_dataFields_ttzcdataSettings)
    {
            sensorData.ttzcdata.len_ttzcdata = Util_buildUint16(pBuf[0],pBuf[1]);
            pBuf += 2;
            uart_pro_txbody.payload=(u8 *)malloc(sensorData.ttzcdata.len_ttzcdata);
            memcpy(uart_pro_txbody.payload,pBuf,sensorData.ttzcdata.len_ttzcdata);
            Event_post(gateway_event_handle, GATEWAY_DATAHEAD_EVT);
    }

事件发生之后 我直接用串口 发送出来 在 释放uart_pro_txbody.payload;

程序运行结果 是一开始 我可以 正确 运行一段时间,但是 要不了一会 就Main_assertHandler;

很想内存泄漏了,是这个原因嘛?

Viki Shi:

建议查一下出错时heap/stack的大小,CCS里的ROV (RTOS Object Viewer) 可以查看每个任务的stack

user5993042:

回复 Viki Shi:

我查过每个 任务的 stack大小了;都没有overrun 但是 在我自己的任务里面 显示 running ;
但是貌似 卡在 这个 地方了,这又是个 什么情况啊?
Break at address "0x1001c482" with no debug information available, or outside of program code.

Viki Shi:

回复 user5993042:

This is not an error of any sort. The debugger is simply telling you that the target is halted at an address where there is no associated debug symbol information. This is normal if you simply connected to a target without loading a program, or if the program executable that was loaded has no debug symbols

赞(0)
未经允许不得转载:TI中文支持网 » 15.4stack sensor collector 历程中 传输字符串,导致程序 进入Main_assertHandler
分享到: 更多 (0)