|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 mytomorrow 于 2019-9-23 10:57 编辑
( D0 k Y2 Z% n: Y5 z* X0 g/ u- _4 ]) C N) `( l% Q
本人是参考友善官方<<Mini2440 Linux移植开发实战指南>>从第一章节开始仔细阅读和试验的,现对本书中出现的漏洞和错误之处以作笔记总结,方便自已的同时希望能对他人有所帮助~
4 T8 J0 v( E6 C* d; w, R! i. T 7 s" o* ?4 r3 [* v4 j
hardware: mini2440(64M FLASH)
* l3 H$ u7 z! h1 ?& hplatform: fedora9 under vmware# F/ S- U% C$ y7 Z; H
" V; R; L9 `) }. ]7 X- W1 \5 h% [未标出章节为没有错误的章节,特此说明., U& `1 o" _( W, P: s+ I1 P7 v
3 V+ o0 D& N' \5 \) B! B1 C' B$ h5 D3.7章节) x# \3 m2 U/ K$ f6 U3 w
3 q: Z: b. E+ u7 `参照此手册完成本章节后,编译内核之前还应再修改两处,不然不出现很多错误,在此不列出错误内容.( g; h5 U5 f/ N, [- Y e
8 j5 v0 _8 x3 `
1.因为这个mach-mini2440.c是从mach-smdk2440.c处复制过来的,mach-smdk2440.c中未对nand作处理,但这里我们作处理啦,所以应在文件中加入相应的头文件6 J; J J, e1 {0 X3 \+ r
1 L0 O) T! Q+ d' ]" j5 O
$ q; |- @& q p, c2 Q; k4 T9 _& l, E#include<linux/mtd/mtd.h>" ?! q; L& C5 x4 _3 w+ s6 _
#include<linux/mtd/nand.h>
) s: ]/ q1 N8 n( ]#include<linux/mtd/nand_ecc.h># c; W! i" ?1 n3 g
#include<linux/mtd/partitions.h>
2 d- F1 r' T1 a& z2 E2 O#include<plat/nand.h>
. b$ K6 _/ T) ?9 `
2 v9 e) d* k) p! d3 d! Y8 r" G) \- o
2.不作下面的修改之前如果编译,以然会出现一个警告0 M/ H {3 s% y/ m8 W, M$ N
- H$ g: E! y$ ?0 B: @warning:"mini2440_nand_info"defined but not used.
+ F3 }7 T U. {2 G
+ W8 e, {* |0 v5 \" n: H6 S解决方法:
: I. G" a1 ?! c& o4 J% ?& l) [1 t8 B
在static void __init mini2440_map_io(void)& \# h$ C1 y, }
{
$ C% ] e- `6 z/ o( l5 V) ], S }+ N M& W- A, W I
中加入以下代码:
/ F9 x1 r5 L/ k+ D3 ~: r3 z s3c_device_nand.dev.platform_data = &mini2440_nand_info;
8 V" _, B1 s2 V2 ]- |$ }+ J; `: l
0 i/ h1 j2 M B) x5 W3 N$ ?3.8章节
/ Y! F3 L6 L( b 2 S) b$ W- @) ]: J4 @* p
完全按照此章节修改好程序后,编译下载到开发板,并下载自已制作适合自已开发板(64M)的文件系统,后出现下面的问题
i! ]9 K i W- N6 X##### FriendlyARM BIOS for 2440 #####
+ O* H) e+ c# m+ N$ t9 n[x] bon part 0 320k 2368k8 z. }$ \, ?- o$ y
[v] Download vivi
' _4 H. ~ b) Q[k] Download linux kernel" E# d" |6 Z R; ^3 D8 `
[y] Download root_yaffs image
9 L j) m* j, Q- Z1 `[a] Absolute User Application! g, L' f) f( P' _; K1 Y) ]3 |
[n] Download Nboot. V& O/ c" B6 E
[l] Download WinCE boot-logo
5 w( h9 U% t7 F) C- z- ^[w] Download WinCE NK.bin( D$ B, Y9 U4 @7 w
[d] Download & Run
1 u: ~% _+ F1 U0 C* ?; K, N[z] Download zImage into RAM3 i u/ _* ^! }4 r& z( A f
[g] Boot linux from RAM
3 x. t7 X' L3 g8 \3 @& i, I2 B[f] Format the nand flash0 [# l* f( E2 T1 Z% j9 H
Boot the system
9 d+ `; U9 m y Set the boot parameters$ L' h) y/ o2 U3 K
Backup NAND Flash to HOST through USB(upload)
5 V; I* L4 f; H% r[r] Restore NAND Flash from HOST through USB, n4 c6 W% c0 `+ c9 I9 ^. O: T
[q] Goto shell of vivi& R4 v! x1 }( g, N& F
Version: 1026-12# o+ {& M: H) h7 a$ j. C
Enter your selection: b
# q1 s- ~. s, _& }2 W- ]Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done
0 [8 r) O* a3 |* A0 K. GzImage magic = 0x016f28189 v! q# |4 D; f& A3 D
Setup linux parameters at 0x30000100
! F; Q" b- E7 @2 s8 g3 R& b. v1 ]/ Clinux command line is: "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySA
$ Q. r4 t: T1 g& F2 OC0"9 C8 C1 H' U. e" N2 Q
MACH_TYPE = 1999
! x: l6 F4 P9 w5 z( eNOW, Booting Linux......
0 E# R: \# Z4 Y0 H' o; ~1 u- l/ P. B% pUncompressing Linux.............................................................* U3 T% X. _5 _* a- m& V+ M4 }0 }
...................................................................... done, boo4 c, X& q' h& G5 j7 e; S4 i- p
ting the kernel.
# l6 X4 v( N4 |; E! F& yLinux version 2.6.32.2 (root@localhost.localdomain) (gcc version 4.4.3 (ctng-1.6/ B- f0 ?( |( U! u* r
.1) ) #8 Wed Jul 6 17:00:40 CST 20118 G6 D$ g5 j# t- S
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
6 O5 ]4 b. G: PCPU: VIVT data cache, VIVT instruction cache- e8 F; W# J3 {: L$ \
Machine: FriendlyARM mini2440 Develop board, D2 Q6 m/ ?: f% x
ATAG_INITRD is deprecated; please update your bootloader.
6 V: R. L5 T& v' lMemory policy: ECC disabled, Data cache writeback
3 B; t& M8 T$ C+ YCPU S3C2440A (id 0x32440001)5 z( C8 N/ R" ?" M5 f9 Q
S3C24XX Clocks, (c) 2004 Simtec Electronics
, S6 D5 ?# Z% X8 gS3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
% W7 P- j$ Z9 E5 q, n" vCLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on3 i6 B& O0 e" I" X2 q: s
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 162564 W4 ^, k. z. ]% K8 a7 ^0 { `
Kernel command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0( ?3 q0 n4 R6 _) r6 A8 d. l8 f! o4 E
PID hash table entries: 256 (order: -2, 1024 bytes)
' h3 m0 U4 T. W/ N$ h9 p8 N6 ZDentry cache hash table entries: 8192 (order: 3, 32768 bytes)
1 A3 F6 q" X3 q9 X; |1 \: LInode-cache hash table entries: 4096 (order: 2, 16384 bytes)
2 `# d1 C F& @- GMemory: 64MB = 64MB total9 x/ ?; h. J7 s7 d( C
Memory: 60524KB available (3680K code, 417K data, 132K init, 0K highmem)
- n4 b! [ p7 @0 H7 WSLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
( K, a3 Z0 d7 h- u% [Hierarchical RCU implementation.. n* W9 ~# q5 I1 n
NR_IRQS:85
. ~# a' X% l0 ]6 J/ O4 H8 l7 f- tirq: clearing subpending status 00000003
/ R% x3 \6 H- }" L0 {irq: clearing subpending status 00000002
: Q" f, @% D! E! C0 ^" |2 p# C* F. ^Console: colour dummy device 80x30 A8 L- T* ~- ?0 o2 X4 G0 W" k
console [ttySAC0] enabled9 A8 Q4 j' N( @2 O7 F) G) e3 a' b
Calibrating delay loop... 201.93 BogoMIPS (lpj=504832)* i, L( @+ B% T
Mount-cache hash table entries: 512 l4 u" o0 d' M8 X- x8 x
CPU: Testing write buffer coherency: ok) d' D. R5 M, P6 ^
NET: Registered protocol family 16
$ G9 G- Q0 P, wS3C2440: Initialising architecture
1 o- `. S$ B0 t$ b6 s: fS3C2440: IRQ Support. i8 |% D7 P0 _% g+ l; _
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
9 R) q" S3 x: I0 d/ o" [DMA channel 0 at c4808000, irq 33
4 `) S( D* M6 h* CDMA channel 1 at c4808040, irq 34
, a) R' k# ~0 j i9 s( kDMA channel 2 at c4808080, irq 350 |' o! i& S2 z; ^6 c
DMA channel 3 at c48080c0, irq 36; `- i+ t" y% c0 x2 ^3 d/ W8 T
S3C244X: Clock Support, DVS off% n9 a/ ^0 P8 k, J% }4 j% p$ N
bio: create slab <bio-0> at 0
" Y8 ?+ }9 ?* s) m, u0 W: Uusbcore: registered new inteRFace driver usbfs
9 l( l; `! p9 Q1 Wusbcore: registered new interface driver hub& ^. w) X) i% @: n2 h9 ]
usbcore: registered new device driver usb
3 w2 R1 Q6 e, q vs3c-i2c s3c2440-i2c: slave address 0x102 c9 n5 |7 D6 J1 _( k K
s3c-i2c s3c2440-i2c: bus frequency set to 98 KHz) F: M3 t' D: o% e7 ^. A
s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter$ e" J5 w& z9 M2 L( w0 v2 I$ U
NET: Registered protocol family 2
3 q2 ^' L% q* ^- _6 }IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
6 i. v5 A) F/ v+ K X3 l; U5 {TCP established hash table entries: 2048 (order: 2, 16384 bytes)
" w8 M% r+ r& u( M6 OTCP bind hash table entries: 2048 (order: 1, 8192 bytes)
. Z) ~+ p. X Z0 A8 ~TCP: Hash tables configured (established 2048 bind 2048), u2 w* ?/ r( _. v: J
TCP reno registered
9 O3 c) s2 X# JNET: Registered protocol family 16 y, g4 g+ x% d( p6 l% p0 _! c, u
RPC: Registered udp transport module.
! a! L3 T8 l. Z2 O9 {$ T) s. X9 YRPC: Registered tcp transport module.7 K: H2 \" W2 [ T+ }& ]5 E
RPC: Registered tcp NFSv4.1 backchannel transport module.: I% q5 A: Z5 i! u' p! v! A9 h
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.' \1 q3 Y$ Z; F3 P* N
ROMFS MTD (C) 2007 Red Hat, Inc.& Y; d' F4 @9 ?) L7 y$ Z
yaffs Jul 6 2011 12:49:18 Installing.
) P4 E4 Z+ b$ O: D$ C0 P3 Ymsgmni has been set to 118# u* R4 U. T- u, |
alg: No test for stdrng (krng)& X+ V9 A. h0 U0 m. f: q" x
io scheduler noop registered
, A) P6 r& `* y9 O8 c& ^; hio scheduler anticipatory registered (default)
9 ~1 z) ^& o/ L: Sio scheduler deadline registered: f4 z7 H& B6 f1 e- t$ Z" l8 A
io scheduler cfq registered" n' m, `! G7 g# e
Console: switching to colour frame buffer device 60x53
$ [8 v0 ^0 Q0 F- z w( wfb0: s3c2410fb frame buffer device7 C8 L) l. r3 G$ T/ d; }
s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
k0 \ B* d0 o8 D1 I9 ?1 fs3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
0 W/ L3 a }4 i+ s, \s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
4 F: P" A5 H+ n9 Sbrd: module loaded
) f |% N+ T$ g. H& i& WS3C24XX NAND Driver, (c) 2004 Simtec Electronics: l7 L n; z7 H$ I
s3c24xx-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns
( S' ]% B2 T7 L2 L6 ts3c24xx-nand s3c2440-nand: NAND soft ECC
) B4 b# U% D8 D _# B7 D# m4 h' ~NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit* x# J) t* d( z, n; w- B2 q
)
( k9 t8 S" I: }4 ]+ A0 W; t5 p2 |Scanning device for bad blocks
) c% j5 |( a, P, ABad eraseblock 3091 at 0x00000304c0002 I) h4 P% c: L
Creating 5 MTD partitions on "NAND 64MiB 3,3V 8-bit":! a' s2 g; q' D/ m. A( x
0x000000000000-0x000000040000 : "supervivi"5 f( H: p% l6 f9 c3 @
ftl_cs: FTL header not found.
9 `1 r. Z+ ? \" L, h9 X. E0x000000040000-0x000000060000 : "param"1 S1 c. q/ l% [) B+ o7 Q
ftl_cs: FTL header not found.
( u1 i; S$ ^$ _5 E4 d1 x0x000000060000-0x000000560000 : "Kernel"4 E( {$ L7 H, t; k0 r
uncorrectable error :
# C# T7 j0 u" k6 S8 nuncorrectable error :0 x V5 f3 ]) ?) T5 f
0x000000560000-0x000040560000 : "root"/ f. g5 ]! z( P
mtd: partition "root" extends beyond the end of device "NAND 64MiB 3,3V 8-bit" -1 h4 w9 q! F& P1 F- n
- size truncated to 0x3aa0000
2 T3 o$ G* Q! m4 O1 C, Tftl_cs: FTL header not found.
( s( C2 I5 b' N, u: s0x000000000000-0x000004000000 : "nand"
0 s5 B" D3 _& E' M# C: Juncorrectable error :9 Z& b s0 i8 N; M: ?$ g- Y7 W# V
uncorrectable error :5 t+ B, r9 }+ ~6 F
dm9000 Ethernet Driver, V1.31
m$ u u+ h$ V5 Nohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver6 o9 l9 `. G' s/ f& V
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI$ _2 R; L; r' `) A
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
& a8 a6 s8 f4 P5 fs3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000$ N6 S9 ~, V0 {
usb usb1: configuration #1 chosen from 1 choice% ?8 E$ W8 \$ n2 r3 A+ H8 K
hub 1-0:1.0: USB hub found
3 ], v* F: ~, O z& T. H1 O7 Zhub 1-0:1.0: 2 ports detected
, F9 {4 |8 ^" ~2 R1 i5 {usbcore: registered new interface driver libusual8 V) l% B5 }: F$ k7 t+ ^
mice: PS/2 mouse device common for all mice
- D0 M& G3 K3 MS3C24XX RTC, (c) 2004,2006 Simtec Electronics
; Q6 \, D+ O# Ki2c /dev entries driver& l" c. W/ U# I$ s
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics* b! H; B" `0 A& v1 {- @, ]7 t; s
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled6 B* q4 E# l1 `$ T. ~$ ]6 e# H
cpuidle: using governor ladder
/ v$ N7 J4 a4 Qsdhci: Secure Digital Host Controller Interface driver0 R1 J4 j, G I# i
sdhci: Copyright(c) Pierre Ossman
6 Q2 G$ [- T. N* o0 h# ^8 [usbcore: registered new interface driver hiddev4 `( w7 k% p e- I+ [
usbcore: registered new interface driver usbhid6 ?$ Q' A8 ^6 E! h7 B+ O
usbhid: v2.6:USB HID core driver$ c: H' @7 h- I7 \" ^. X) T% [, \! N
Advanced Linux Sound Architecture Driver Version 1.0.21.
+ O n7 v- i# ~# m LNo device for DAI UDA134X" w3 X7 g8 H5 e5 D% s5 f& @
No device for DAI s3c24xx-i2s+ j# X. q) P. W3 s; W
ALSA device list:: v/ C' T7 j- n# H5 O5 g
No soundcards found.
' T+ P: F0 U+ ]0 U% @8 |TCP cubic registered
j2 s8 P4 k$ M8 R; ANET: Registered protocol family 17
7 A5 K( \( w3 c5 |drivers/rtc/hctosys.c: unable to open rtc device (rtc0)7 e' |) \: v5 e/ n. p J) P
yaffs: dev is 32505859 name is "mtdblock3"# _ M2 f# c8 r% l( t
yaffs: passed flags ""
+ n, @! a2 O! x! m- S) kyaffs: Attempting MTD mount on 31.3, "mtdblock3"7 {. I( h/ h" @5 \ e+ ^
yaffs: block 2747 is marked bad6 w4 x* o5 r. _, A) I1 U5 K
block 2748 is bad8 j) ^; h% Z; f/ K2 s+ d
usb 1-1: new low speed USB device using s3c2410-ohci and address 2% b" D1 o- o$ y
usb 1-1: configuration #1 chosen from 1 choice
& K2 W/ E4 A1 ]+ A- R4 c, yinput: PIXART USB OPTICAL MOUSE as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1
r7 B! i! G0 T) K9 L.0/input/input06 d# e" z; U) k; m+ z$ |7 ~
generic-usb 0003:093A:2510.0001: input,hidraw0: USB HID v1.11 Mouse [PIXART USB- |+ C7 M7 j3 r
OPTICAL MOUSE] on usb-s3c24xx-1/input0; H; b6 [1 w; _% h
yaffs_read_super: isCheckpointed 02 b$ [6 F) e4 I; H! x4 j. a4 B
VFS: Mounted root (yaffs filesystem) on device 31:3.
' X( D0 _$ N' n; w' dFreeing init memory: 132K3 b; I" u: s7 ~$ `$ n
Unable to handle kernel paging request at virtual address 5058455e
8 f" _- y" [" `* }/ ~4 _3 [$ `! Apgd = c3ac40002 z S9 I% I2 L- G. V! `0 B
[5058455e] *pgd=00000000% x: b7 [0 H" T3 b7 u( G2 F
Internal error: Oops: 80000005 [#1]1 i% _+ u5 \: d" A- k' z
last sysfs file:
$ `' n2 t. S( a' u7 G. lModules linked in:( i$ `) B0 k& c9 m! Y9 U8 }
CPU: 0 Not tainted (2.6.32.2 #8)
; O8 _9 e7 Q" [, M+ F2 |PC is at 0x5058455e. l6 m0 k9 {5 P: [& l' \
LR is at s3c2410_nand_select_chip+0x88/0xa0/ O7 ^( x/ F# O+ [8 K
pc : [<5058455e>] lr : [<c01ec5dc>] psr: 20000033) T/ S! X4 l; h8 {
sp : c3823a50 ip : 00000006 fp : 000000003 V; |2 S' o9 x/ F/ @( a# o5 G1 J0 [
r10: 00000001 r9 : 00011d93 r8 : 00000000
" e% H0 @' d- u0 wr7 : 02912600 r6 : 00000003 r5 : c3998840 r4 : 000000005 }& J6 e/ d6 Q7 P1 _
r3 : 5058455f r2 : c4c00004 r1 : 00000000 r0 : c0024f2c
7 N- o3 J1 U- f+ b O4 r% `4 OFlags: nzCv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment user' i$ m( f+ C( f4 [; J: V
Control: c000717f Table: 33ac4000 DAC: 000000157 ^, Q. o. M, E. P I
Process linuxrc (pid: 1, stack limit = 0xc3822270)
: s1 `, P! Z' p/ [) GStack: (0xc3823a50 to 0xc3824000)
; s O. e' s) z3a40: c3887988 c3887800 c3823b54 c01e98689 d- K; [ T' k6 {+ m6 @0 m* K8 Y
3a60: ffffffff 00000004 00000010 00000000 00000000 00000200 00000000 000000085 o6 n" i2 o8 r0 f# E' h( Z, G
3a80: 00000000 00000001 00000001 00000000 00000004 0000001f 00000000 000000047 Y3 Z4 u& t; J! K
3aa0: 00000001 00000000 00000000 00000000 c3887800 c3823b54 00000200 c0025000
) {, q0 y: c" V3ac0: 00011d93 02912600 00000000 c01e9e9c c3823b54 00000000 00000000 00000000
7 Y8 O2 w1 R* x; ^4 F. d3ae0: 00000000 00000001 00000001 00000000 00000000 60000013 c3887800 c39a9400
$ I2 K# p# p8 w& O% X3b00: 00560000 00000000 00000200 c0025000 00011d93 c3823b54 00000000 c01ce128
5 K2 X8 j$ E9 f6 b4 y3b20: c3823b54 ffffffe0 023b2600 c3823ba8 c3813000 c39a9400 c3823b74 c0154734
" f/ k; \! ?8 v7 X8 o8 l% `3b40: c3823b54 c3887800 023b2600 00000000 00011db3 00000001 00000200 000000007 N: {6 O, p- m% _4 R/ q- T: x! y7 K1 y
3b60: 00000008 00000000 00000000 c0025000 c3823b74 c3823b98 c3813000 00000000
" n, G6 T7 o$ r3b80: 00000000 c3813000 c3823ba8 00011db3 00000200 00000000 00000000 00000469) _' L2 { @+ Y
3ba0: 00001000 c0153314 00000000 00000001 00000bab 00000468 00000200 00000001
* W6 X: }3 P, P2 w* w) h# T3bc0: 00000000 00000000 c3823c0c 00000001 c3823be0 c0185c78 0000009a 00000000
" E" E% a( A' H) |3be0: 0000009a c0025000 c3ab5078 c3ab5078 00000200 c3ab5078 c3813000 c3ab5078
0 M, T3 X& x4 O) f# V- { M9 j3c00: 00000200 c014e7c4 00000000 c0025000 0008d000 00000000 00000000 00000000
2 G- [$ I) ]5 r8 p! Y3c20: 0000008c c04424a0 c3813000 c3ab5078 c0025000 00100100 c3410448 00200200* F% g# k7 Q: v: J0 n, {% D
3c40: 00000020 c01485e0 00001000 c04424a0 c03e3774 c04424a0 c383b080 00000011
C8 }7 R+ \4 W; X6 Q3c60: 00000003 c014882c c04424a0 c3410444 00000011 c006d890 c383b080 0000009a
$ P. H' s. F$ x2 g, x3c80: c0442218 c04424d8 00000000 c383b080 00000000 0000009a c3410444 c34103a8# z- F7 G7 G, T) \0 F" @3 J
3ca0: c383b0c0 c3410444 c3823d00 c006d900 00000000 c3410444 c383b080 c006713c. w9 K% z1 L+ k
3cc0: 00000000 c0148838 c0401508 000284d0 c34107ec c39cc0b0 c3a39000 00000001* W; s4 m3 I4 ~2 I
3ce0: 00000000 c3a39000 000aa000 c3ac4000 c3ac4000 c00782c8 c3822000 c3ac4000
9 o% W+ |& @" L$ Q9 w1 ]2 w4 D3d00: 00000001 0000009a 000aa000 00000000 00000000 00000001 00000000 000aa0004 [4 m- h S/ k3 l1 j$ q, h
3d20: 00000000 c3a39000 00000000 c39cdaa8 c3ac4000 c00794e0 0000009a 00000001
: O" A7 ?& N7 n+ ~0 K8 g$ S) `3d40: 00000000 00000000 00000000 00000001 000000aa c3ac4000 000002a8 c0400f14
? R7 O9 E2 L0 L! o# r. P: o3d60: 00000000 000aa959 c3820000 c3823e50 c39cc0b0 c3a39000 c3a39034 00000805
2 t2 r: a) @# p7 k: J' t6 N: ~3d80: c3a31260 c002f86c 000aa959 00000805 00000805 c03dc580 000aa959 c3823e50
' f" L4 R* T7 y1 r* P9 t3 y2 C" @# P3da0: 00000000 80000013 000aa959 c00292bc c3823f80 c03e4308 c0401508 c03e37fc; A* I, N; l/ N
3dc0: 00000000 c39cc0b0 c39cc0d4 000aa000 c3a39000 c383b080 00001000 c39cc070/ a) @+ q; V- a) G( F. W1 F! U2 S" Q5 _
3de0: 00000001 c0075b68 c39cc0b0 c3a39000 000aa000 c007cce8 c39cc0b0 c007d424
, \7 z2 Q* k( a3e00: c39cc070 c39cc0b0 c39cc058 c39cc0b0 08101877 c007e8fc c39cc108 c3a39000- W3 O: \# n' p; \* A/ Z
3e20: c39cc018 c39cc108 00000002 c007d3d4 c39cc108 c007d424 c39cc018 ffffffff
1 o! d; O/ q$ u! n3e40: c3823e84 c39d5400 c383ba00 c0029a40 000aa959 000006a7 00000000 00000000
+ ]$ x; j: V! S: o3e60: 00000000 c383bd00 c39d5400 c383ba00 00000000 000aa959 000aa959 c3a312608 q2 g. r/ y4 z8 g; z
3e80: 00000001 c3823e98 c00c2730 c0180884 80000013 ffffffff 000006a7 c00c2730$ J+ P% H' a& j# e3 T5 j
3ea0: 00000000 c00c325c 00001812 00000000 c3a39000 000accb4 000aa959 000accb4
' t5 ]) F5 P* l3ec0: 00000001 c39d5500 c3a31260 00000007 c3823f80 000a2100 00008000 c0091e94
: [% @* P9 S3 {% ?) Q3ee0: 000aa100 00008000 00000000 00000000 befff000 c0442500 beffffe1 c0028fd8
- x6 d% e2 ~, _+ l/ Q3f00: 00000009 c39d5400 c03e480c fffffff8 00000000 00000000 c3823f80 c03e4308
. }4 s& D/ ?1 Z3f20: c39d5402 c0092328 c3820000 c3822000 c03dc130 00000002 c39d5400 000000005 p0 |0 E+ ^9 l
3f40: 00000000 c3823f80 c03dc0ac c00933e0 c04cc082 00000000 c03dc130 c0401560+ y$ z/ ^1 ^. G6 l$ M# n! N" \) ~
3f60: c03dc0a8 c04cc082 c03dc130 00000000 00000000 00000000 00000000 c002c9f8
& d+ n: ~% p3 U- }3f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000' O5 |: ?3 `! p$ t* {0 y
3fa0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- u# n; k: w% W. m2 I" l3fc0: 00000000 00000000 00000002 c0401560 c00224e4 00000000 00000000 c0029588. k, Z- h5 ~+ a& l7 q3 N( _) E
3fe0: c0401560 c0008438 00000000 00000000 00000000 c002a868 00000000 00000000
' n: _/ T3 l ] nCode: bad PC value
: h1 M, [5 Q& B---[ end trace 4b28e919385a3e14 ]---' e* g, O; L! b" H s
Kernel panic - not syncing: Attempted to kill init!2 F) ?0 D* P8 h& [1 Q1 V0 @# G3 z) ]* f8 h
[<c002e9c0>] (unwind_backtrace+0x0/0xd8) from [<c02e42d8>] (panic+0x40/0x118)
8 u4 z% i7 z, D T/ J[<c02e42d8>] (panic+0x40/0x118) from [<c003eeec>] (do_exit+0x64/0x59c)
; ^' l/ Y9 Z5 Q: ]' I* k8 J7 i[<c003eeec>] (do_exit+0x64/0x59c) from [<c002d6d0>] (die+0x15c/0x180)
$ M* P" i( g0 V! s1 f. M) Q! O[<c002d6d0>] (die+0x15c/0x180) from [<c002f780>] (__do_kernel_fault+0x64/0x74): |- J! H y# {& `, E7 Y1 ]
[<c002f780>] (__do_kernel_fault+0x64/0x74) from [<c002f940>] (do_page_fault+0x1b
4 b- ]: Q7 b" d0/0x1c4)" d: A- \3 J1 A+ z9 `4 w
[<c002f940>] (do_page_fault+0x1b0/0x1c4) from [<c0029228>] (do_PrefetchAbort+0x30 A" R4 E" w7 v7 W
4/0x94)
, d, w: X. k. h' a( r[<c0029228>] (do_PrefetchAbort+0x34/0x94) from [<c0029ba4>] (__pabt_svc+0x44/0x8
3 X7 a; A+ M% L5 c+ n( Z0)
, T6 ?% B4 b' RException stack(0xc3823a08 to 0xc3823a50)( t* p3 Z( v7 p, Z$ a
3a00: c0024f2c 00000000 c4c00004 5058455f 00000000 c3998840
6 w' l) P {- {2 [' b5 M3a20: 00000003 02912600 00000000 00011d93 00000001 00000000 00000006 c3823a500 E, C# I V3 d: Y, `0 x2 ]
3a40: c01ec5dc 5058455e 20000033 ffffffff F. x; l& g7 S* C5 N* x
[<c0029ba4>] (__pabt_svc+0x44/0x80) from [<5058455e>] (0x5058455e)5 c$ t7 l. y/ L
. Z4 }1 u/ t1 H6 o9 g- b# t
查找资料发现有这样的说明:
# e" L! s4 F' p2 ~: p 这个问题是由于arch/arm/mach-s3c2440/mach-mini2440.c中nand flash controller相关配置数据被声明为__initdata属性造成的。这部分数据会在根文件系统挂载后被释放,但事实上它们还会被nand flash driver用到,因此就出现了memory access问题。解决的办法是把arch/arm/mach-s3c2440/mach-mini2440.c中下列几行中的__initdata声明去掉:5 p$ j' b: A) r; v: ^
1 j% N* G+ ]/ {( N6 s+ Hstatic struct mtd_partition mini2440_default_nand_part[] __initdata = {}
$ L1 @0 X7 d" c1 A1 cstatic struct s3c2410_nand_set mini2440_nand_sets[] __initdata = {}0 G$ M, `. K+ J' _9 J
static struct s3c2410_platform_nand mini2440_nand_info __initdata = {}0 [( w: G1 h$ x' N9 p( Z! w
按此方法修改后,成功!
( I, v: O6 V- _/ g
! C H4 ^7 k5 p0 @6 s6 v0 e9 x6 A
+ }" @, g' H% B2 f, J
! C$ C; j6 ~7 P J% _" x* y3 s# H! j" ~* ^ ^) V
|
|