5 QEMU运行VExpress-A9模拟器,使用C++的cout输出会出现异常死机

发布于 2021-03-22 19:32:05    浏览:247

我在RT-Thread Studio2.0下,创建了一个RT-Thread4.0.2版本的QEMU-VExpress-A9项目,当我使用C++的标准输出流cout出现异常情况,我之前在STM32407上是正常使用的,希望官方能够看到并解决。
异常报错情况:

E:\IDE\RT_Thread\QEMU-VEXPRESS-A9_Project>D:/ProgramData/RT-ThreadStudio/repo/Extract/Debugger_Support_Packages/RealThread/QEMU/4.2.0.4/qemu-system-arm.exe -M vexp
ress-a9 --kernel Debug/rtthread.bin -nographic -show-cursor

 \ | /
- RT -     Thread Operating System
 / | \     4.0.2 build Mar 19 2021
 2006 - 2019 Copyright by rt-thread team
lwIP-2.0.2 initialized!
[I/sal.skt] Socket Abstraction Layer initialize success.
data abort:Execption:
r00:0x600fb898 r01:0x600ef1cc r02:0x00000000 r03:0x00000000
r04:0x600d79a0 r05:0x600fb898 r06:0xdeadbeef r07:0x0000000b
r08:0xdeadbeef r09:0xdeadbeef r10:0xdeadbeef
fp :0x600d79a0 ip :0x01010101
sp :0x600fb888 lr :0x600a66ed pc :0x600a6522
cpsr:0x40000033
thread   cpu pri  status      sp     stack size max used left tick  error
-------- --- ---  ------- ---------- ----------  ------  ---------- ---
tshell   N/A  20  ready   0x00000048 0x00001000    01%   0x0000000a 000
aio      N/A  16  suspend 0x0000008c 0x00000800    07%   0x0000000a 000
sys_work N/A  23  suspend 0x0000008c 0x00000800    07%   0x0000000a 000
mmcsd_de N/A  22  suspend 0x000000b8 0x00000400    46%   0x00000014 000
tcpip    N/A  10  suspend 0x000000f4 0x00000400    35%   0x00000014 000
etx      N/A  12  ready   0x0000009c 0x00000400    23%   0x00000010 000
erx      N/A  12  ready   0x000000b8 0x00000400    20%   0x00000010 000
tidle1   N/A  31  ready   0x00000048 0x00000400    07%   0x00000020 000
tidle0   N/A  31  ready   0x00000064 0x00000400    21%   0x0000001c 000
timer    N/A   4  suspend 0x00000080 0x00000400    12%   0x0000000a 000
main       0  10  running 0x0000030c 0x00000800    40%   0x00000012 000
shutdown...
(0) assertion failed at function:rt_hw_cpu_shutdown, line number:85

image.png

查看更多

3 个回答
flashman2002
flashman2002 2021-03-22
This guy hasn't written anything yet

你的main线程的堆栈尺寸设定的是多少?我怀疑设置小了。

cxhxy12345
cxhxy12345 2021-03-22
This guy hasn't written anything yet

因该不是堆栈设置问题,我看了main的运行堆栈只用到40%。而且cout流输出的字符串也不对。如果你是用BSP例程做的案例,在打开C++支持功能还出现这个问题。可能是官方推荐板载例程里对C++的支持有点小问题。
详细问题要看你的全部工程代码了。
以上只是个人意见,仅供参考。

tyustli
tyustli 2021-03-23
This guy hasn't written anything yet

c++ 支持打开了吗

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
247

发布
问题

分享
好友

手机
浏览

扫码手机浏览