TI大神,你好!
我们在项目中以TI15.4协议栈为基础进行开发,使用CCS编译器编译,
使用过程中编译出两个版本(逻辑代码有一些区别),生成二进制文件大小为:
1、
2、
第二个版本正常执行,
第一个版本 烧录运行中 串口无法正常打印和接收。
两个版本在串口相关基础代码和使用代码无任何区别。
请问这是什么原因,需要怎样解决。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
TI大神,你好!
我们在项目中以TI15.4协议栈为基础进行开发,使用CCS编译器编译,
使用过程中编译出两个版本(逻辑代码有一些区别),生成二进制文件大小为:
1、
2、
第二个版本正常执行,
第一个版本 烧录运行中 串口无法正常打印和接收。
两个版本在串口相关基础代码和使用代码无任何区别。
请问这是什么原因,需要怎样解决。
单步运行看看是否执行了你所调用的函数
// ----------------------------------------------------------------------------- //! \brief This callback is invoked on Read completion of readSize/receive //! timeout //! //! \param[in] handle - handle to the UART port //! \param[in] ptr - pointer to buffer to read data into //! \param[in] size - size of the data //! //! \return void // ----------------------------------------------------------------------------- static void NPITLUART_readCallBack(UART_Handle handle, void *ptr, size_t size)
TI大神!
ti15.4协议栈协调器 启动阶段,执行到 ApiMac_init时,分配地址空检报错,
uint8_t * OsalPort_msgAllocate(uint16_t len ) { uint8_t *pMsg = NULL; OsalPort_MsgHdr* pHdr; if ( len == 0 ) return ( NULL ); pHdr = (OsalPort_MsgHdr*) OsalPort_malloc( len + sizeof( OsalPort_MsgHdr ) ); if ( pHdr ) { pHdr->next = NULL; pHdr->len = len; pHdr->dest_id = OsalPort_TASK_NO_TASK; pMsg = (uint8_t *)((uint8_t *)pHdr + sizeof( OsalPort_MsgHdr )); } return pMsg; }
估计是空间分配不够了,请问TI大神,这个空检配置在哪里调整呢?
空间受RAM限制,具体报什么错?修改了哪些程序
/********************************************************************* * @fn OsalPort_msgAllocate * * @brief * * This function is called by a task to allocate a message buffer * into which the task will encode the particular message it wishes * to send. This common buffer scheme is used to strictly limit the * creation of message buffers within the system due to RAM size * limitations on the microprocessor. Note that all message buffers * are a fixed size (at least initially). The parameter len is kept * in case a message pool with varying fixed message sizes is later * created (for example, a pool of message buffers of size LARGE, * MEDIUM and SMALL could be maintained and allocated based on request * from the tasks). * * * @param uint8_t len - wanted buffer length * * * @return pointer to allocated buffer or NULL if allocation failed. */ uint8_t * OsalPort_msgAllocate(uint16_t len )