초보의 아웅다웅 설계하기/Adstar

ADSTAR SDCard Boot 시 각종 에러 발생 문제

로망와니 2023. 1. 6. 21:09

SD Card를 사용하여 Boot를 하는 경우 지켜져야 하는 조건이 있는 것 같습니다.

 

USB Host를 사용하면 USB_OVC에 100k옴을 달아줘야 하는 것 같습니다.

10k옴을 달았더니 아래의 에러들이 랜덤하게 발생했습니다. (100k옴으로 변경 후 계속 발생하지 않는 걸로 보아 해결된 것으로 보입니다. 아마...=> 계속 테스트 하고 있었는데 3일 만에 나와버리고 말았습니다. => 현재까지는 MCU 변경하다보니 발생하는 MCU가 있고 발생하지 않는 MCU가 있어서 MCU 교체로 해결하고 있습니다.

내부 플래쉬에 라이팅하는 경우에는 발생하지 않았고, USB Host를 사용하지 않거나 SD Card 포맷시 설정(8192로 하면 동작하고 16kb로 하면 바로 에러가 발생하고 등등)에 따라서 발생 빈도도 다르고 그래서 더 어려웠습니다. 혹시 같은 문제를 겪는 분이 계시면 저항값 변경 부터 해보면 될 것 같습니다.

 

 

 

 


에러 1.
======== unrecoverable error ==========
Coprocessor 0

 ======== DUMP ALL REGISTER ========
R0 = 0x00000000         R1 = 0x00000002         R2 = 0x20066c7a         R3 = 0x00000001
R4 = 0x00000004         R5 = 0x00000000         R6 = 0x20074adc         R7 = 0x20fffabc
R8 = 0x00000000         R9 = 0x00000004         R10 = 0x20066c78        R11 = 0x200749c0
R12 = 0x00000000        R13 = 0x00000000        R14 = 0x00000000        R15 = 0x00000000
CR0 = 0x00000000        CR1 = 0x00000000        ML = 0x00000014         MH = 0x00000000
ER = 0x00000000         LR = 0x20000332         PC = 0x20ffffc0         SR = 0x431030a0
 ===================================
=======================================
Address alignment error exception(Data)

에러 2.
======== unrecoverable error ==========
Coprocessor 0

 ======== DUMP ALL REGISTER ========
R0 = 0x00000b9e         R1 = 0x20066c26         R2 = 0x00000001         R3 = 0x00000004
R4 = 0x20074a88         R5 = 0x00000000         R6 = 0x20066c24         R7 = 0x20fffc40
R8 = 0x00000000         R9 = 0x00000000         R10 = 0x2007496c        R11 = 0x200002e2
R12 = 0x00000000        R13 = 0x00000000        R14 = 0x00000000        R15 = 0x00000000
CR0 = 0x00000000        CR1 = 0x00000000        ML = 0x00000014         MH = 0x00000000
ER = 0x00000000         LR = 0x200033b0         PC = 0x20ffffc2         SR = 0x43103040
 ===================================
=======================================
Address alignment error exception(Data)

에러 3.
======== unrecoverable error ==========
Double Fault

 ======== DUMP ALL REGISTER ========
R0 = 0x00000001         R1 = 0x00000d30         R2 = 0x00000001         R3 = 0x00000000
R4 = 0x00000000         R5 = 0x00000000         R6 = 0x20fffe68         R7 = 0x20fffc40
R8 = 0x00000d30         R9 = 0x00000001         R10 = 0x20075ad4        R11 = 0x20075ad8
R12 = 0x20067e8e        R13 = 0x20075ad4        R14 = 0x20075b20        R15 = 0x20075b24
CR0 = 0x00000000        CR1 = 0x00000014        ML = 0x00000000         MH = 0x00000000
ER = 0x00000000         LR = 0x2003375e         PC = 0x20000bb6         SR = 0x20000a60
 ===================================
=======================================

에러 4.
======== unrecoverable error ==========
Coprocessor 0

 ======== DUMP ALL REGISTER ========
R0 = 0x00000001         R1 = 0x20075ab8         R2 = 0x0000000c         R3 = 0x00000000
R4 = 0x00000004         R5 = 0x00000000         R6 = 0x20067fac         R7 = 0x20fffc44
R8 = 0x00000001         R9 = 0x00000000         R10 = 0x20075e54        R11 = 0x20075d38
R12 = 0x00000000        R13 = 0x00000000        R14 = 0x00000000        R15 = 0x00000000
CR0 = 0x00000000        CR1 = 0x00000000        ML = 0x0000001a         MH = 0x00000000
ER = 0x00000000         LR = 0x20024a68         PC = 0x00000002         SR = 0x43103040
 ===================================
=======================================

에러 5.
======== unrecoverable error ==========
Double Fault

 ======== DUMP ALL REGISTER ========
lib_src/interrupt.c:89,R0 = 0x00000001  lib_src/interrupt.c:89,R1 = 0xa03a1804                                    lib_src/interrupt.c:89,R2 = 0x00000001  lib_src/interrupt.c:89,R3 = 0x00000000
lib_src/interrupt.c:89,R4 = 0x00000000  lib_src/interrupt.c:89,R5 = 0x00000000                                    lib_src/interrupt.c:89,R6 = 0x20fffdf0  lib_src/interrupt.c:89,R7 = 0x20fffc44
lib_src/interrupt.c:89,R8 = 0x00000040  lib_src/interrupt.c:89,R9 = 0x000001d9                                    lib_src/interrupt.c:89,R10 = 0x20075a90         lib_src/interrupt.c:89,R11 = 0x                                   0075a94
lib_src/interrupt.c:89,R12 = 0x00000000         lib_src/interrupt.c:89,R13 = 0x                                   0075a90         lib_src/interrupt.c:89,R14 = 0x20075adc         lib_src/interru                                   t.c:89,R15 = 0x00000000
lib_src/interrupt.c:98,CR0 = 0x00000000         lib_src/interrupt.c:98,CR1 = 0x                                   0000000         lib_src/interrupt.c:98,ML = 0x0000001a  lib_src/interrupt.c:98,                                   H = 0x00000000
lib_src/interrupt.c:98,ER = 0x00000000  lib_src/interrupt.c:98,LR = 0x20000a9c                                    lib_src/interrupt.c:98,PC = 0x000000e0  lib_src/interrupt.c:98,SR = 0x00000ddc
 ===================================
=======================================

에러 6.
======== unrecoverable error ==========
Double Fault

 ======== DUMP ALL REGISTER ========
R0 = 0x0000000d         R1 = 0x00000000         R2 = 0x00ffffff         R3 = 0x00000001
R4 = 0x00000004         R5 = 0x00000000         R6 = 0x20075df8         R7 = 0x20fffc44
R8 = 0x2007a4b0         R9 = 0x200819d6         R10 = 0x20067f8c        R11 = 0x20075cdc
R12 = 0x00000000        R13 = 0x00000000        R14 = 0x00000000        R15 = 0x00000000
CR0 = 0x00000000        CR1 = 0x00000000        ML = 0x00007440         MH = 0x00000000
ER = 0x00000000         LR = 0x20023b3e         PC = 0x20ffff30         SR = 0x0000002d
 ===================================
=======================================