일반 S5PV210 고수님들 도와주세요~
2014.10.28 07:48
안녕하세요~
현재 S5PV210으로 열심히 테스트하고 있는 하드웨어 유저입니다.
단말기 테스트중에 특정한 곳에서 계속 Booting 불량이 발생해서요.
고수님들의 조언을 듣고자 글을 남깁니다.
우선, 문제 현상은 커널 부팅시 아래와 같은 메세지가 뜨며, 부팅이 멈춥니다.
(부팅 멈추는 곳은 일정치가 않습니다.)
여기서, 중요한 부분은 빨간색의 글씨중 제일 마지막 부분인 주소가 항상 다르다는건데요.
DDR2 타이밍 문제가 아닐까하여 EMRS REGISTRY의 ODT 옵션을 설정하여 150ohm으로
맞추었더니 부팅멈춤 현상이 사라졌습니다.
문제는 대략적인 짐작으로 DDR2의 ODT를 설정했으나, 정확한 문제에 대한 대책사항이
아닌듯하여, 고수님들의 의견을 듣고자 합니다.
이러한 유사한 경험이 있으신분들은 아래 문제를 어떻게 해결하셨으며, 어떠한 것이
문제라고 생각이 드시는지요??
CPU: ARMv7 Processor [412fc082] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: EZS5PV210
Memory policy: ECC disabled, Data cache writeback
CPU S5PV210/S5PC110 (id 0x43110220)
S3C24XX Clocks, Copyright 2004 Simtec Electronics
mout_audss: bad source 0
sclk_csis: no parent clock specified
S5PV210: PLL settings, A=1000000000, M=667000000, E=80000000 V=54000000
S5PV210: ARMCLK=1000000000, HCLKM=200000000, HCLKD=166750000
HCLKP=133400000, PCLKM=100000000, PCLKD=83375000, PCLKP=66700000
sclk_csis: no parent clock specified
s5pv310: 3145728 bytes system memory reserved for fimd at 0x304cd000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 487244k/487244k available, 37044k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xff000000 - 0xffe00000 ( 14 MB)
vmalloc : 0xa0800000 - 0xe0000000 (1016 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
modules : 0x7f000000 - 0x80000000 ( 16 MB)
.init : 0x80008000 - 0x80049000 ( 260 kB)
.text : 0x80049000 - 0x8043f000 (4056 kB)
.data : 0x8045c000 - 0x8048b780 ( 190 kB)
SLUB: Genslabs=9, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:176
VIC @f4000000: id 0x00041192, vendor 0x41
VIC @f4010000: id 0x00041192, vendor 0x41
VIC @f4020000: id 0x00041192, vendor 0x41
VIC @f4030000: id 0x00041192, vendor 0x41
Console: colour dummy device 80x30
console [ttySAC2] enabled
Calibrating delay loop... 996.14 BogoMIPS (lpj=2490368)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Unable to handle kernel NULL pointer dereference at virtual address 00000008
pgd = 80004000
[00000008] *pgd=00000000
Internal error: Oops: 805 [#1] PREEMPT
last sysfs file:
Modules linked in:
CPU: 0 Not tainted (2.6.35-Atec #TR300R-VALIDATOR-K-v5)
PC is at __kmalloc+0x4/0xd4
LR is at netlink_kernel_create+0xa0/0x180
pc : [<800bad18>] lr : [<802cd0c8>] psr: 80000013
sp : 9fc37f40 ip : ffffffff fp : 00000000
r10: 804b9f78 r9 : 00000000 r8 : 00000000
r7 : 00000020 r6 : 00000000 r5 : 0000000f r4 : 9fc31800
r3 : 9f804300 r2 : 00000001 r1 : 000080d0 r0 : 00000010
Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
댓글 4
-
박문식
2014.10.29 00:01
-
천풍뢰각
2014.10.29 05:12
네. 부트로더에서는 DRAM 512MB 영역과 NAND 영역 정상적으로 읽힙니다.
전원이 의심스러워서 (특히, ARM 1.25V) 파워서플라이에서 공급해 보았으나
동일하게 오류가 나네요.
-
박문식
2014.10.31 07:34
보기에는 메모리 에러처럼 보이고
부트로더 설정이나 타이밍이 맞지 않는 것처럼 보입니다.
특히 부트로더에서는 느리게 동작하기 때문에 문제가 안생기다가도
커널 부팅을 하게 되면 고속 동작을 하기에 문제가 되기도 합니다.
부트 커맨드가 안보여서 모르겠지만
램디스크 부팅이라면 그런 경우 램디스크를 풀거나 할때 생기는데 아니라면 위에서처럼 걸리수도 있겠네요
-
천풍뢰각
2014.11.05 07:54
DDR2 의 타이밍 문제라면, 이와 관련하여 궁금한게 있습니다.
만약 제가 V210 1GHZ CLOCK에 DDR2의 CLOCK을 400MHZ로 설정시
533MHZ의 DDR2를 사용하게 된다면, 타이밍 기준을 533MHZ DDR2로
맞춰야하는지요? 아니면, 400MHZ로 맞춰야하는지요?
이 부분에 대해서는 아시는분이 잘 없으셔서요.




부트로더에서 사용하시는 전체 메모리에 대한 access 가 가능한 상태인가요?