<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 內(nèi)核移植(2)arch/arm/mach-s3c2440/mach-smdk2440.c

          內(nèi)核移植(2)arch/arm/mach-s3c2440/mach-smdk2440.c

          作者: 時間:2016-11-21 來源:網(wǎng)絡 收藏
          對于s3c2410、s3c2440開發(fā)板,它們的CPU Id都是0x41129200,在arch/arm/mm/proc -arm920.S中的_ _arm920_proc_info結(jié)構中。

          定義開發(fā)板參數(shù)在arch/arm/mach-s3c2440/mach-smdk2440.c中,如機器類型ID、起始I/O物理地址、Bootloader傳入的參數(shù)的地址、中斷初始化函數(shù)等。

          本文引用地址:http://www.ex-cimer.com/article/201611/319508.htm

          arch/arm/kernel/head.S是內(nèi)核執(zhí)行的第一個文件。

          S3c2440開發(fā)板上啟動uImage時串口輸出亂碼的原因,開發(fā)板晶振的頻率設置有問題。

          1、在arch/arm/mach-s3c2440/mach-smdk2440.c修改,

          static void __init smdk2440_map_io(void)

          {

          s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));

          s3c24xx_init_clocks(16934400);

          s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));

          }

          修改為:

          static void __init smdk2440_map_io(void)

          {

          s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));

          s3c24xx_init_clocks(12000000);

          s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));

          }

          U-Boot控制界面,看到內(nèi)核的啟動信息如下:

          OpenJTAG> bootm 0x32000000

          ## Booting image at 32000000 ...

          Image Name: Linux-2.6.22.6

          Created: 2009-12-0911:36:02 UTC

          Image Type: ARM Linux Kernel Image (uncompressed)

          Data Size:1511064 Bytes =1.4 MB

          Load Address: 30008000

          Entry Point:30008000

          Verifying Checksum ... OK

          OK

          Starting kernel ...

          Uncompressing Linux......................................done, booting the kernel.

          Linux version 2.6.22.6 (root@huanghuang-desktop) (gcc version 3.4.5) #1 Wed Dec 9 19:35:58 CST 2009

          CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177

          Machine: SMDK2410

          Memory policy: ECC disabled, Data cache writeback

          CPU S3C2410A (id 0x32410002)

          S3C2410: core 200.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz

          S3C24XX Clocks, (c) 2004 Simtec Electronics

          CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on

          CPU0: D VIVT write-back cache

          CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets

          CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets

          Built 1 zonelists.Total pages: 16256

          Kernel command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0

          irq: clearing subpending status 00000002

          PID hash table entries: 256 (order: 8, 1024 bytes)

          timer tcon=00500000, tcnt a2c1, tcfg 00000200,00000000, usec 00001eb8

          Console: colour dummy device 80x30

          Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

          Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

          Memory: 64MB = 64MB total

          Memory: 61696KB available (2788K code, 313K data, 132K init)

          Mount-cache hash table entries: 512

          CPU: Testing write buffer coherency: ok

          NET: Registered protocol family 16

          S3C2410 Power Management, (c) 2004 Simtec Electronics

          S3C2410: Initialising architecture

          S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics

          DMA channel 0 at c4800000, irq 33

          DMA channel 1 at c4800040, irq 34

          DMA channel 2 at c4800080, irq 35

          DMA channel 3 at c48000c0, irq 36

          usbcore: registered new interface driver usbfs

          usbcore: registered new interface driver hub

          usbcore: registered new device driver usb

          NET: Registered protocol family 2

          IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

          TCP established hash table entries: 2048 (order: 2, 16384 bytes)

          TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

          TCP: Hash tables configured (established 2048 bind 2048)

          TCP reno registered

          NetWinder Floating Point Emulator V0.97 (double precision)

          JFFS2 version 2.2. (NAND) 2001-2006 Red Hat, Inc.

          io scheduler noop registered

          io scheduler anticipatory registered (default)

          io scheduler deadline registered

          io scheduler cfq registered

          s3c2410-lcd s3c2410-lcd: no platform data for lcd, cannot attach

          s3c2410-lcd: probe of s3c2410-lcd failed with error -22

          lp: driver loaded but no devices found

          ppdev: user-space parallel port driver

          S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics

          Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled

          s3c2410-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410

          s3c2410-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410

          s3c2410-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2410

          RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

          loop: module loaded

          dm9000 Ethernet Driver

          Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2

          ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx

          BAST NOR-Flash Driver, (c) 2004 Simtec Electronics

          S3C24XX NAND Driver, (c) 2004 Simtec Electronics

          s3c2410-nand s3c2410-nand: Tacls=3, 30ns Twrph0=7 70ns, Twrph1=3 30ns

          NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)

          Scanning device for bad blocks

          Creating 8 MTD partitions on "NAND 64MiB 3,3V 8-bit":

          0x00000000-0x00004000 : "Boot Agent"

          0x00000000-0x00200000 : "S3C2410 flash partition 1"

          0x00400000-0x00800000 : "S3C2410 flash partition 2"

          0x00800000-0x00a00000 : "S3C2410 flash partition 3"

          0x00a00000-0x00e00000 : "S3C2410 flash partition 4"

          0x00e00000-0x01800000 : "S3C2410 flash partition 5"

          0x01800000-0x03000000 : "S3C2410 flash partition 6"

          0x03000000-0x04000000 : "S3C2410 flash partition 7"

          usbmon: debugfs is not available

          s3c2410-ohci s3c2410-ohci: S3C24XX OHCI

          s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1

          s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000

          usb usb1: configuration #1 chosen from 1 choice

          hub 1-0:1.0: USB hub found

          hub 1-0:1.0: 2 ports detected

          mice: PS/2 mouse device common for all mice

          S3C24XX RTC, (c) 2004,2006 Simtec Electronics

          s3c2410-i2c s3c2410-i2c: slave address 0x10

          s3c2410-i2c s3c2410-i2c: bus frequency set to 390 KHz

          s3c2410-i2c s3c2410-i2c: i2c-0: S3C I2C adapter

          TCP cubic registered

          NET: Registered protocol family 1

          drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

          List of all partitions:

          1f00 16 mtdblock0 (driver?)

          1f01 2048 mtdblock1 (driver?)

          1f02 4096 mtdblock2 (driver?)

          1f03 2048 mtdblock3 (driver?)

          1f04 4096 mtdblock4 (driver?)

          1f05 10240 mtdblock5 (driver?)

          1f06 24576 mtdblock6 (driver?)

          1f07 16384 mtdblock7 (driver?)

          No filesystem could mount root, tried:ext3 ext2 cramfs msdos vfat romfs

          Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();