使用ITCM导致程序异常

[复制链接]
336|0
 楼主| 你画我瞎 发表于 2018-8-3 20:34 | 显示全部楼层 |阅读模式
论坛的朋友们,我最近在使用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最终是没有效果的,这时也是正常的,不死机。
不知道有没有人遇到我这样的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

395

主题

395

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部