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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM-Linux驅(qū)動移植--RTC(實(shí)時(shí)時(shí)鐘)移植

          ARM-Linux驅(qū)動移植--RTC(實(shí)時(shí)時(shí)鐘)移植

          作者: 時(shí)間:2016-11-20 來源:網(wǎng)絡(luò) 收藏

          硬件平臺:FL2440

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

          內(nèi)核版本:2.6.28

          主機(jī)平臺:Ubuntu 11.04

          內(nèi)核版本:2.6.39

          首先修改內(nèi)核源碼/arch/arm/mach-s3c2410/mach-smdk2410.c

          添加紅色字體部分

          1. staticstructplatform_device*smdk2410_devices[]__initdata={
          2. &s3c_device_usb,
          3. &s3c_device_lcd,
          4. &s3c_device_wdt,
          5. &s3c_device_i2c,
          6. &s3c_device_iis,
          7. &s3c_device_sdi,
          8. &s3c_device_dm9000,
          9. &s3c_device_ts,
          10. &s3c_device_rtc,
          11. };
          make zImage重新編譯內(nèi)核,然后燒寫內(nèi)核(編譯內(nèi)核前,make menuconfig時(shí)選擇rtc相關(guān)的驅(qū)動,如下圖)

          燒寫完成后啟動開發(fā)板,啟動信息如下:

          +------------------------------------------------------------+
          | FL2440 Bootloader VER-5.1 Modified By Yan Ming! |
          |------------------------------------------------------------|
          |------------------------------------------------------------|
          |CPU ID is 0x32440001 |
          |FCLK=400MHz,HCLK=100MHz,PCLK=50MHz, CPU is running at 400MHz|
          |UPLL=96MHz, UCLK=48MHz |
          |Serial port 0, Baud rate is 115200. |
          |OS image stored in NAND Flash. |
          |Autoboot delay is 2 seconds. |
          +------------------------------------------------------------+
          Set boot params = root=/dev/mtdblock3 init=/linuxrc load_ramdisk=0 console=ttyS
          Load Kernel...
          Uncompressing Linux.............................................................
          Linux version 2.6.28.7 (yan@yan-laptop) (gcc version 3.4.1) #343 Sun Jul 3 19:11
          CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
          CPU: VIVT data cache, VIVT instruction cache
          Machine: SMDK2410
          ATAG_INITRD is deprecated; please update your bootloader.
          Memory policy: ECC disabled, Data cache writeback
          CPU S3C2440A (id 0x32440001)
          MM: CPU does not support supersection mapping for 0x55000000000 at 0xf0d00000
          S3C244X: core 400.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
          Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
          Kernel command line: root=/dev/mtdblock3 init=/linuxrc load_ramdisk=0 console=t
          irq: clearing pending ext status 00080000
          irq: clearing subpending status 00000092
          PID hash table entries: 256 (order: 8, 1024 bytes)
          timer tcon=00500d00, tcnt a2c1, tcfg 0000020f,00000030, usec 00001eb8
          Console: colour dummy device 80x30
          console [ttySAC0] enabled
          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: 61120KB available (3288K code, 312K data, 144K init)
          Calibrating delay loop... 199.47 BogoMIPS (lpj=498688)
          Mount-cache hash table entries: 512
          CPU: Testing write buffer coherency: ok
          net_namespace: 288 bytes
          NET: Registered protocol family 16
          S3C2440: Initialising architecture
          S3C2440: IRQ Support
          S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
          DMA channel 0 at c4808000, irq 33
          DMA channel 1 at c4808040, irq 34
          DMA channel 2 at c4808080, irq 35
          DMA channel 3 at c48080c0, irq 36
          S3C244X: Clock Support, DVS off
          SCSI subsystem initialized
          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
          NET: Registered protocol family 1
          NetWinder Floating Point Emulator V0.97 (extended precision)
          Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
          JFFS2 version 2.2. (NAND) (SUMMARY) 2001-2006 Red Hat, Inc.
          yaffs Jul 3 2011 19:14:41 Installing.
          msgmni has been set to 119
          io scheduler noop registered
          io scheduler anticipatory registered (default)
          io scheduler deadline registered
          io scheduler cfq registered
          Console: switching to colour frame buffer device 40x30
          fb0: s3c2410fb frame buffer device
          lp: driver loaded but no devices found
          ppdev: user-space parallel port driver
          Serial: 8250/16550 driver4 ports, IRQ sharing enabled
          s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
          s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
          s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
          brd: module loaded
          loop: module loaded
          dm9000 Ethernet Driver, V1.31
          eth0: dm9000a at c487a300,c487e304 IRQ 51 MAC: 00:12:34:56:80:49 (chip)
          Uniform Multi-Platform E-IDE driver
          ide-gd driver 1.18
          ide-cd driver 5.00
          Driver sd needs updating - please use bus_type methods
          S3C24XX NAND Driver, (c) 2004 Simtec Electronics
          s3c2440-nand s3c2440-nand: Tacls=3, 30ns Twrph0=7 70ns, Twrph1=3 30ns
          NAND device: Manufacturer ID: 0xad, Chip ID: 0xda (Hynix NAND 256MiB 3,3V 8-bit)
          NAND_ECC_NONE selected by board driver. This is not recommended !!
          Scanning device for bad blocks
          Bad eraseblock 1771 at 0x0dd60000
          Creating 4 MTD partitions on "NAND 256MiB 3,3V 8-bit":
          0x00000000-0x00100000 : "Boot"
          0x00140000-0x00500000 : "MyApp"
          0x00500000-0x00800000 : "Kernel"
          0x00800000-0x0f800000 : "fs_yaffs"
          usbmon: debugfs is not available
          ohci_hcd: USB 1.1 Open Host Controller (OHCI) Driver
          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
          usbcore: registered new interface driver libusual
          usbcore: registered new interface driver usbserial
          USB Serial support registered for generic
          usbcore: registered new interface driver usbserial_generic
          usbserial: USB Serial Driver core
          USB Serial support registered for FTDI USB Serial Device
          usbcore: registered new interface driver ftdi_sio
          ftdi_sio: v1.4.3:USB FTDI Serial Converters Driver
          USB Serial support registered for pl2303
          usbcore: registered new interface driver pl2303
          pl2303: Prolific PL2303 USB to serial adaptor driver
          mice: PS/2 mouse device common for all mice
          S3C24XX RTC, (c) 2004,2006 Simtec Electronics
          s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
          s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
          s3c2440-sdi s3c2440-sdi: host detect has no irq available
          mapped channel 0 to 0
          s3c2440-sdi s3c2440-sdi: powered down.
          s3c2440-sdi s3c2440-sdi: initialisation done.
          s3c2440-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz).
          s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz).
          s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz).
          s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz).
          s3c2440-sdi s3c2440-sdi: powered down.
          usbcore: registered new interface driver usbhid
          usbhid: v2.6:USB HID core driver
          mapped channel 10 to 2
          mapped channel 9 to 1
          UDA1341 audio driver initialized
          TCP cubic registered
          NET: Registered protocol family 17
          RPC: Registered udp transport module.
          RPC: Registered tcp transport module.
          s3c2410-rtc s3c2410-rtc: setting system clock to 2011-07-04 20:15:05 UTC (13098)
          yaffs: dev is 32505859 name is "mtdblock3"
          yaffs: passed flags ""
          yaffs: Attempting MTD mount on 31.3, "mtdblock3"
          yaffs: auto selecting yaffs2
          yaffs: restored from checkpoint
          yaffs_read_super: isCheckpointed 1
          VFS: Mounted root (yaffs filesystem).
          Freeing init memory: 144K
          usb 1-1: new full speed USB device using s3c2410-ohci and address 2
          usb 1-1: configuration #1 chosen from 1 choice
          hub 1-1:1.0: USB hub found
          hub 1-1:1.0: 4 ports detected
          Mounting /proc,/sys,/dev......
          Starting mdev......
          init started: BusyBox v1.9.2 (2011-06-13 18:52:29 CST)
          starting pid 900, tty : /etc/init.d/rcS
          dm9000 dm9000.0: WARNING: no IRQ resource flags set.
          eth0: link down

          Please press Enter to activate this console. eth0: link up, 100Mbps, full-duple1

          后色部分顯示RTC工作正常。

          使用命令

          date 命令修改系統(tǒng)時(shí)間后,執(zhí)行hwclock -w,保存到硬件的實(shí)時(shí)時(shí)鐘

          每次開機(jī)執(zhí)行hkclock -s,這樣每次開機(jī)后,系統(tǒng)從硬件讀取時(shí)間信息,保存到系統(tǒng)。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();