论坛的朋友们,我最近在使用STM32H750XBH6时遇到一个问题,想请教下。
我用的是keil的RTE里面的CMSIS-RTOSV2组件,目前使用了RTX5、USB、文件系统,我创建了一个线程App_main(),然后把包含这个函数的.c文件里的+RO放在.sct分散加载文件中,并且在链接选项中使用此文件。然后初始化了USB从机作为USB虚拟串口,并且把标准输入输出printf重定向到USB虚拟串口。现在就出现了一个问题,我如果不使用ITCM区域,App_main()所在的.c文件+RO默认是分配在flash里面,这时我在线程中printf()打印输出就跑着很正常,但是只要把App_main()所在的.c文件里的+RO放入ITCM里面,跑着跑着就进入hardfault了。
因为我的printf重定向到USB输出了(USBD_CDC_ACM_PutChar函数),我在重定向这里把USB输出注释掉(USBD_CDC_ACM_PutChar注释掉),也就是说prinft最终是没有效果的,这时也是正常的,不死机。
不知道有没有人遇到我这样的问题。 |