在RT-Thread Studio里在基于开发板STM32H750-RT-ART-Pi例子art_pi_wifi里启用“动态模块”后,执行到wifi初始化出错,控制台显示如下:
___ ______ _____ ______ _ ______ _____ _____ _____
/ _ \ | ___ \|_ _| | ___ \(_) | ___ \/ _ \/ _ \|_ _|
/ /_\ \| |_/ / | | ______ | |_/ / _ | |_/ /| | | || | | | | |
| _ || / | | |______|| __/ | | | ___ \| | | || | | | | |
| | | || |\ \ | | | | | | | |_/ /\ \_/ /\ \_/ / | |
\_| |_/\_| \_| \_/ \_| |_| \____/ \___/ \___/ \_/
Powered by RT-Thread.
msh >
\ | /
- RT - Thread Operating System
/ | \ 4.0.3 build Jan 12 2021
2006 - 2020 Copyright by rt-thread team
lwIP-2.0.2 initialized!
[I/sal.skt] Socket Abstraction Layer initialize success.
[I/SFUD] Find a Winbond flash chip. Size is 16777216 bytes.
[I/SFUD] norflash0 flash device is initialize success.
[I/SFUD] Probe SPI flash norflash0 by SPI device spi10 success.
[D/FAL] (fal_flash_init:63) Flash device | norflash0 | addr: 0x00000000 | len: 0x01000000 | blk_size: 0x00001000 |initialized finish.
[I/FAL] ==================== FAL partition table ====================
[I/FAL] | name | flash_dev | offset | length |
[I/FAL] -------------------------------------------------------------
[I/FAL] | wifi_image | norflash0 | 0x00000000 | 0x00080000 |
[I/FAL] | bt_image | norflash0 | 0x00080000 | 0x00080000 |
[I/FAL] | download | norflash0 | 0x00100000 | 0x00200000 |
[I/FAL] | easyflash | norflash0 | 0x00300000 | 0x00100000 |
[I/FAL] | filesystem | norflash0 | 0x00400000 | 0x00c00000 |
[I/FAL] =============================================================
[I/FAL] RT-Thread Flash Abstraction Layer (V0.5.0) initialize success.
[I/FAL] The FAL MTD NOR device (filesystem) created successfully
[I/app.filesystem] mount to '/flash' success!
[Flash] (../packages/EasyFlash-v4.1.0/src/ef_env.c:1818) ENV start address is 0x00000000, size is 8192 bytes.
[Flash] EasyFlash V4.1.0 is initialize success.
[Flash] You can get the latest version on https://github.com/armink/EasyFlash .
[I/OTA] RT-Thread OTA package(V0.2.3) initialize success.
[I/OTA] Verify 'wifi_image' partition(fw ver: 1.0, timestamp: 1592464902) success.
msh />[I/SDIO] SD card capacity 498176 KB.
found part[0], begin: 16450560, size: 470.670MB
[I/app.filesystem] sd card mount to '/sdcard'
[I/WWD] wifi initialize done. wiced version 3.3.1
[I/WLAN.dev] wlan init success
psr: 0x21030000
r00: 0xffffffff
r01: 0x00000014
r02: 0x00000000
r03: 0xaf27be69
r04: 0xdeadbeef
r05: 0xdeadbeef
r06: 0xdeadbeef
r07: 0x24014060
r08: 0xdeadbeef
r09: 0xdeadbeef
r10: 0xdeadbeef
r11: 0xdeadbeef
r12: 0x240172c1
lr: 0x9002b7ff
pc: 0x9002eeb8
hard fault on thread: wifi_ini
thread pri status sp stack size max used left tick error
-------- --- ------- ---------- ---------- ------ ---------- ---
WWD 8 suspend 0x000000cc 0x00000800 30% 0x00000009 000
sdio_irq 15 suspend 0x000000b4 0x00000200 35% 0x00000014 000
sd_mount 30 suspend 0x000000b4 0x00000800 48% 0x00000010 000
wifi_ini 16 running 0x00000274 0x00001000 26% 0x0000000c 000
tshell 20 suspend 0x00000184 0x00001000 09% 0x00000009 000
sys_work 23 suspend 0x00000084 0x00000800 06% 0x0000000a 000
mmcsd_de 22 suspend 0x000000b8 0x00000400 61% 0x0000000f 000
wlan 15 suspend 0x00000084 0x00000800 10% 0x0000000a -01
tcpip 10 suspend 0x000000f0 0x00000400 36% 0x00000014 000
etx 12 suspend 0x000000ac 0x00000400 16% 0x00000010 000
erx 12 suspend 0x000000b8 0x00000400 17% 0x00000010 000
tidle0 31 ready 0x0000005c 0x00000100 51% 0x00000019 000
timer 4 suspend 0x000000b0 0x00000200 35% 0x00000009 000
main 10 suspend 0x00000144 0x00000800 54% 0x0000000a 000
FPU active!
usage fault:
SCB_CFSR_UFSR:0x100 UNALIGNED
使用的代码是例子art_pi_wifi,仅仅启用了“动态模块”就这样了。用例子art_pi_factory启用“动态模块”一样出错。但是使用更简单的例子art_pi_blink_led启用“动态模块”则运行正常。
有大师给分析一下为什么会这样吗?