主题 : 【无限期暂停更新】Hu's kernel 3.10 for 友善210全平台 DIY内核 复制链接 | 浏览器收藏 | 打印
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
30楼  发表于: 2013-07-16 19:08
引用第29楼zb211208于2013-07-16 16:54发表的  :
支持楼主,我手上也有K9GBGU8U0A 一直没有调通,郁闷中........
错误提示一样吗、
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
31楼  发表于: 2013-07-16 19:29
fs/yaffs2/yaffs_vfs.c:2994:31: warning: ‘my_proc_entry’ defined but not used [-Wunused-variable]
fs/yaffs2/yaffs_vfs.c:3075:12: warning: ‘yaffs_proc_read’ defined but not used [-Wunused-function]
fs/yaffs2/yaffs_vfs.c:3271:12: warning: ‘yaffs_proc_write’ defined but not used [-Wunused-function]
……
drivers/mtd/nand/s3c_nand.c: In function ‘s3c_nand_probe’:
drivers/mtd/nand/s3c_nand.c:1109:12: warning: comparison between pointer and integer [enabled by default]
drivers/mtd/nand/s3c_nand.c:1132:26: warning: assignment from incompatible pointer type [enabled by default]
drivers/mtd/nand/s3c_nand.c:1133:27: warning: assignment from incompatible pointer type [enabled by default]
drivers/mtd/nand/s3c_nand.c:1134:25: warning: assignment from incompatible pointer type [enabled by default]
drivers/mtd/nand/s3c_nand.c:1145:27: warning: assignment from incompatible pointer type [enabled by default]
drivers/mtd/nand/s3c_nand.c:1146:28: warning: assignment from incompatible pointer type [enabled by default]
drivers/mtd/nand/s3c_nand.c:1147:26: warning: assignment from incompatible pointer type [enabled by default]
drivers/mtd/nand/s3c_nand.c: At top level:
drivers/mtd/nand/s3c_nand.c:170:30: warning: ‘s3c_nand_oob_mlc_64’ defined but not used [-Wunused-variable]
drivers/mtd/nand/s3c_nand.c:691:12: warning: ‘s3c_nand_read_page_4bit’ defined but not used [-Wunused-function]
drivers/mtd/nand/s3c_nand.c:728:13: warning: ‘s3c_nand_write_page_4bit’ defined but not used [-Wunused-function]
  CC      drivers/mtd/nand/s5p_phy_init_ext.o
  CC      drivers/mtd/nand/s5p_nand_mlc.o
drivers/mtd/nand/s5p_nand_mlc.c: In function ‘s5p_nand_mlc_probe’:
drivers/mtd/nand/s5p_nand_mlc.c:580:22: warning: assignment from incompatible pointer type [enabled by default]
drivers/mtd/nand/s5p_nand_mlc.c:581:23: warning: assignment from incompatible pointer type [enabled by default]
drivers/mtd/nand/s5p_nand_mlc.c:582:21: warning: assignment from incompatible pointer type [enabled by default]

这些是编译时出现的警告提示。不知道这个跟这个unknown nand有木有关系呢?
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
32楼  发表于: 2013-07-16 21:56

 回 28楼(huhu2207) 的帖子

复制代码
  1.         tmp = id_data[1];                /* Device ID */
  2.         for (j = 0; nand_flash_ids[j].name != NULL; j++) {
  3.             if (tmp == nand_flash_ids[j].id) {
  4.                 type = &nand_flash_ids[j];
  5.                 break;
  6.             }
  7.         }
  8.         if (!type) {
  9.             printk(KERN_ERR "Unknown NAND Device.\n");
  10.             goto exit_error;
  11.         }

很明显,这是因为从NAND Flash上读到的ID值(tmp)在代码里预置的ID值表(nand_flash_ids[j].id)里匹配不到造成的错误。你试过把tmp和nand_flash_ids[j].id打印出来看看吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
33楼  发表于: 2013-07-17 08:14

 Re:回 28楼(huhu2207) 的帖子

引用第32楼kasim于2013-07-16 21:56发表的 回 28楼(huhu2207) 的帖子 :
[code]        tmp = id_data[1];                /* Device ID */
        for (j = 0; nand_flash_ids[j].name != NULL; j++) {
            if (tmp == nand_flash_ids[j].id) {
                type = &nand_flash_ids[j];
                break;
.......

打印结果:


S3C NAND Driver, (c) 2008 Samsung Electronics
tmp = 0xd7 nand_flash_ids[0].id = 0x8083b6f0
tmp = 0xd7 nand_flash_ids[1].id = 0x8083b710
tmp = 0xd7 nand_flash_ids[2].id = 0x8083b730
tmp = 0xd7 nand_flash_ids[3].id = 0x8083b750
tmp = 0xd7 nand_flash_ids[4].id = 0x8083b770
tmp = 0xd7 nand_flash_ids[5].id = 0x8083b790
tmp = 0xd7 nand_flash_ids[6].id = 0x8083b7b0
tmp = 0xd7 nand_flash_ids[7].id = 0x8083b7d0
tmp = 0xd7 nand_flash_ids[8].id = 0x8083b7f0
tmp = 0xd7 nand_flash_ids[9].id = 0x8083b810
tmp = 0xd7 nand_flash_ids[10].id = 0x8083b830
tmp = 0xd7 nand_flash_ids[11].id = 0x8083b850
tmp = 0xd7 nand_flash_ids[12].id = 0x8083b870
tmp = 0xd7 nand_flash_ids[13].id = 0x8083b890
tmp = 0xd7 nand_flash_ids[14].id = 0x8083b8b0
tmp = 0xd7 nand_flash_ids[15].id = 0x8083b8d0
tmp = 0xd7 nand_flash_ids[16].id = 0x8083b8f0
tmp = 0xd7 nand_flash_ids[17].id = 0x8083b910
tmp = 0xd7 nand_flash_ids[18].id = 0x8083b930
tmp = 0xd7 nand_flash_ids[19].id = 0x8083b950
tmp = 0xd7 nand_flash_ids[20].id = 0x8083b970
tmp = 0xd7 nand_flash_ids[21].id = 0x8083b990
tmp = 0xd7 nand_flash_ids[22].id = 0x8083b9b0
tmp = 0xd7 nand_flash_ids[23].id = 0x8083b9d0
tmp = 0xd7 nand_flash_ids[24].id = 0x8083b9f0
tmp = 0xd7 nand_flash_ids[25].id = 0x8083ba10
tmp = 0xd7 nand_flash_ids[26].id = 0x8083ba30
tmp = 0xd7 nand_flash_ids[27].id = 0x8083ba50
tmp = 0xd7 nand_flash_ids[28].id = 0x8083ba70
tmp = 0xd7 nand_flash_ids[29].id = 0x8083ba90
tmp = 0xd7 nand_flash_ids[30].id = 0x8083bab0
tmp = 0xd7 nand_flash_ids[31].id = 0x8083bad0
tmp = 0xd7 nand_flash_ids[32].id = 0x8083baf0
tmp = 0xd7 nand_flash_ids[33].id = 0x8083bb10
tmp = 0xd7 nand_flash_ids[34].id = 0x8083bb30
tmp = 0xd7 nand_flash_ids[35].id = 0x8083bb50
tmp = 0xd7 nand_flash_ids[36].id = 0x8083bb70
tmp = 0xd7 nand_flash_ids[37].id = 0x8083bb90
tmp = 0xd7 nand_flash_ids[38].id = 0x8083bbb0
tmp = 0xd7 nand_flash_ids[39].id = 0x8083bbd0
tmp = 0xd7 nand_flash_ids[40].id = 0x8083bbf0
tmp = 0xd7 nand_flash_ids[41].id = 0x8083bc10
tmp = 0xd7 nand_flash_ids[42].id = 0x8083bc30
tmp = 0xd7 nand_flash_ids[43].id = 0x8083bc50
tmp = 0xd7 nand_flash_ids[44].id = 0x8083bc70
tmp = 0xd7 nand_flash_ids[45].id = 0x8083bc90
tmp = 0xd7 nand_flash_ids[46].id = 0x8083bcb0
tmp = 0xd7 nand_flash_ids[47].id = 0x8083bcd0
tmp = 0xd7 nand_flash_ids[48].id = 0x8083bcf0
tmp = 0xd7 nand_flash_ids[49].id = 0x8083bd10
tmp = 0xd7 nand_flash_ids[50].id = 0x8083bd30
tmp = 0xd7 nand_flash_ids[51].id = 0x8083bd50
tmp = 0xd7 nand_flash_ids[52].id = 0x8083bd70
tmp = 0xd7 nand_flash_ids[53].id = 0x8083bd90
tmp = 0xd7 nand_flash_ids[54].id = 0x8083bdb0
tmp = 0xd7 nand_flash_ids[55].id = 0x8083bdd0
tmp = 0xd7 nand_flash_ids[56].id = 0x8083bdf0
tmp = 0xd7 nand_flash_ids[57].id = 0x8083be10
tmp = 0xd7 nand_flash_ids[58].id = 0x8083be30
tmp = 0xd7 nand_flash_ids[59].id = 0x8083be50
tmp = 0xd7 nand_flash_ids[60].id = 0x8083be70
tmp = 0xd7 nand_flash_ids[61].id = 0x8083be90
tmp = 0xd7 nand_flash_ids[62].id = 0x8083beb0
tmp = 0xd7 nand_flash_ids[63].id = 0x8083bed0
tmp = 0xd7 nand_flash_ids[64].id = 0x8083bef0
tmp = 0xd7 nand_flash_ids[65].id = 0x8083bf10
tmp = 0xd7 nand_flash_ids[66].id = 0x8083bf30
tmp = 0xd7 nand_flash_ids[67].id = 0x8083bf50
tmp = 0xd7 nand_flash_ids[68].id = 0x8083bf70
tmp = 0xd7 nand_flash_ids[69].id = 0x8083bf90
tmp = 0xd7 nand_flash_ids[70].id = 0x8083bfb0
tmp = 0xd7 nand_flash_ids[71].id = 0x8083bfd0
tmp = 0xd7 nand_flash_ids[72].id = 0x8083bff0
tmp = 0xd7 nand_flash_ids[73].id = 0x8083c010
tmp = 0xd7 nand_flash_ids[74].id = 0x8083c030
tmp = 0xd7 nand_flash_ids[75].id = 0x8083c050
tmp = 0xd7 nand_flash_ids[76].id = 0x8083c070
tmp = 0xd7 nand_flash_ids[77].id = 0x8083c090
tmp = 0xd7 nand_flash_ids[78].id = 0x8083c0b0
tmp = 0xd7 nand_flash_ids[79].id = 0x8083c0d0
Unknown NAND Device.
tmp= 0xd7看起来是对的呀 
在drivers/mtd/nand/nand_ids.c中有定义:EXTENDED_ID_NAND("NAND 4GiB 3,3V 8-bit",  0xD7, 4096, LP_OPTIONS),

而K9GBG08U0A网上资料显示:
工作电压:2.7V -3.6V         
存储介质类别: MLC-2 单管芯 单I/O通道  
I/O接口位宽: x8bit            
损坏区块:工厂保留字 
芯片版本:第一代芯片
芯片特征:单片选,单忙信号,异步接口 
封装材料:无铅封装



极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
34楼  发表于: 2013-07-17 10:02
图片:
见图。
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
35楼  发表于: 2013-07-17 10:08
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 3.10.0-g8a829e4-dirty (hu@hu-workstation) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #4 PREEMPT Wed Jul 17 10:05:59 CST 2013
CPU: ARMv7 Processor [412fc082] revision 2 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: SMDKV210
Memory policy: ECC disabled, Data cache writeback
CPU S5PV210/S5PC110 (id 0x43110220)
S3C24XX Clocks, Copyright 2004 Simtec Electronics
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_dmc: source is sclk_a2m (0), rate is 200000000
sclk_onenand: source is hclk_dsys (1), rate is 166750000
sclk_fimc: source is ext_xtal (0), rate is 24000000
sclk_fimc: source is ext_xtal (0), rate is 24000000
sclk_fimc: source is ext_xtal (0), rate is 24000000
sclk_cam0: source is ext_xtal (0), rate is 24000000
sclk_cam1: source is ext_xtal (0), rate is 24000000
sclk_fimd: source is ext_xtal (0), rate is 24000000
sclk_mfc: source is sclk_a2m (0), rate is 200000000
sclk_g2d: source is sclk_a2m (0), rate is 200000000
sclk_g3d: source is sclk_a2m (0), rate is 200000000
sclk_csis: source is ext_xtal (0), rate is 24000000
sclk_pwi: source is ext_xtal (0), rate is 24000000
sclk_pwm: source is ext_xtal (0), rate is 24000000
CPU: All CPU(s) started in SVC mode.
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: root=/dev/mtdblock4 rootfstype=yaffs2 console=ttySAC0,115200 init=/linuxrc lcd=H43
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: 510952k/510952k available, 13336k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xa0800000 - 0xff000000   (1512 MB)
    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)
    modules : 0x7f000000 - 0x80000000   (  16 MB)
      .text : 0x80008000 - 0x806ac8d8   (6803 kB)
      .init : 0x806ad000 - 0x8080a1d4   (1397 kB)
      .data : 0x8080c000 - 0x8084ea80   ( 267 kB)
       .bss : 0x8084ea80 - 0x8088b374   ( 243 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:208
VIC @f6000000: id 0x00041192, vendor 0x41
VIC @f6010000: id 0x00041192, vendor 0x41
VIC @f6020000: id 0x00041192, vendor 0x41
VIC @f6030000: id 0x00041192, vendor 0x41
sched_clock: 32 bits at 33MHz, resolution 29ns, wraps every 128784ms
Console: colour dummy device 80x30
Calibrating delay loop... 663.55 BogoMIPS (lpj=1658880)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x80485b00 - 0x80485b58
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
S3C Power Management, Copyright 2004 Simtec Electronics
S5PV210: Initializing architecture
s3c24xx-pwm s3c24xx-pwm.3: tin at 33350000, tdiv at 33350000, tin=divclk, base 16
bio: create slab <bio-0> at 0
SCSI subsystem initialized
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource samsung_clocksource_timer
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 4, 81920 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP: reno registered
UDP hash table entries: 256 (order: 1, 12288 bytes)
UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
s3c-adc samsung-adc-v3: attached adc driver
NTFS driver 2.1.30 [Flags: R/W].
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
dma-pl330 dma-pl330.0: Loaded driver for PL330 DMAC-267056
dma-pl330 dma-pl330.0:  DBUFF-8x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
dma-pl330 dma-pl330.1: Loaded driver for PL330 DMAC-267056
dma-pl330 dma-pl330.1:  DBUFF-8x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
s5pv210-uart.0: ttySAC0 at MMIO 0xe2900000 (irq = 74) is a S3C6400/10
console [ttySAC0] enabled
s5pv210-uart.1: ttySAC1 at MMIO 0xe2900400 (irq = 75) is a S3C6400/10
s5pv210-uart.2: ttySAC2 at MMIO 0xe2900800 (irq = 76) is a S3C6400/10
s5pv210-uart.3: ttySAC3 at MMIO 0xe2900c00 (irq = 77) is a S3C6400/10
brd: module loaded
loop: module loaded
S3C NAND Driver, (c) 2008 Samsung Electronics
tmp = 0xd7 nand_flash_ids[0].id = 0x8083b6f0
tmp = 0xd7 nand_flash_ids[1].id = 0x8083b710
tmp = 0xd7 nand_flash_ids[2].id = 0x8083b730
tmp = 0xd7 nand_flash_ids[3].id = 0x8083b750
tmp = 0xd7 nand_flash_ids[4].id = 0x8083b770
tmp = 0xd7 nand_flash_ids[5].id = 0x8083b790
tmp = 0xd7 nand_flash_ids[6].id = 0x8083b7b0
tmp = 0xd7 nand_flash_ids[7].id = 0x8083b7d0
tmp = 0xd7 nand_flash_ids[8].id = 0x8083b7f0
tmp = 0xd7 nand_flash_ids[9].id = 0x8083b810
tmp = 0xd7 nand_flash_ids[10].id = 0x8083b830
tmp = 0xd7 nand_flash_ids[11].id = 0x8083b850
tmp = 0xd7 nand_flash_ids[12].id = 0x8083b870
tmp = 0xd7 nand_flash_ids[13].id = 0x8083b890
tmp = 0xd7 nand_flash_ids[14].id = 0x8083b8b0
tmp = 0xd7 nand_flash_ids[15].id = 0x8083b8d0
tmp = 0xd7 nand_flash_ids[16].id = 0x8083b8f0
tmp = 0xd7 nand_flash_ids[17].id = 0x8083b910
tmp = 0xd7 nand_flash_ids[18].id = 0x8083b930
tmp = 0xd7 nand_flash_ids[19].id = 0x8083b950
tmp = 0xd7 nand_flash_ids[20].id = 0x8083b970
tmp = 0xd7 nand_flash_ids[21].id = 0x8083b990
tmp = 0xd7 nand_flash_ids[22].id = 0x8083b9b0
tmp = 0xd7 nand_flash_ids[23].id = 0x8083b9d0
tmp = 0xd7 nand_flash_ids[24].id = 0x8083b9f0
tmp = 0xd7 nand_flash_ids[25].id = 0x8083ba10
tmp = 0xd7 nand_flash_ids[26].id = 0x8083ba30
tmp = 0xd7 nand_flash_ids[27].id = 0x8083ba50
tmp = 0xd7 nand_flash_ids[28].id = 0x8083ba70
tmp = 0xd7 nand_flash_ids[29].id = 0x8083ba90
tmp = 0xd7 nand_flash_ids[30].id = 0x8083bab0
tmp = 0xd7 nand_flash_ids[31].id = 0x8083bad0
tmp = 0xd7 nand_flash_ids[32].id = 0x8083baf0
tmp = 0xd7 nand_flash_ids[33].id = 0x8083bb10
tmp = 0xd7 nand_flash_ids[34].id = 0x8083bb30
tmp = 0xd7 nand_flash_ids[35].id = 0x8083bb50
tmp = 0xd7 nand_flash_ids[36].id = 0x8083bb70
tmp = 0xd7 nand_flash_ids[37].id = 0x8083bb90
tmp = 0xd7 nand_flash_ids[38].id = 0x8083bbb0
tmp = 0xd7 nand_flash_ids[39].id = 0x8083bbd0
tmp = 0xd7 nand_flash_ids[40].id = 0x8083bbf0
tmp = 0xd7 nand_flash_ids[41].id = 0x8083bc10
tmp = 0xd7 nand_flash_ids[42].id = 0x8083bc30
tmp = 0xd7 nand_flash_ids[43].id = 0x8083bc50
tmp = 0xd7 nand_flash_ids[44].id = 0x8083bc70
tmp = 0xd7 nand_flash_ids[45].id = 0x8083bc90
tmp = 0xd7 nand_flash_ids[46].id = 0x8083bcb0
tmp = 0xd7 nand_flash_ids[47].id = 0x8083bcd0
tmp = 0xd7 nand_flash_ids[48].id = 0x8083bcf0
tmp = 0xd7 nand_flash_ids[49].id = 0x8083bd10
tmp = 0xd7 nand_flash_ids[50].id = 0x8083bd30
tmp = 0xd7 nand_flash_ids[51].id = 0x8083bd50
tmp = 0xd7 nand_flash_ids[52].id = 0x8083bd70
tmp = 0xd7 nand_flash_ids[53].id = 0x8083bd90
tmp = 0xd7 nand_flash_ids[54].id = 0x8083bdb0
tmp = 0xd7 nand_flash_ids[55].id = 0x8083bdd0
tmp = 0xd7 nand_flash_ids[56].id = 0x8083bdf0
tmp = 0xd7 nand_flash_ids[57].id = 0x8083be10
tmp = 0xd7 nand_flash_ids[58].id = 0x8083be30
tmp = 0xd7 nand_flash_ids[59].id = 0x8083be50
tmp = 0xd7 nand_flash_ids[60].id = 0x8083be70
tmp = 0xd7 nand_flash_ids[61].id = 0x8083be90
tmp = 0xd7 nand_flash_ids[62].id = 0x8083beb0
tmp = 0xd7 nand_flash_ids[63].id = 0x8083bed0
tmp = 0xd7 nand_flash_ids[64].id = 0x8083bef0
tmp = 0xd7 nand_flash_ids[65].id = 0x8083bf10
tmp = 0xd7 nand_flash_ids[66].id = 0x8083bf30
tmp = 0xd7 nand_flash_ids[67].id = 0x8083bf50
tmp = 0xd7 nand_flash_ids[68].id = 0x8083bf70
tmp = 0xd7 nand_flash_ids[69].id = 0x8083bf90
tmp = 0xd7 nand_flash_ids[70].id = 0x8083bfb0
tmp = 0xd7 nand_flash_ids[71].id = 0x8083bfd0
tmp = 0xd7 nand_flash_ids[72].id = 0x8083bff0
tmp = 0xd7 nand_flash_ids[73].id = 0x8083c010
tmp = 0xd7 nand_flash_ids[74].id = 0x8083c030
tmp = 0xd7 nand_flash_ids[75].id = 0x8083c050
tmp = 0xd7 nand_flash_ids[76].id = 0x8083c070
tmp = 0xd7 nand_flash_ids[77].id = 0x8083c090
tmp = 0xd7 nand_flash_ids[78].id = 0x8083c0b0
tmp = 0xd7 nand_flash_ids[79].id = 0x8083c0d0
Unknown NAND Device.
dm9000 dm9000: read wrong id 0x2b2a2928
dm9000 dm9000: read wrong id 0x2b2a2928
dm9000 dm9000: read wrong id 0x2b2a2928
dm9000 dm9000: read wrong id 0x2b2a2928
dm9000 dm9000: read wrong id 0x2b2a2928
dm9000 dm9000: read wrong id 0x2b2a2928
dm9000 dm9000: read wrong id 0x2b2a2928
dm9000 dm9000: read wrong id 0x2b2a2928
dm9000 dm9000: wrong id: 0x2b2a2928
dm9000 dm9000: not found (-19).
Broadcom 43xx driver loaded [ Features: NL ]
Broadcom 43xx-legacy driver loaded [ Features: LID ]
mousedev: PS/2 mouse device common for all mice
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
Bluetooth: HCILL protocol initialized
Bluetooth: HCIATH3K protocol initialized
Bluetooth: HCI Three-wire UART (H5) protocol initialized
ipip: IPv4 over IPv4 tunneling driver
gre: GRE over IPv4 demultiplexor driver
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
l2tp_core: L2TP core driver, V2.0
8021q: 802.1Q VLAN Support v1.8
DCCP: Activated CCID 2 (TCP-like)
DCCP: Activated CCID 3 (TCP-Friendly Rate Control)
sctp: Hash tables configured (established 8192 bind 6553)
NET: Registered protocol family 21
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2
ALSA device list:
  No soundcards found.
Freeing unused kernel memory: 1396K (806ad000 - 8080a000)
mount: mounting /dev/mtdblock4 on /r failed: No such device or address
/init: line 109: can't open /r/dev/console: no such file
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000200

CPU: 0 PID: 1 Comm: init Not tainted 3.10.0-g8a829e4-dirty #4
[<80012b98>] (unwind_backtrace+0x0/0xf8) from [<80010a94>] (show_stack+0x10/0x14)
[<80010a94>] (show_stack+0x10/0x14) from [<8047ee64>] (panic+0x8c/0x1d8)
[<8047ee64>] (panic+0x8c/0x1d8) from [<8002124c>] (do_exit+0x710/0x810)
[<8002124c>] (do_exit+0x710/0x810) from [<800214a4>] (do_group_exit+0x48/0xb0)
[<800214a4>] (do_group_exit+0x48/0xb0) from [<8002151c>] (__wake_up_parent+0x0/0x18)

目前启动log
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
36楼  发表于: 2013-07-17 10:15
s3c_nand_probe()的相关内容。。。

复制代码
  1. static int s3c_nand_probe(struct platform_device *pdev, enum s3c_cpu_type cpu_type)
  2. {
  3. #if defined(CONFIG_ARCH_S5PV210)
  4.     struct s3c_nand_mtd_info *plat_info = &s3c_nand_mtd_part_info;
  5. #else
  6.     struct s3c_nand_mtd_info *plat_info = pdev->dev.platform_data;
  7. #endif
  8.     struct mtd_partition *partition_info = (struct mtd_partition *)plat_info->partition;
  9.     struct nand_chip *nand;
  10.     struct resource *res;
  11.     int err = 0;
  12.     int ret = 0;
  13.     int i, size;
  14.     struct mtd_partition *partitions = NULL;
  15.     int num_partitions = 0;
  16. #if defined(CONFIG_MTD_NAND_S3C_HWECC)
  17.     struct nand_flash_dev *type = NULL;
  18.     u_char id_data[8];
  19.     u_char tmp;
  20.     int j;
  21. #endif
  22.     /* get the clock source and enable it */
  23.     s3c_nand.clk = clk_get(&pdev->dev, "nand");
  24.     if (IS_ERR(s3c_nand.clk)) {
  25.         dev_err(&pdev->dev, "failed to get clock");
  26.         err = -ENOENT;
  27.         goto exit_error;
  28.     }
  29.     clk_enable(s3c_nand.clk);
  30.     /* allocate and map the resource */
  31.     /* currently we assume we have the one resource */
  32.     res  = pdev->resource;
  33.     size = res->end - res->start + 1;
  34.     s3c_nand.area = request_mem_region(res->start, size, pdev->name);
  35.     if (s3c_nand.area == NULL) {
  36.         dev_err(&pdev->dev, "cannot reserve register region\n");
  37.         err = -ENOENT;
  38.         goto exit_error;
  39.     }
  40.     s3c_nand.cpu_type   = cpu_type;
  41.     s3c_nand.device     = &pdev->dev;
  42.     s3c_nand.regs       = ioremap(res->start, size);
  43.     if (s3c_nand.regs == NULL) {
  44.         dev_err(&pdev->dev, "cannot reserve register region\n");
  45.         err = -EIO;
  46.         goto exit_error;
  47.     }
  48.     /* allocate memory for MTD device structure and private data */
  49.     s3c_mtd = kmalloc(sizeof(struct mtd_info) + sizeof(struct nand_chip), GFP_KERNEL);
  50.     if (!s3c_mtd) {
  51.         printk(KERN_ERR "Unable to allocate NAND MTD dev structure.\n");
  52.         return -ENOMEM;
  53.     }
  54.     /* Get pointer to private data */
  55.     nand = (struct nand_chip *) (&s3c_mtd[1]);
  56.     /* Initialize structures */
  57.     memset((char *) s3c_mtd, 0, sizeof(struct mtd_info));
  58.     memset((char *) nand, 0, sizeof(struct nand_chip));
  59.     /* Link the private data with the MTD structure */
  60.     s3c_mtd->priv = nand;
  61.     for (i = 0; i < plat_info->chip_nr; i++) {
  62.         nand->IO_ADDR_R        = (char *)(s3c_nand.regs + S3C_NFDATA);
  63.         nand->IO_ADDR_W        = (char *)(s3c_nand.regs + S3C_NFDATA);
  64.         nand->cmd_ctrl        = s3c_nand_hwcontrol;
  65.         nand->dev_ready        = s3c_nand_device_ready;
  66.         nand->scan_bbt        = s3c_nand_scan_bbt;
  67.         nand->options        = 0;
  68.         nand->badblockbits    = 8;
  69. #ifdef CONFIG_MACH_SMDKV210
  70.         s5p_nand_ext_finit(nand, s3c_nand.regs);
  71. #endif
  72. #if defined(CONFIG_MTD_NAND_S3C_HWECC)
  73.         nand->ecc.mode        = NAND_ECC_HW;
  74.         nand->ecc.hwctl        = s3c_nand_enable_hwecc;
  75.         nand->ecc.calculate    = s3c_nand_calculate_ecc;
  76.         nand->ecc.correct    = s3c_nand_correct_data;
  77.         s3c_nand_hwcontrol(0, NAND_CMD_READID, NAND_NCE | NAND_CLE | NAND_CTRL_CHANGE);
  78.         s3c_nand_hwcontrol(0, 0x00, NAND_CTRL_CHANGE | NAND_NCE | NAND_ALE);
  79.         s3c_nand_hwcontrol(0, 0x00, NAND_NCE | NAND_ALE);
  80.         s3c_nand_hwcontrol(0, NAND_CMD_NONE, NAND_NCE | NAND_CTRL_CHANGE);
  81.         s3c_nand_device_ready(0);
  82.         for (j = 0; j < 8; j++) {
  83.             id_data[j] = readb(nand->IO_ADDR_R);
  84.         }
  85.         tmp = id_data[1];                /* Device ID */
  86.         for (j = 0; nand_flash_ids[j].name != NULL; j++) {
  87.         /*add this line to get Device ID */    
  88.             printk("tmp = 0x%02x nand_flash_ids[%d].id = 0x%02x\n", tmp, j, nand_flash_ids[j].id);
  89.         /*add end*/    
  90.             if (tmp == nand_flash_ids[j].id) {
  91.                 type = &nand_flash_ids[j];
  92.                 break;
  93.             }
  94.         }
  95.         if (!type) {
  96.             printk(KERN_ERR "Unknown NAND Device.\n");
  97.             goto exit_error;
  98.         }
  99.         nand->cellinfo = id_data[2];    /* the 3rd byte */
  100.         tmp = id_data[3];                /* the 4th byte */
  101.         if (!type->pagesize) {
  102.             if (((nand->cellinfo >> 2) & 0x3) == 0) {
  103.                 nand_type = S3C_NAND_TYPE_SLC;
  104.                 nand->ecc.size = 512;
  105.                 nand->ecc.bytes    = 4;
  106.                 /*  For 4KB Page 8_bit ECC */
  107.                 if ((1024 << (tmp & 3)) == 4096) {
  108.                     /* Page size is 4Kbytes */
  109.                     nand->ecc.read_page = s3c_nand_read_page_8bit;
  110.                     nand->ecc.write_page = s3c_nand_write_page_8bit;
  111.                     nand->ecc.read_oob = s3c_nand_read_oob_8bit;
  112.                     nand->ecc.write_oob = s3c_nand_write_oob_8bit;
  113.                     nand->ecc.layout = &s3c_nand_oob_128;
  114.                     nand->ecc.hwctl = s3c_nand_enable_hwecc_8bit;
  115.                     nand->ecc.calculate = s3c_nand_calculate_ecc_8bit;
  116.                     nand->ecc.correct = s3c_nand_correct_data_8bit;
  117.                     nand->ecc.size = 512;
  118.                     nand->ecc.bytes = 13;
  119.                     nand->options |= NAND_NO_SUBPAGE_WRITE;
  120.                 } else {
  121.                     if ((1024 << (tmp & 0x3)) > 512) {
  122.                         nand->ecc.read_page = s3c_nand_read_page_1bit;
  123.                         nand->ecc.write_page = s3c_nand_write_page_1bit;
  124.                         nand->ecc.read_oob = s3c_nand_read_oob_1bit;
  125.                         nand->ecc.write_oob = s3c_nand_write_oob_1bit;
  126.                         nand->ecc.layout = &s3c_nand_oob_64;
  127.                     } else {
  128.                         nand->ecc.layout = &s3c_nand_oob_16;
  129.                     }
  130.                 }
  131.             } else {
  132.                 nand_type = S3C_NAND_TYPE_MLC;
  133.                 nand->options |= NAND_NO_SUBPAGE_WRITE;    /* NOP = 1 if MLC */
  134. #ifdef CONFIG_MACH_SMDKV210
  135.                 nand->badblockbits = 4;
  136.                 s5p_nand_mlc_probe(nand, s3c_nand.regs, id_data);
  137. #else
  138.                 if ((1024 << (tmp & 3)) == 4096) {
  139.                     /* Page size is 4Kbytes */
  140.                     nand->ecc.read_page = s3c_nand_read_page_8bit;
  141.                     nand->ecc.write_page = s3c_nand_write_page_8bit;
  142.                     nand->ecc.read_oob = s3c_nand_read_oob_8bit;
  143.                     nand->ecc.write_oob = s3c_nand_write_oob_8bit;
  144.                     nand->ecc.layout = &s3c_nand_oob_128;
  145.                     nand->ecc.hwctl = s3c_nand_enable_hwecc_8bit;
  146.                     nand->ecc.calculate = s3c_nand_calculate_ecc_8bit;
  147.                     nand->ecc.correct = s3c_nand_correct_data_8bit;
  148.                     nand->ecc.size = 512;
  149.                     nand->ecc.bytes = 13;
  150.                     nand->options |= NAND_NO_SUBPAGE_WRITE;
  151.                 } else {
  152.                     nand->ecc.read_page = s3c_nand_read_page_4bit;
  153.                     nand->ecc.write_page = s3c_nand_write_page_4bit;
  154.                     nand->ecc.size = 512;
  155.                     nand->ecc.bytes = 8;    /* really 7 bytes */
  156.                     nand->ecc.layout = &s3c_nand_oob_mlc_64;
  157.                 }
  158. #endif
  159.             }
  160.         } else {
  161.             nand_type = S3C_NAND_TYPE_SLC;
  162.             nand->ecc.size = 512;
  163.             nand->cellinfo = 0;
  164.             nand->ecc.bytes = 4;
  165.             nand->ecc.layout = &s3c_nand_oob_16;
  166.         }
  167.         printk(KERN_INFO "S3C NAND Driver is using hardware ECC.\n");
  168. #else
  169.         nand->ecc.mode = NAND_ECC_SOFT;
  170.         printk(KERN_INFO "S3C NAND Driver is using software ECC.\n");
  171. #endif
  172.         if (nand_scan(s3c_mtd, 1)) {
  173.             ret = -ENXIO;
  174.             goto exit_error;
  175.         }
  176.         /* Got the page size now, let's config it for proper access */
  177.         s3c_nand_init_later(s3c_mtd);
  178.         s3c_mtd->name = dev_name(&pdev->dev);
  179.         s3c_mtd->owner = THIS_MODULE;
  180.         /* Register the partitions */
  181. #ifdef CONFIG_MTD_CMDLINE_PARTS
  182.         num_partitions = parse_mtd_partitions(s3c_mtd, part_probes, &partitions, 0);
  183. #endif
  184.         if (num_partitions <= 0) {
  185.             /* default partition table */
  186.             num_partitions = plat_info->mtd_part_nr;
  187.             partitions = partition_info;
  188.         }
  189. #ifdef CONFIG_MTD_PARTITIONS
  190.         add_mtd_partitions(s3c_mtd, partitions, num_partitions);
  191. #else
  192.         mtd_device_register(s3c_mtd, partitions, num_partitions);
  193. #endif
  194.     }
  195.     pr_debug("initialized ok\n");
  196.     return 0;
  197. exit_error:
  198.     kfree(s3c_mtd);
  199.     return ret;
  200. }
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 侠客
UID: 16060
精华: 0
发帖: 87
金钱: 435 两
威望: 87 点
综合积分: 174 分
注册时间: 2010-03-13
最后登录: 2018-02-08
37楼  发表于: 2013-07-17 13:22
[quote]引用第30楼huhu2207于2013-07-16 19:08发表的 :
错误提示一样吗、
因为我的板子在是友善的基础上进行了修改,不能用友善的启动代码,我的uboot移植都无法驱动K9GBG08U0A所以 也就没有做linux的移植
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
38楼  发表于: 2013-07-17 19:45
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
39楼  发表于: 2013-07-19 19:25
无限期暂停更新,以后需要用的时候再说了,好好学C和openwrt去
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com