RT-Thread / RT-Thread/rt-thread

rt smart 内核挂在 sd 卡崩溃

Open
#8,958 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.