|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 mytomorrow 于 2019-9-23 10:57 编辑 7 U' |: {* D' Q
! l/ U* I5 c% Y2 Y w4 _
本人是参考友善官方<<Mini2440 Linux移植开发实战指南>>从第一章节开始仔细阅读和试验的,现对本书中出现的漏洞和错误之处以作笔记总结,方便自已的同时希望能对他人有所帮助~. [* q$ S. t; n
/ d8 _: n5 V w& u+ H
hardware: mini2440(64M FLASH)0 z9 Z5 ]0 p/ ~
platform: fedora9 under vmware( A, b: K# y; |( }
; a+ H/ b+ N1 J/ Q! ~* ]; s
未标出章节为没有错误的章节,特此说明.
8 Y# J4 E- S! d0 O5 E# I- b8 L
6 ~) c+ w I2 S6 D, o3.7章节: R2 k* K, m% T; ], S9 e
! Q1 L. N( ~, A$ r( t参照此手册完成本章节后,编译内核之前还应再修改两处,不然不出现很多错误,在此不列出错误内容.
4 b0 z6 K: e! ?, U
0 v) }( T/ @* O1.因为这个mach-mini2440.c是从mach-smdk2440.c处复制过来的,mach-smdk2440.c中未对nand作处理,但这里我们作处理啦,所以应在文件中加入相应的头文件' b( t0 J( T' h _$ @ ^
. Q) y+ ]" j, @# e: E( H- L6 ^% O; I& B' Z5 c
#include<linux/mtd/mtd.h>, a$ S3 Z4 g& V
#include<linux/mtd/nand.h>
3 X/ Q8 I1 k% g9 l#include<linux/mtd/nand_ecc.h>3 n7 ^$ F4 W" w' E2 }' K& A
#include<linux/mtd/partitions.h>
1 g& C# n& {% H: j. w#include<plat/nand.h>
7 L& o+ u8 V9 n* B" D( A5 V( ~# X C: x: T
( z2 n# t, y8 `. @# x& t. n6 o3 |2.不作下面的修改之前如果编译,以然会出现一个警告
) Z- _; x4 O- w$ i& h
4 e$ r% H1 M; O2 ~# i- Ywarning:"mini2440_nand_info"defined but not used.
/ q4 A* _9 m+ h4 b' U* | . n2 ` c5 C6 V" c" ~$ B9 Q
解决方法:6 W/ J9 \( t9 c7 f$ Z
0 Z% j7 c6 V# d" g) w: x C
在static void __init mini2440_map_io(void)) C- M, D4 `9 ^5 ^, X0 W1 G
{
: Q5 j& z! ~+ V% K( q }
2 }4 s/ E1 l* f' X" v0 g. z 中加入以下代码:
/ M( _. m3 y! I( ]( S s3c_device_nand.dev.platform_data = &mini2440_nand_info;- I, N4 h1 \$ B. I0 E3 c( \: Y
1 J& ~, Z7 ~+ i1 K0 ]& [' E2 X
3.8章节0 T% _3 I( b |7 ], i% i
' `8 O4 q& |% v5 i+ @- {# Q 完全按照此章节修改好程序后,编译下载到开发板,并下载自已制作适合自已开发板(64M)的文件系统,后出现下面的问题: ]' E. n) x9 w( n# z# g- ~# `
##### FriendlyARM BIOS for 2440 #####' t3 k, X' q. q
[x] bon part 0 320k 2368k
: y" D0 ]' M2 \! `[v] Download vivi5 Y5 h" Y9 H, \# h3 \& F
[k] Download linux kernel6 `$ ^ {7 x6 `9 G8 h4 [; L& z
[y] Download root_yaffs image4 y7 P b$ f. C. V. [, Q) K% ]
[a] Absolute User Application6 ~5 D: C& E' P$ T/ G. f! `) p
[n] Download Nboot/ q6 l m7 g" Y, g, f! E& M
[l] Download WinCE boot-logo" V0 f# {. G4 [3 s
[w] Download WinCE NK.bin
& @* r9 F! b5 E[d] Download & Run* ^/ a2 ]: v. s
[z] Download zImage into RAM1 t; q1 t( P g! l k! z1 I
[g] Boot linux from RAM3 |( H! f; x( W% |8 w0 b4 ~
[f] Format the nand flash
( W2 E9 [) ]/ N5 o9 g# i; v! U Boot the system
+ v C% I7 B- n3 \# F8 ~2 c5 O* ~ Set the boot parameters
3 w3 J$ z9 F3 f1 J Backup NAND Flash to HOST through USB(upload)
7 {9 O9 s6 E* q0 Z; t) i[r] Restore NAND Flash from HOST through USB
- z' o+ n$ @+ [3 T9 z2 @[q] Goto shell of vivi) r+ C) p6 ?" _' u, e4 U# N7 W: Z
Version: 1026-12, w# ?7 {2 [2 ~, ~3 ~7 {" U
Enter your selection: b' ~' M; e0 g# f: S: M: Z/ P
Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done
8 `4 |" j0 P( c, d+ G! EzImage magic = 0x016f2818
+ M w3 k( t' ]# l) T* x* ]1 oSetup linux parameters at 0x300001004 e/ r" }* d" Y: j7 _# B2 E6 ~6 t
linux command line is: "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySA
" B& ^- d5 f8 M m/ l# EC0"
$ A1 P2 A# Y; {, V" {* w3 P: BMACH_TYPE = 1999
5 y- u$ J+ d2 o- E6 qNOW, Booting Linux......
* K8 `$ Z, m& k3 VUncompressing Linux.............................................................
- m% g# O8 H- D7 h...................................................................... done, boo
2 G: W& Q( U. _0 J. |6 Ating the kernel.$ V8 I9 I% B& ? ~7 i, A/ b$ Y- X
Linux version 2.6.32.2 (root@localhost.localdomain) (gcc version 4.4.3 (ctng-1.6
8 J9 Z# ?+ g, h1 d# C! b.1) ) #8 Wed Jul 6 17:00:40 CST 2011/ a! L( u6 U8 A. T+ u
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
$ k: }& u/ |6 Y* fCPU: VIVT data cache, VIVT instruction cache
! _) y0 @) F1 `% G/ K, m' _& f9 FMachine: FriendlyARM mini2440 Develop board
; l+ j) @# S. `+ G2 O' sATAG_INITRD is deprecated; please update your bootloader.% ~8 e8 V( l* q4 R# f/ Y
Memory policy: ECC disabled, Data cache writeback5 Y6 j5 a# g7 B0 T0 F; \% m3 }6 |
CPU S3C2440A (id 0x32440001)
! ?4 Z- m6 u8 _/ r5 b: @" i+ ~6 pS3C24XX Clocks, (c) 2004 Simtec Electronics0 e3 Y0 W3 Q7 L+ C" \) f# \( Z
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
6 [. `3 g8 @' h) H8 O) wCLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on# A- }8 F. p6 k9 N# s
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
9 x% }$ R% i+ Q5 C8 _/ tKernel command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
' n! Q7 E3 M+ G* x- r& {8 OPID hash table entries: 256 (order: -2, 1024 bytes) P6 I3 a! e$ q- X
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)' D% l! K3 `. T, M7 j u* o) G; r
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)' e9 [3 E; ~: `: M7 B6 r' h
Memory: 64MB = 64MB total
2 p; d$ |( W S- E7 ]4 j2 MMemory: 60524KB available (3680K code, 417K data, 132K init, 0K highmem)5 C& t$ n: ^( H+ f# v
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
/ m( f2 }, |$ H4 K* o3 wHierarchical RCU implementation.. X- K5 G9 v+ s% z+ K
NR_IRQS:85
2 o8 ~5 K0 J B" c3 b8 qirq: clearing subpending status 00000003, Q" N4 J6 O$ [4 j" v% z, o
irq: clearing subpending status 000000027 c4 L/ Y \2 ^: I+ N4 V G+ a* y
Console: colour dummy device 80x30
% o9 {# T R" y' W _, tconsole [ttySAC0] enabled# x2 w4 q7 B4 P
Calibrating delay loop... 201.93 BogoMIPS (lpj=504832)
$ G5 `1 w& ^4 Q7 X6 i0 Q UMount-cache hash table entries: 512
5 }9 r0 L8 [+ Y) p9 l8 C: p3 YCPU: Testing write buffer coherency: ok& m8 [8 a( n& L. h
NET: Registered protocol family 16. H2 d4 {! [8 ~
S3C2440: Initialising architecture6 Z( z; C0 J2 f$ k, s! F
S3C2440: IRQ Support
5 F' ]( i0 }3 D! B) R2 v+ G" KS3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics, K4 }) J; E/ n* @ f
DMA channel 0 at c4808000, irq 33
. X' e5 ~, Z2 ~& V& ?: NDMA channel 1 at c4808040, irq 34
+ G/ U: D) S2 S1 g* b4 E5 o! ZDMA channel 2 at c4808080, irq 35! V1 J1 W! j% C" }9 d8 Q2 {% a
DMA channel 3 at c48080c0, irq 36
0 V0 P+ w: T, s# _. H- AS3C244X: Clock Support, DVS off
U" v9 ]1 Z) X0 Z+ j1 a1 Pbio: create slab <bio-0> at 0
4 w* |- D5 m7 W+ w' y* h2 ^/ D9 musbcore: registered new inteRFace driver usbfs7 Y% q. k- E! j0 t' C& [8 D& x3 W
usbcore: registered new interface driver hub1 G- k+ W- ~5 n' m) d/ J" |% [: T
usbcore: registered new device driver usb4 h7 M% W/ p3 j5 y! E4 B- l
s3c-i2c s3c2440-i2c: slave address 0x10; i! y; L6 J- V! p( H" Q
s3c-i2c s3c2440-i2c: bus frequency set to 98 KHz
% [& m3 V2 {- Y" G6 d# ?5 Y4 ks3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
8 k# `+ T6 g0 a5 X4 g2 SNET: Registered protocol family 2
Z0 D; c6 C4 ~5 \ ?$ z6 I) K8 HIP route cache hash table entries: 1024 (order: 0, 4096 bytes), V" \. E% c3 b! ~
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
2 T' e3 [. h* j& m3 V( C' pTCP bind hash table entries: 2048 (order: 1, 8192 bytes)' ~8 z. _) A9 o3 @
TCP: Hash tables configured (established 2048 bind 2048)- G; \! O+ V+ _0 |
TCP reno registered7 A' B8 l& A. M D2 V! B5 L
NET: Registered protocol family 1, m% [0 E7 Y N# Y/ T9 P0 K
RPC: Registered udp transport module./ {& f: Y& b' U7 J/ `
RPC: Registered tcp transport module.6 T. Y1 Z2 b/ b# C
RPC: Registered tcp NFSv4.1 backchannel transport module.
# a, Y6 p$ @0 @# Q9 \, U EJFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.: {$ d) r8 o& q7 t/ x: P
ROMFS MTD (C) 2007 Red Hat, Inc.
; _# e# V/ J8 ]yaffs Jul 6 2011 12:49:18 Installing.
: t; a% E- N9 U: G: G' d3 Cmsgmni has been set to 1183 u! L: r4 Y6 u& P. e. D ^
alg: No test for stdrng (krng)
0 V7 [# [3 @: U! o; dio scheduler noop registered' p q( T! u7 W7 [
io scheduler anticipatory registered (default)* Q4 d* M, Z8 f. |8 C/ ^5 Z
io scheduler deadline registered
2 ^2 h1 r6 K7 I+ j" I$ Z% D& v# ~io scheduler cfq registered# L# }6 A1 n' J/ f, ]
Console: switching to colour frame buffer device 60x533 X4 p9 i x; {& p
fb0: s3c2410fb frame buffer device3 P3 }( n; N5 w' K, h4 L
s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440" E; p" H; E% Z: f
s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
' J( g" _9 p7 W7 ?s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440* s: Y3 o- j$ R6 j# |
brd: module loaded6 D& m h- j6 {# V! Q
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
6 C) C) N3 O, [' U2 X, _8 A; ?s3c24xx-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns, \; A1 [& c* l8 j! ? Z5 U
s3c24xx-nand s3c2440-nand: NAND soft ECC
0 p2 @% t+ |- E' DNAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit, B; W8 e) [: [# B, g: {* M! v" E
)* U: g1 t$ ^; x6 s1 S4 i- }
Scanning device for bad blocks3 a9 X6 x- I& q) K! r$ [
Bad eraseblock 3091 at 0x00000304c000
Y; p* ?) y, N; C% ICreating 5 MTD partitions on "NAND 64MiB 3,3V 8-bit":
+ k1 H- L7 p/ ?$ }: J0x000000000000-0x000000040000 : "supervivi"8 H* z6 C+ J h2 e2 N: w9 b
ftl_cs: FTL header not found.* u4 M7 ^( x" i" ^, z3 }/ ^
0x000000040000-0x000000060000 : "param"
- Z4 X2 C+ l; Z, O% {9 Pftl_cs: FTL header not found.
) |$ [* A c2 u% U- r0x000000060000-0x000000560000 : "Kernel"$ w U) K7 T" j) P* ] F' d
uncorrectable error : f) S# n @9 O, B- v5 ?
uncorrectable error :9 H" q' h+ L4 ], c0 h" ]( Z3 q7 I
0x000000560000-0x000040560000 : "root"
6 ^2 [& P5 _ e- ?* `; ^mtd: partition "root" extends beyond the end of device "NAND 64MiB 3,3V 8-bit" -+ Y/ e3 a' L! C3 H
- size truncated to 0x3aa0000
S9 Z, R8 B6 V5 O' `ftl_cs: FTL header not found.
& d* a6 B Y5 i; K$ ^3 v0x000000000000-0x000004000000 : "nand") Z7 `0 i7 ]! G! s
uncorrectable error :, q! n9 S1 i& `. I8 `
uncorrectable error :# f6 W3 G( R; M# e
dm9000 Ethernet Driver, V1.313 t+ t! a3 c: J. D8 W2 Y+ S
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
$ q0 f5 Y6 p. U" a6 _8 L' ~s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
; p( I# X& v9 d* ns3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 13 n$ o8 U$ d; U, ~( D' \
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000, j3 l8 I, W6 P/ h# d2 [/ C, `
usb usb1: configuration #1 chosen from 1 choice
4 C$ [$ n a8 w: u0 y/ l9 Qhub 1-0:1.0: USB hub found
) g5 W- ~& \0 B% V0 U* _0 ]hub 1-0:1.0: 2 ports detected
3 P) |7 _ D& v/ {9 }' l. Yusbcore: registered new interface driver libusual' _" m3 D; g g- v& _
mice: PS/2 mouse device common for all mice( n# b( R" Q, `
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
0 v$ @0 r- P% k# s2 ui2c /dev entries driver% z( W3 M0 c3 ^' g9 F& C/ u+ G
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics2 K; h& j, I7 P& G4 a6 r, A
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
, B; Y3 x; z4 K. M: u! jcpuidle: using governor ladder: D9 {2 g, N& a6 N- X/ x- O. [5 t
sdhci: Secure Digital Host Controller Interface driver& n+ ~7 L' e3 d ]2 v" r9 C ^
sdhci: Copyright(c) Pierre Ossman n6 O3 F) v* Y( b+ J
usbcore: registered new interface driver hiddev- q2 M/ ~' }: C3 W* O3 g
usbcore: registered new interface driver usbhid
4 Y/ ]2 k: X2 c4 p9 rusbhid: v2.6:USB HID core driver& T; C2 M: B3 I+ B4 M
Advanced Linux Sound Architecture Driver Version 1.0.21.5 D( ?* d9 T& m( A0 v- O
No device for DAI UDA134X$ y! I- X* t+ O4 L( ^& Y
No device for DAI s3c24xx-i2s
9 L) J) H$ l, }ALSA device list:- d, @: K5 @: P7 z
No soundcards found.
2 t# Z' D k [0 E/ UTCP cubic registered T9 H' B: \) J4 M
NET: Registered protocol family 17' \# k$ l- h+ l- V; v' w4 s
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
# j L$ w, m! G' e2 qyaffs: dev is 32505859 name is "mtdblock3"
( Y; s2 A( C4 _' y ~0 G1 u) ~yaffs: passed flags ""$ C- i1 I' _9 M" h7 X
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
5 Q2 @1 n3 k2 J4 H3 a. v$ cyaffs: block 2747 is marked bad
' T; B3 v; U3 E$ X4 xblock 2748 is bad" |$ t, m+ I. B" l* h3 W
usb 1-1: new low speed USB device using s3c2410-ohci and address 2
; V6 |# a' x4 p; c9 Wusb 1-1: configuration #1 chosen from 1 choice6 X5 x/ y( s* A- x. y f! J
input: PIXART USB OPTICAL MOUSE as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1
( D: U8 c6 Y9 N3 \.0/input/input0( q7 O1 ^ F: B+ F: `
generic-usb 0003:093A:2510.0001: input,hidraw0: USB HID v1.11 Mouse [PIXART USB1 u7 r- {, \$ }. L
OPTICAL MOUSE] on usb-s3c24xx-1/input0
0 h# z6 W3 ^, T/ {9 P) h: Oyaffs_read_super: isCheckpointed 0
# r% p( e/ M6 C* f# w' g# Q BVFS: Mounted root (yaffs filesystem) on device 31:3.
" X* p4 D2 C; |% u; {; M) ]/ A. UFreeing init memory: 132K
# d4 U$ E6 D# J5 Q# w% ], ~* v6 AUnable to handle kernel paging request at virtual address 5058455e1 T/ ^ ^1 T/ L
pgd = c3ac4000
' e" G6 y g% Q* D6 H# M[5058455e] *pgd=000000009 }" v+ i& Y4 x/ W! s" i, o; B
Internal error: Oops: 80000005 [#1]
/ D5 k9 [; f9 ulast sysfs file:$ b- V/ S; J- R- B- v6 t5 x
Modules linked in:
; N9 u/ l+ n8 f; M% l$ H/ H* n! |CPU: 0 Not tainted (2.6.32.2 #8)
4 G: `. l- K+ MPC is at 0x5058455e
& c5 G7 D1 `0 z; H. ZLR is at s3c2410_nand_select_chip+0x88/0xa0) Q/ W- u' {- i7 z+ l' d# I
pc : [<5058455e>] lr : [<c01ec5dc>] psr: 20000033
7 d% J3 z6 d- B5 c9 L" Dsp : c3823a50 ip : 00000006 fp : 00000000
0 W) _, s: C# U% H* sr10: 00000001 r9 : 00011d93 r8 : 00000000
" i4 T4 N2 ^0 |% S0 s/ ]2 xr7 : 02912600 r6 : 00000003 r5 : c3998840 r4 : 00000000
0 n) x/ E6 Y' x% a( G, [! S. m. T# lr3 : 5058455f r2 : c4c00004 r1 : 00000000 r0 : c0024f2c; @& J8 j( _" v. c' @2 L+ `
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment user/ X4 w0 B1 p" w3 ]
Control: c000717f Table: 33ac4000 DAC: 00000015# X$ h* z/ l+ J9 i1 R/ {5 q
Process linuxrc (pid: 1, stack limit = 0xc3822270)
1 J; w+ F% r* `2 g8 @Stack: (0xc3823a50 to 0xc3824000); ]! `$ A# z# v- N" b/ q6 A
3a40: c3887988 c3887800 c3823b54 c01e9868 [# l/ n$ T5 j+ z$ W/ _; L
3a60: ffffffff 00000004 00000010 00000000 00000000 00000200 00000000 000000087 n, D9 ?( o, m; ]% E1 m- M
3a80: 00000000 00000001 00000001 00000000 00000004 0000001f 00000000 000000040 i1 n( x& b8 p0 D) D
3aa0: 00000001 00000000 00000000 00000000 c3887800 c3823b54 00000200 c0025000
: f' l! K4 j K7 H: d8 Y5 U4 ^! ?3ac0: 00011d93 02912600 00000000 c01e9e9c c3823b54 00000000 00000000 00000000
# }) n0 p5 a0 Z) R3ae0: 00000000 00000001 00000001 00000000 00000000 60000013 c3887800 c39a94001 b1 [( y2 f* k" r# V% H. W
3b00: 00560000 00000000 00000200 c0025000 00011d93 c3823b54 00000000 c01ce1286 K, v$ k+ K& _7 G
3b20: c3823b54 ffffffe0 023b2600 c3823ba8 c3813000 c39a9400 c3823b74 c0154734
8 @7 o0 B6 c2 f1 o! u( ]3b40: c3823b54 c3887800 023b2600 00000000 00011db3 00000001 00000200 00000000" c6 q( U R& t6 X. j" N2 @: q
3b60: 00000008 00000000 00000000 c0025000 c3823b74 c3823b98 c3813000 00000000
; t+ m4 |( g6 W' Y& `3 {8 ?' C' W3b80: 00000000 c3813000 c3823ba8 00011db3 00000200 00000000 00000000 00000469
$ `4 W a1 C: x5 Z M: U# h' S3ba0: 00001000 c0153314 00000000 00000001 00000bab 00000468 00000200 00000001
6 t& w* n! w& D: E9 P) r3bc0: 00000000 00000000 c3823c0c 00000001 c3823be0 c0185c78 0000009a 00000000
9 o9 S, l/ S+ S0 A; H3be0: 0000009a c0025000 c3ab5078 c3ab5078 00000200 c3ab5078 c3813000 c3ab50783 t" \9 f8 x1 E+ m/ A
3c00: 00000200 c014e7c4 00000000 c0025000 0008d000 00000000 00000000 00000000/ R! e9 [( R( ^3 f
3c20: 0000008c c04424a0 c3813000 c3ab5078 c0025000 00100100 c3410448 00200200, {$ w3 o7 R, d9 ^" `9 f. l7 a6 V
3c40: 00000020 c01485e0 00001000 c04424a0 c03e3774 c04424a0 c383b080 00000011
: V6 `0 l2 l+ k3c60: 00000003 c014882c c04424a0 c3410444 00000011 c006d890 c383b080 0000009a
7 x* o |. A# G# `$ {3c80: c0442218 c04424d8 00000000 c383b080 00000000 0000009a c3410444 c34103a8 n4 g W& v! B* g+ ?* \, ]& ^
3ca0: c383b0c0 c3410444 c3823d00 c006d900 00000000 c3410444 c383b080 c006713c
3 i3 W0 O) J0 L+ F& [3cc0: 00000000 c0148838 c0401508 000284d0 c34107ec c39cc0b0 c3a39000 00000001: m( N! G3 P% N- \0 s- p& \9 k/ S9 M
3ce0: 00000000 c3a39000 000aa000 c3ac4000 c3ac4000 c00782c8 c3822000 c3ac4000
) h# B, p4 f; L3 g- @6 d3d00: 00000001 0000009a 000aa000 00000000 00000000 00000001 00000000 000aa000
5 q+ ?6 p" l6 i+ U1 o/ Y3d20: 00000000 c3a39000 00000000 c39cdaa8 c3ac4000 c00794e0 0000009a 00000001% s1 E" }5 }! l3 |1 u2 r
3d40: 00000000 00000000 00000000 00000001 000000aa c3ac4000 000002a8 c0400f14
0 m0 {$ J$ ^7 n; U8 A% t3d60: 00000000 000aa959 c3820000 c3823e50 c39cc0b0 c3a39000 c3a39034 00000805+ u% ?+ [. ^0 T2 n5 P3 _2 X" e, _
3d80: c3a31260 c002f86c 000aa959 00000805 00000805 c03dc580 000aa959 c3823e50, @( W; N b( B
3da0: 00000000 80000013 000aa959 c00292bc c3823f80 c03e4308 c0401508 c03e37fc
. C& Y. P% H+ @- B1 |' v3dc0: 00000000 c39cc0b0 c39cc0d4 000aa000 c3a39000 c383b080 00001000 c39cc070- m# g1 h- F$ Z) R# F* e' X& F
3de0: 00000001 c0075b68 c39cc0b0 c3a39000 000aa000 c007cce8 c39cc0b0 c007d4247 u( {9 P9 F1 @$ ?- n0 x) T& q! v! \
3e00: c39cc070 c39cc0b0 c39cc058 c39cc0b0 08101877 c007e8fc c39cc108 c3a39000
. e6 M8 n9 p r4 H) U3e20: c39cc018 c39cc108 00000002 c007d3d4 c39cc108 c007d424 c39cc018 ffffffff
, t: q' R. B) L' U, U6 h4 a6 x- R# g3e40: c3823e84 c39d5400 c383ba00 c0029a40 000aa959 000006a7 00000000 000000007 H8 A4 l7 H [+ r" K
3e60: 00000000 c383bd00 c39d5400 c383ba00 00000000 000aa959 000aa959 c3a31260( ~' h, L A( M# X
3e80: 00000001 c3823e98 c00c2730 c0180884 80000013 ffffffff 000006a7 c00c2730
; V1 e! p, t b+ h3 }7 r- \' e3ea0: 00000000 c00c325c 00001812 00000000 c3a39000 000accb4 000aa959 000accb45 X! h, v4 }# h* N, r% c4 s( g% P
3ec0: 00000001 c39d5500 c3a31260 00000007 c3823f80 000a2100 00008000 c0091e94) I8 e; H& v: f0 ?$ N& N
3ee0: 000aa100 00008000 00000000 00000000 befff000 c0442500 beffffe1 c0028fd81 L/ `+ C; _$ i3 a
3f00: 00000009 c39d5400 c03e480c fffffff8 00000000 00000000 c3823f80 c03e43088 N" I- Z0 Y" P o$ k4 {
3f20: c39d5402 c0092328 c3820000 c3822000 c03dc130 00000002 c39d5400 00000000
: N Y) Y7 I2 K8 p4 h" [- N5 Q3f40: 00000000 c3823f80 c03dc0ac c00933e0 c04cc082 00000000 c03dc130 c0401560. |) I% [4 c+ B' ]/ d
3f60: c03dc0a8 c04cc082 c03dc130 00000000 00000000 00000000 00000000 c002c9f8
Z3 |* ^& Q( Z- j- V3 Y3f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000000001 j% r. W3 v( A; ]# n2 y
3fa0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
: J: e0 J% r- t5 t3fc0: 00000000 00000000 00000002 c0401560 c00224e4 00000000 00000000 c0029588 r0 c9 L) y6 p" U+ }: G
3fe0: c0401560 c0008438 00000000 00000000 00000000 c002a868 00000000 00000000
' s# S* q5 M O1 d5 uCode: bad PC value: J( ~. G$ Z' K5 y
---[ end trace 4b28e919385a3e14 ]---
+ y+ u0 G( n' mKernel panic - not syncing: Attempted to kill init!
1 H% X4 ~" N& Q8 P[<c002e9c0>] (unwind_backtrace+0x0/0xd8) from [<c02e42d8>] (panic+0x40/0x118)
: x& e; g# w2 [$ q+ ~[<c02e42d8>] (panic+0x40/0x118) from [<c003eeec>] (do_exit+0x64/0x59c)7 ~7 L% z+ R7 c+ j8 [
[<c003eeec>] (do_exit+0x64/0x59c) from [<c002d6d0>] (die+0x15c/0x180)3 }& G7 M. Z% u+ v
[<c002d6d0>] (die+0x15c/0x180) from [<c002f780>] (__do_kernel_fault+0x64/0x74)
5 @: P) O, p3 P5 I. A W. ?3 M[<c002f780>] (__do_kernel_fault+0x64/0x74) from [<c002f940>] (do_page_fault+0x1b: T* D; H5 w* E$ Z
0/0x1c4)
' E9 l& ]: d7 E t- l% K[<c002f940>] (do_page_fault+0x1b0/0x1c4) from [<c0029228>] (do_PrefetchAbort+0x3
% T0 E* `) y2 H3 _% W& i% p0 u4/0x94)
) K& X5 |) q' M7 l9 g& g: o j[<c0029228>] (do_PrefetchAbort+0x34/0x94) from [<c0029ba4>] (__pabt_svc+0x44/0x8
' V: W% z4 `. O' O: n. N0 O% e0)
# y; a/ I% X/ {1 O3 WException stack(0xc3823a08 to 0xc3823a50)
# R" c! b1 W# t3a00: c0024f2c 00000000 c4c00004 5058455f 00000000 c39988401 m* ] T4 c* {( j9 q, T7 ?
3a20: 00000003 02912600 00000000 00011d93 00000001 00000000 00000006 c3823a50% j, X( P9 @, C: k% J
3a40: c01ec5dc 5058455e 20000033 ffffffff
* o/ v8 h c/ @4 G9 Z5 t4 \$ Q# ]; L[<c0029ba4>] (__pabt_svc+0x44/0x80) from [<5058455e>] (0x5058455e)/ [9 P+ i$ |# u. H( ~9 H
) R3 @# R: y5 a$ e0 \: H& s
查找资料发现有这样的说明:
/ A) j P# M, q6 z3 Z9 ]2 i5 o 这个问题是由于arch/arm/mach-s3c2440/mach-mini2440.c中nand flash controller相关配置数据被声明为__initdata属性造成的。这部分数据会在根文件系统挂载后被释放,但事实上它们还会被nand flash driver用到,因此就出现了memory access问题。解决的办法是把arch/arm/mach-s3c2440/mach-mini2440.c中下列几行中的__initdata声明去掉:7 U. `( |0 y) r- s R
- V& ]. ]4 B% I# \% f9 `% F K* _
static struct mtd_partition mini2440_default_nand_part[] __initdata = {}
4 b5 J2 i# j5 wstatic struct s3c2410_nand_set mini2440_nand_sets[] __initdata = {}
% f5 s# B* r$ R( [ tstatic struct s3c2410_platform_nand mini2440_nand_info __initdata = {}; y- N+ w2 v: ^, R! @
按此方法修改后,成功!: Z) t% b# M8 m& z
3 G& w! P" J" [* F+ I3 N) m6 | ^8 b4 x! a8 O7 b
`. ~8 ?0 Y1 d: j
$ D! Q5 |$ ^) ?, M% ?7 L6 ^
|
|