RT-Thread / RT-Thread/rt-thread
rt smart 内核挂在 sd 卡崩溃
Open
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 12.2k
- Forks
- 5.4k
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 40
Description
正常编译最新的 bsp ,然后 tftp 方式成功引导启动内核。但是挂载 sd 卡就崩溃。
msh />[6616] D/drv.enet: enet1 link up
[13575] I/SDIO: SD card capacity 15605760 KB.
found part[0], begin: 1048576, size: 14.903GB
backtrace:
0xc0122878 @ _match_name
0xc012287c @ _match_name
0xc01227c0 @ rt_object_for_each
0xc012294c @ rt_object_find
0xc00ea368 @ rt_device_find
0xc00ea1e4 @ rt_device_register
0xc00f2ea4 @ mbr_device_probe
0xc00f2f90 @ rt_mmcsd_blk_probe
0xc00f90f4 @ init_sd
0xc00f7478 @ mmcsd_detect
data abort:Execption:
r00:0x000061ef r01:0xc0196814 r02:0x00000008 r03:0x000061ef
r04:0x01dc3800 r05:0x00000000 r06:0x01dc4000 r07:0x00000000
r08:0xdeadbeef r09:0xdeadbeef r10:0xc0125250
fp :0xc019673c ip :0xc0196740
sp :0xc0196718 lr :0xc012287c pc :0xc011ce8c
cpsr:0x20000093
dfsr:0x00000005
ttbr0:0x8018c018
dfar:0x000061ef
0x000061ef -> 0xffffffff
thread pri status sp stack size max used left tick error tcb addr
-------- --- ------- ---------- ---------- ------ ---------- ------- ----------
tshell 20 suspend 0x0000023c 0x00001000 13% 0x00000009 OK 0xc01b0b54
adc_loo 16 close 0x000000b8 0x00000400 19% 0x00000014 OK 0xc01b0380
tsdcard 30 suspend 0x00000160 0x00000800 31% 0x00000014 EINTRPT 0xc01afa18
link_d2 30 ready 0x000000ec 0x00001000 16% 0x00000002 OK 0xc01aac74
link_d1 30 suspend 0x00000114 0x00001000 16% 0x00000002 EINTRPT 0xc01a9234
wlan 15 suspend 0x000000e8 0x00000800 11% 0x0000000a OK 0xc01a7e40
ttywork 3 suspend 0x000000ec 0x00001000 05% 0x0000000a OK 0xc01a6c7c
mmcsd_de 22 running 0x000001b0 0x00001000 41% 0x00000011 OK 0xc0195770
sys wor 23 suspend 0x000000e8 0x00001000 38% 0x0000000a OK 0xc01a5ab8
tcpip 10 suspend 0x00000184 0x00002000 11% 0x00000014 EINTRPT 0xc01a38f4
erx 12 suspend 0x00000138 0x00002000 09% 0x00000010 EINTRPT 0xc01871c0
pcache 25 suspend 0x00000170 0x00002000 04% 0x00000005 EINTRPT 0xc01a16c8
tidle0 31 ready 0x00000078 0x00002000 02% 0x00000011 OK 0xc0196dc0
timer 4 suspend 0x00000134 0x00001000 09% 0x00000008 EINTRPT 0xc01991e8
main 10 close 0x000000b8 0x00001000 38% 0x0000000e OK 0xc019c4f8
shutdown...
thread pri status sp stack size max used left tick error tcb addr
-------- --- ------- ---------- ---------- ------ ---------- ------- ----------
tshell 20 suspend 0x0000023c 0x00001000 13% 0x00000009 OK 0xc01b0b54
adc_loo 16 close 0x000000b8 0x00000400 19% 0x00000014 OK 0xc01b0380
tsdcard 30 suspend 0x00000160 0x00000800 31% 0x00000014 EINTRPT 0xc01afa18
link_d2 30 ready 0x000000ec 0x00001000 16% 0x00000002 OK 0xc01aac74
link_d1 30 suspend 0x00000114 0x00001000 16% 0x00000002 EINTRPT 0xc01a9234
wlan 15 suspend 0x000000e8 0x00000800 11% 0x0000000a OK 0xc01a7e40
ttywork 3 suspend 0x000000ec 0x00001000 05% 0x0000000a OK 0xc01a6c7c
mmcsd_de 22 running 0x000001b0 0x00001000 41% 0x00000011 OK 0xc0195770
sys wor 23 suspend 0x000000e8 0x00001000 38% 0x0000000a OK 0xc01a5ab8
tcpip 10 suspend 0x00000184 0x00002000 11% 0x00000014 EINTRPT 0xc01a38f4
erx 12 suspend 0x00000138 0x00002000 09% 0x00000010 EINTRPT 0xc01871c0
pcache 25 suspend 0x00000170 0x00002000 04% 0x00000005 EINTRPT 0xc01a16c8
tidle0 31 ready 0x00000078 0x00002000 02% 0x00000011 OK 0xc0196dc0
timer 4 suspend 0x00000134 0x00001000 09% 0x00000008 EINTRPT 0xc01991e8
main 10 close 0x000000b8 0x00001000 38% 0x0000000e OK 0xc019c4f8
backtrace:
0xc00cfda4 @ assert_handler
0xc00cfda8 @ assert_handler
0xc011e20c @ rt_assert_handler
0xc00cb3a4 @ rt_hw_cpu_shutdown
0xc00cf310 @ rt_hw_trap_dabt
(0) assertion failed at function:rt_hw_cpu_shutdown, line number:85
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the latest BSP booted through TFTP, then mount the SD card and compare the failure with the supplied backtrace. Start at the listed entry points, including init_sd, mmcsd_detect, rt_mmcsd_blk_probe, mbr_device_probe, and rt_device_register; done means identifying the cause of the data abort and confirming that SD mounting no longer crashes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100