我请求增强文件 FreeRTOSConfig.h。我观察到
STM32CubeMX 将该文件添加到任何使用 FreeRTOS 版本 10.2.1(带有 CMSIS 版本 2)的 STM32H7 项目。
https://github.com/STMicroelectronics/STM32CubeH7/blob/beced99ac090fece04d1e0eb6648b8075e156c6c/Projects/STM32H743I-EVAL/Demonstrations/STemWin/Config/FreeRTOSConfig.h#L121
在模板文件中:
https://github.com/STMicroelectronics/STM32CubeH7/blob/beced99ac090fece04d1e0eb6648b8075e156c6c/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOSConfig_template.h#L149
在代码执行期间,如果
被执行,代码执行就会停止,如果没有调试器,就不可能知道为什么代码会卡住。
因此,我请求请更新ST提供的Header文件,并在语句中添加一个weak函数,稍后可以由用户编码。
是否可以更改以下代码行:
- #defineconfigASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
到:
- #define configASSERT( x ) if ((x) == 0) {taskDISABLE_INTERRUPTS(); rvUserAssertinformFunction(__FILE__, __LINE__); for( ;; );}
并添加:
- __weak void rvUserAssertInformFunction(char * pF, unsigned long ln)
- {
- pF = pF;
- ln = ln;
- }
请分享您的观点。
我已经向 STM32CubeH7 社区报告了我的担忧,但似乎他们不是需要更改代码的人。
https://github.com/STMicroelectronics/STM32CubeH7/issues/96
请帮忙。