国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

S3C6410嵌入式應(yīng)用平臺構(gòu)建(五)——linux-3.14.4移植到OK6410-(Nand分區(qū)問題)

發(fā)布者:電子科技愛好者最新更新時間:2024-09-12 來源: cnblogs關(guān)鍵字:移植 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

前一篇文章,我們的Linux能后啟動了,只是在識別nand時候,沒有獲取到時鐘源,導(dǎo)致后面的分區(qū)沒喲進(jìn)行。


我們從啟動的log發(fā)現(xiàn):


[06/08-11:25:41:371]s3c24xx-nand s3c6400-nand: failed to get clock

[06/08-11:25:41:371]s3c24xx-nand: probe of s3c6400-nand failed with error –2



于是追蹤到代碼


nandflash驅(qū)動中——s3c2410.c中


/* get the clock source and enable it */


info->clk = devm_clk_get(&pdev->dev, 'nand');

if (IS_ERR(info->clk)) {

dev_err(&pdev->dev, 'failed to get clockn');

err = -ENOENT;

goto exit_error;

}


發(fā)現(xiàn)在去find “nand”clock source時,獲取不到,因此,我們打開S3c2410.c (driversmtdnand) 


于是打開Clk-s3c64xx.c (driversclksamsung) 


發(fā)現(xiàn)在Aliases時,并沒有Aliases nand,因此我試著加了以下代碼:ALIAS(MEM0_NFCON, 's3c6400-nand', 'nand'),


/* Aliases for s3c6410-specific clocks. */

static struct samsung_clock_alias s3c6410_clock_aliases[] = {

ALIAS(PCLK_IIC1, 's3c2440-i2c.1', 'i2c'),

ALIAS(PCLK_IIS2, 'samsung-i2s.2', 'iis'),

ALIAS(SCLK_FIMC, 's3c-camif', 'fimc'),

ALIAS(SCLK_AUDIO2, 'samsung-i2s.2', 'audio-bus'),

ALIAS(MEM0_NFCON, 's3c6400-nand', 'nand'),

ALIAS(MEM0_SROM, NULL, 'srom'),

};

這樣的話,當(dāng)去clk_get時,應(yīng)該不會有問題了。


這個機(jī)制是linux-3.10后才加的,這個問題卡了我好久。


我們make uImage后測試如下:



從上面我們又發(fā)現(xiàn)出錯以下信息:


[06/08-14:18:34:573]nand: No oob scheme defined for oobsize 218


[06/08-14:18:34:573]------------[ cut here ]------------


[06/08-14:18:34:574]kernel BUG at drivers/mtd/nand/nand_base.c:3732!


原來是我們的nandflash的oobsize是218,而nand_base.c中并沒有加入218的處理,因此參照6410驅(qū)動,修改nand_base.c。做如下添加:


1. 添加nand_oob_218定義


2. 添加case 218處理


好了,我們再次 make uImage后,下載到板子上,啟動如下:


[06/08-14:28:27:608]U-Boot 2010.03-svn3 (May 06 2014 - 22:13:20) for SMDK6410

[06/08-14:28:27:608]

[06/08-14:28:27:608]*******************************************************

[06/08-14:28:27:619]                Welcome to Embedded System

[06/08-14:28:27:620]                Base On S3C6410 Devolopment

[06/08-14:28:27:620]                Date:   2014/4/15 22:00 PM

[06/08-14:28:27:630]*******************************************************

[06/08-14:28:27:631]

[06/08-14:28:27:631]CPU:     S3C6410@533MHz

[06/08-14:28:27:631]         Fclk = 533MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode) 

[06/08-14:28:27:631]Board:   SMDK6410

[06/08-14:28:27:636]DRAM:  256 MB

[06/08-14:28:27:678]Flash:  0 kB

[06/08-14:28:27:679]NAND Flash:  2048 MB

[06/08-14:28:28:799]********************************************************

[06/08-14:28:28:799]Initial LCD controller

[06/08-14:28:28:812]  clk_freq:9 MHz,  div_freq:13 ,rea_freq:9 MHz 

[06/08-14:28:28:812]

[06/08-14:28:28:813] HBP = 2 HFP = 2 HSW = 41,Hpixs:480

[06/08-14:28:28:813] VBP = 2 VFP = 2 VSW = 10,Vpixs:272

[06/08-14:28:28:830]FrameBuff:57e7a000

[06/08-14:28:28:830]  LCD initialization Finished. 

[06/08-14:28:28:831]********************************************************

[06/08-14:28:28:852]In:    serial

[06/08-14:28:28:852]

[06/08-14:28:28:852]Out:   lcd

[06/08-14:28:28:855]

[06/08-14:28:28:855]Err:   lcd

[06/08-14:28:28:856]

[06/08-14:28:29:206]Net:   DM9000

[06/08-14:28:30:225]Hit any key to stop autoboot:  0 

[06/08-14:28:30:225]

[06/08-14:28:30:226]NAND read: 

[06/08-14:28:30:226]device 0 offset 0x100000, size 0x500000

[06/08-14:28:30:226]

[06/08-14:28:33:470] 5242880 bytes read: OK

[06/08-14:28:33:470]

[06/08-14:28:33:470]## Booting kernel from Legacy Image at 50008000 ...

[06/08-14:28:33:470]

[06/08-14:28:33:472]   Image Name:   Linux-3.14.4

[06/08-14:28:33:486]

[06/08-14:28:33:487]   Image Type:   ARM Linux Kernel Image (uncompressed)

[06/08-14:28:33:506]

[06/08-14:28:33:508]   Data Size:    1638624 Bytes =  1.6 MB

[06/08-14:28:33:522]

[06/08-14:28:33:523]   Load Address: 50008000

[06/08-14:28:33:540]

[06/08-14:28:33:540]   Entry Point:  50008040

[06/08-14:28:33:555]

[06/08-14:28:33:885]   Verifying Checksum ... OK

[06/08-14:28:33:901]

[06/08-14:28:33:902]   XIP Kernel Image ... OK

[06/08-14:28:33:915]

[06/08-14:28:33:916]OK

[06/08-14:28:33:933]

[06/08-14:28:33:933]

[06/08-14:28:33:933]Starting kernel ...

[06/08-14:28:33:934]

[06/08-14:28:33:945]

[06/08-14:28:33:959]

[06/08-14:28:33:973]

[06/08-14:28:34:265]Uncompressing Linux... done, booting the kernel.

[06/08-14:28:35:062]Booting Linux on physical CPU 0x0

[06/08-14:28:35:072]Linux version 3.14.4 (simiar@Embedded) (gcc version 4.4.3 (ctng-1.6.1) ) #3 Sun Jun 8 14:27:06 CST 2014

[06/08-14:28:35:076]CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7), cr=00c5387d

[06/08-14:28:35:092]CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache

[06/08-14:28:35:092]Machine: OK6410

[06/08-14:28:35:093]Ignoring unrecognised tag 0x54410008

[06/08-14:28:35:097]Memory policy: Data cache writeback

[06/08-14:28:35:097]CPU S3C6410 (id 0x36410101)

[06/08-14:28:35:097]CPU: found DTCM0 8k @ 00000000, not enabled

[06/08-14:28:35:098]CPU: moved DTCM0 8k to fffe8000, enabled

[06/08-14:28:35:106]CPU: found DTCM1 8k @ 00000000, not enabled

[06/08-14:28:35:106]CPU: moved DTCM1 8k to fffea000, enabled

[06/08-14:28:35:107]CPU: found ITCM0 8k @ 00000000, not enabled

[06/08-14:28:35:117]CPU: moved ITCM0 8k to fffe0000, enabled

[06/08-14:28:35:118]CPU: found ITCM1 8k @ 00000000, not enabled

[06/08-14:28:35:118]CPU: moved ITCM1 8k to fffe2000, enabled

[06/08-14:28:35:128]Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024

[06/08-14:28:35:138]Kernel command line: root=/dev/nfs nfsroot=192.168.1.100:/home/simiar/share/myproject/ok6410/filesystem/ok6410_fs ip=192.168.1.50:192.168.1.100:192.168.1.1:255.255.255.0::eth0:off console=ttySAC0,115200

[06/08-14:28:35:151]PID hash table entries: 1024 (order: 0, 4096 bytes)

[06/08-14:28:35:161]Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)

[06/08-14:28:35:162]Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)

[06/08-14:28:35:171]Memory: 256460K/262144K available (2173K kernel code, 178K rwdata, 664K rodata, 118K init, 198K bss, 5684K reserved)

[06/08-14:28:35:173]Virtual kernel memory layout:

[06/08-14:28:35:184]    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

[06/08-14:28:35:184]    DTCM    : 0xfffe8000 - 0xfffec000   (  16 kB)

[06/08-14:28:35:185]    ITCM    : 0xfffe0000 - 0xfffe4000   (  16 kB)

[06/08-14:28:35:197]    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

[06/08-14:28:35:197]    vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)

[06/08-14:28:35:206]    lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)

[06/08-14:28:35:207]    modules : 0xbf000000 - 0xc0000000   (  16 MB)

[06/08-14:28:35:208]      .text : 0xc0008000 - 0xc02cd674   (2838 kB)

[06/08-14:28:35:217]      .init : 0xc02ce000 - 0xc02eb99c   ( 119 kB)

[06/08-14:28:35:218]      .data : 0xc02ec000 - 0xc0318a00   ( 179 kB)

[06/08-14:28:35:228]       .bss : 0xc0319000 - 0xc034aac8   ( 199 kB)

[06/08-14:28:35:229]SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

[06/08-14:28:35:229]NR_IRQS:246

[06/08-14:28:35:239]S3C6410 clocks: apll = 533000000, mpll = 533000000

[06/08-14:28:35:240]        epll = 24000000, arm_clk = 533000000

[06/08-14:28:35:240]VIC @f6000000: id 0x00041192, vendor 0x41

[06/08-14:28:35:250]VIC @f6010000: id 0x00041192, vendor 0x41

[06/08-14:28:35:251]sched_clock: 32 bits at 33MHz, resolution 30ns, wraps every 128929599457ns

[06/08-14:28:35:251]Console: colour dummy device 80x30

[06/08-14:28:35:261]Calibrating delay loop... 531.66 BogoMIPS (lpj=2658304)

[06/08-14:28:35:262]pid_max: default: 32768 minimum: 301

[06/08-14:28:35:273]Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)

[06/08-14:28:35:273]Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)

[06/08-14:28:35:274]CPU: Testing write buffer coherency: ok

[06/08-14:28:35:283]Setting up static identity map for 0x50214fa0 - 0x50214ffc

[06/08-14:28:35:295]VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5

[06/08-14:28:35:296]DMA: preallocated 256 KiB pool for atomic coherent allocations

[06/08-14:28:35:296]OK6410: Option string ok6410=0

[06/08-14:28:35:308]OK6410: selected LCD display is 480x272

[06/08-14:28:35:308]S3C6410: Initialising architecture

[06/08-14:28:35:309]bio: create slab at 0

[06/08-14:28:35:317]pl08xdmac dma-pl080s.0: initialized 8 virtual memcpy channels

[06/08-14:28:35:318]pl08xdmac dma-pl080s.0: initialized 16 virtual slave channels

[06/08-14:28:35:328]pl08xdmac dma-pl080s.0: DMA: PL080s rev1 at 0x75000000 irq 73

[06/08-14:28:35:329]pl08xdmac dma-pl080s.1: initialized 8 virtual memcpy channels

[06/08-14:28:35:340]pl08xdmac dma-pl080s.1: initialized 12 virtual slave channels

[06/08-14:28:35:340]pl08xdmac dma-pl080s.1: DMA: PL080s rev1 at 0x75100000 irq 74

[06/08-14:28:35:341]usbcore: registered new interface driver usbfs

[06/08-14:28:35:350]usbcore: registered new interface driver hub

[06/08-14:28:35:351]usbcore: registered new device driver usb

[06/08-14:28:35:362]Switched to clocksource samsung_clocksource_timer

[06/08-14:28:35:362]futex hash table entries: 256 (order: 0, 7168 bytes)

[06/08-14:28:35:363]ROMFS MTD (C) 2007 Red Hat, Inc.

[06/08-14:28:35:363]io scheduler noop registered

[06/08-14:28:35:373]io scheduler deadline registered

[06/08-14:28:35:373]io scheduler cfq registered (default)

[06/08-14:28:35:374]s3c-fb s3c-fb: window 0: fb 

[06/08-14:28:35:384]Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled

[06/08-14:28:35:385]s3c6400-uart.0: ttySAC0 at MMIO 0x7f005000 (irq = 69, base_baud = 0) is a S3C6400/10

[06/08-14:28:35:395]console [ttySAC0] enabled

[06/08-14:28:35:395]s3c6400-uart.1: ttySAC1 at MMIO 0x7f005400 (irq = 70, base_baud = 0) is a S3C6400/10

[06/08-14:28:35:406]s3c6400-uart.2: ttySAC2 at MMIO 0x7f005800 (irq = 71, base_baud = 0) is a S3C6400/10

[1] [2]
關(guān)鍵字:移植 引用地址:S3C6410嵌入式應(yīng)用平臺構(gòu)建(五)——linux-3.14.4移植到OK6410-(Nand分區(qū)問題)

上一篇:S3C6410嵌入式應(yīng)用平臺構(gòu)建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件系統(tǒng)移植)
下一篇:S3C6410嵌入式應(yīng)用平臺構(gòu)建(四)——linux-3.14.4移植到OK6410-(初步啟動)

推薦閱讀最新更新時間:2025-06-13 05:22

tiny4412學(xué)習(xí)(二)之移植linux-4.x支持設(shè)備樹
硬件平臺:tiny4412 系統(tǒng):linux-4.4 文件系統(tǒng):busybox-1.25 編譯器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320) uboot:友善自帶uboot,見上節(jié) 實(shí)驗(yàn)參考摩斯電碼的博客: http://www.cnblogs.com/pengdonglin137/p/5137941.html http://www.cnblogs.com/pengdonglin137/p/5143516.html 一、u-boot修改 1、更新交叉工具鏈 到:http://www.veryarm.com/arm-none-linux-gnueabi-gcc 下
[單片機(jī)]
新三板142家機(jī)器人企業(yè) 7家終止掛牌4家轉(zhuǎn)讓
據(jù)統(tǒng)計,新三板市場與機(jī)器人相關(guān)企業(yè)142家,較去年增長了40家左右,其中工業(yè)機(jī)器人企業(yè)占比達(dá)84%,營收億元以上企業(yè)在1/3左右,而據(jù)信息搜集,2017年至今有11家工業(yè)機(jī)器人企業(yè)宣布終止掛牌或轉(zhuǎn)讓。 終止掛牌企業(yè)7家:銘賽科技、智臻智能、凱爾達(dá)、行健智能、朗馳新創(chuàng)、精川智能、海威智能; 暫停轉(zhuǎn)讓企業(yè)4家:金石股份、艾機(jī)器人、七維航測、鑫輝精密。 是轉(zhuǎn)板,還是退場? 銘賽科技:2017年營收0.85億元,較去年0.72億元同比增長17.11%。凈利潤達(dá)0.11億元,較去年0.06億元,增長89.83%——這家退場估計奔轉(zhuǎn)板去得。 智臻智能:2017年上半年營收為0.65億元,較去年同比增長415.47%,凈利潤則由去年的-0.
[機(jī)器人]
MAX3814 DVI/HDMI TMDS FR-4和電纜
MAX3814 TMDS? EQ/驅(qū)動器IC補(bǔ)償FR-4和電纜以及DVI?/HDMI?傳輸連接器的損耗,提供完全兼容DVI/HDMI TMDS的輸出。該器件還可用于DVI/HDMI電纜應(yīng)用以擴(kuò)展距離,提高接收端連接器的電纜通道抖動沿裕量。   片上TMDS驅(qū)動器工作于標(biāo)準(zhǔn)電流級別,實(shí)現(xiàn)典型DVI/HDMI無反向端接收發(fā)器,電流提高50%的模式使用200Ω反向端接電阻(非匹配),以實(shí)現(xiàn)10dB回波損耗。典型DVI/HDMI Tx輸出驅(qū)動器帶來連接器和典型高阻(開路) DVI/HDMI Tx輸出間的反射問題??蛇x輸出電流(LEVEL引腳)提供部分反向端接選擇(例如,差分連接的200Ω),可減輕反射問題,同時保持共模偏移最小。
[模擬電子]
內(nèi)核提供的讀寫寄存器接口實(shí)現(xiàn)可移植
arm是IO與內(nèi)存統(tǒng)一編址,其他平臺如x86是IO與內(nèi)存獨(dú)立編址訪問方式不一樣,使用內(nèi)核提供的寄存器讀寫接口writelreadl具有可移植性 在文章隨筆–Linux字符設(shè)備驅(qū)動開發(fā)基礎(chǔ)前面寫的驅(qū)動在靜態(tài)映射操作寄存器,都用#define rGPJ0CON *((volatile unsigned int *)GPJ0CON)的方式來訪問寄存器,這樣的做法在驅(qū)動中并不是很好,因?yàn)檫@樣的做法在不同平臺的情況下不具有可移植性?,F(xiàn)在寫的驅(qū)動是在ARM平臺下去寫的,ARM屬于內(nèi)存和IO統(tǒng)一編址的,在讀寫寄存器的時候即為進(jìn)行IO操作,進(jìn)行IO操作是和讀寫內(nèi)存是一樣的(IO也有個地址),這就叫統(tǒng)一編址。但是還有另外一些CPU(像x86)是
[單片機(jī)]
制作yaffs2文件系統(tǒng)并移植到ok6410開發(fā)板上
1.解壓: tar -jxvf yaffs_source_util_larger_small_page_nand.tar.bz2 生成了一個 文件夾 第2、3步的前提是你內(nèi)核里不支持yaffs2文件系統(tǒng),及在內(nèi)核/fs/下沒有一個yaffs2目錄。 2.拷貝 文件夾至Kernel根目錄下的 文件夾下: cp yaffs2 /usr/src/linux-2.6.36/fs/ 3.操作: ./patch-ker.sh c /usr/src/linux-2.6.36/ 上面命令完成下面三件事: (1) 修改內(nèi)核fs/Kconfig 增加一行:source fs/yaffs2/Kconfig (2) 修改內(nèi)核fs/Kconfi
[單片機(jī)]
移植u-boot-2010.03問題 --- 支持dnw
1,下載uboot_dnw源碼 https://github.com/plinx/uboot_dnw 2、將cmd_usbd.c拷貝到u-boot-2010.03/common目錄下 3,修改u-boot-2010.03/common/Makefile # core command ... COBJS-y += cmd_usbd.o 4,將usbd-otg-hs.h,usbd-otg-hs.c拷貝到u-boot/cpu/arm1176/s3c64xx/ 5,將regs.h,s3c64x0.h 拷貝到u-boot/include/ 6,修改include/configs/smdk6410.h文件,加入下面兩句 #define CON
[單片機(jī)]
S3C6410移植u-boot-2010.3(3)正常化配置
  一、網(wǎng)卡的正常化配置   1、修改頭文件調(diào)用關(guān)系   在原配的smdk6400.h中(因?yàn)槭菑?fù)制過來的),網(wǎng)卡配置為CS8900,而手頭開發(fā)板上的網(wǎng)卡為DM9000,所以第一步來修改網(wǎng)卡驅(qū)動程序。   修改/include/configs/smdk6410.h   找到如下字段,更改如下 /* * Hardware drivers */ #define CONFIG_NET_MULTI //#define CONFIG_CS8900 /* we have a CS8900 on-board */ //#define CONFIG_CS8900_BASE 0x18800300
[單片機(jī)]
S3C6410<font color='red'>移植</font>u-boot-2010.3(3)正?;渲? /></a>					</div>
										<div   id= bootloader的移植
jz2440開發(fā)板 在介紹bootloader里邊的內(nèi)容的時候,需要知道的是: bootloader的引入的目的就是啟動linux內(nèi)核,一個簡單的bootloader編寫需要以下的步驟: ①初始化硬件:關(guān)看門狗、設(shè)置時鐘、設(shè)置SDRAM、初始化NAND FLASH ②把內(nèi)核從NAND FLASH獨(dú)到SDRAM ③保存要傳給內(nèi)核的參數(shù)到指定的位置 ④跳轉(zhuǎn)執(zhí)行內(nèi)核 有的時候,會遇到bootloader很大的情況,那么就會有一步在①和②之間加一個重新定位在SDRAM中地址。 新建start.S文件, 其中“.text”表示下邊是代碼段 “.global _start”表示_start是全局標(biāo)號 “l(fā)dr r0, =0x53000
[單片機(jī)]
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved