资源说明:mini2440 beer(通常称pwm或timer)驱动,注册为misc(杂项)设备, 挂载再platform bus上, 测试信息:
U-Boot 2012.07 (Aug 30 2012 - 21:55:43)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++ Welcome to my u-boot +++
+++ Liyong-zou +++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
CPUID: 32440001
FCLK: 400 MHz
HCLK: 100 MHz
PCLK: 50 MHz
DRAM: 64 MiB
WARNING: Caches not enabled
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Net: dm9000
Hit any key to stop autoboot: 5 \0x08\0x08\0x08 4 \0x08\0x08\0x08 3 \0x08\0x08\0x08 2 \0x08\0x08\0x08 1 \0x08\0x08\0x08 0
dm9000 i/o: 0x20000300, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:01:02:03:04:05
could not establish link
Using dm9000 device
File transfer via NFS from server 192.168.1.30; our IP address is 192.168.1.20
Filename '/home/liyong-zou/nfs/kernel/uImage'.
Load address: 0x30008000
Loading: *\0x08#######################################################T ##########
\0x09 #################################################################
\0x09 #########################T ########################################
\0x09 #################################################################
\0x09 #################################################################
\0x09 #################################################################
\0x09 ###############T #######T ###########
done
Bytes transferred = 2164312 (210658 hex)
## Booting kernel from Legacy Image at 30008000 ...
Image Name: Linux-2.6.39.4
Created: 2012-10-27 13:48:03 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2164248 Bytes = 2.1 MiB
Load Address: 30008000
Entry Point: 30008040
Verifying Checksum ... OK
XIP Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.39.4 (liyong-zou@liyongzou-desktop) (gcc version 4.4.3 (ctng-1.6.1) ) #86 Sat Oct 27 21:47:46 CST 2012
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=00007177
CPU: VIVT data cache, VIVT instruction cache
Machine: MINI2440
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, Copyright 2004 Simtec Electronics
S3C244X: core 400.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz
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: noinitrd root=/dev/nfs nfsroot=192.168.1.30:/home/liyong-zou/nfs/rootfs ip=192.168.1.20:192.168.1.30:192.168.1.1:255.255.255.0::eth0:off console=ttySAC0,115200
PID hash table entries: 256 (order: -2, 1024 bytes)
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: 60500k/60500k available, 5036k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xc4800000 - 0xf6000000 ( 792 MB)
lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc002a000 ( 136 kB)
.text : 0xc002a000 - 0xc03f3ea4 (3880 kB)
.data : 0xc03f4000 - 0xc0418c40 ( 148 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:85
irq: clearing subpending status 00000002
Console: colour dummy device 80x30
console [ttySAC0] enabled
Calibrating delay loop... 49.56 BogoMIPS (lpj=123904)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
gpiochip_add: gpios 288..303 (GPIOK) failed to register
gpiochip_add: gpios 320..334 (GPIOL) failed to register
gpiochip_add: gpios 352..353 (GPIOM) failed to register
NET: Registered protocol family 16
MINI2440: Option string mini2440=0tb
MINI2440: LCD [0:240x320] 1:800x480 2:1024x768
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C244X: Clock Support, DVS off
bio: create slab at 0
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
s3c-i2c s3c2440-i2c: slave address 0x10
s3c-i2c s3c2440-i2c: bus frequency set to 97 KHz
s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
Advanced Linux Sound Architecture Driver Version 1.0.24.
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
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) \0xc2\0xa9 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
msgmni has been set to 118
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 60x53
fb0: s3c2410fb frame buffer device
backlight initialized
s3c2440-uart.0: ttySAC0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: ttySAC1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: ttySAC2 at MMIO 0x50008000 (irq = 76) is a S3C2440
brd: module loaded
mini2440_beer# register OK
s3c2440_adc# register W1 OK
at24 0-0050: 1024 byte 24c08 EEPROM, writable, 16 bytes/write
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c24xx-nand s3c2440-nand: Tacls=1, 10ns Twrph0=3 30ns, Twrph1=2 20ns
s3c24xx-nand s3c2440-nand: NAND soft ECC
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Creating 5 MTD partitions on "nand":
0x000000000000-0x000000080000 : "u-boot"
0x000000080000-0x0000000a0000 : "u-boot-env"
0x0000000a0000-0x0000006a0000 : "kernel"
0x0000006a0000-0x0000046a0000 : "root"
0x0000046a0000-0x000010000000 : "extend"
dm9000 Ethernet Driver, V1.31
eth0: dm9000e at c4872300,c4876304 IRQ 51 MAC: 00:01:02:03:04:05 (chip)
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
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver libusual
s3c2440-usbgadget s3c2440-usbgadget: S3C2440: increasing FIFO to 128 bytes
mousedev: PS/2 mouse device common for all mice
input: gpio-keys as /devices/platform/gpio-keys/input/input0
input: mini2440_ts as /devices/platform/mini2440_ts/input/input1
mini2440_ts# register OK
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
cpuidle: using governor ladder
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
s3c-sdi s3c2440-sdi: powered down.
s3c-sdi s3c2440-sdi: mmc0 - using pio, sw SDIO IRQ
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
ALSA device list:
No soundcards found.
TCP cubic registered
NET: Registered protocol family 17
Registering the dns_resolver key type
s3c-rtc s3c2410-rtc: setting system clock to 2000-02-26 23:38:54 UTC (951608334)
dm9000 dm9000: eth0: link down
IP-Config: Complete:
device=eth0, addr=192.168.1.20, mask=255.255.255.0, gw=192.168.1.1,
host=192.168.1.20, domain=, nis-domain=(none),
bootserver=192.168.1.30, rootserver=192.168.1.30, rootpath=
dm9000 dm9000: eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1
VFS: Mounted root (nfs filesystem) on device 0:14.
Freeing init memory: 136K
Please press Enter to activate this console.
Liyong-zou
[root@Liyong-zou /]#/home/test_beer
please type operation:
\0x09type 0 to exit
\0x09type 1 to start beer
\0x09type 22 to stop beer
\0x09type 3 to set prescaler(1~256)
\0x09type 4 to set divier(2/4/8/16)
\0x09type 5 to set freq(20~20000)
\0x09type 6 to set pwm(0~100)
\0x09what are you want:1
please type operation:
\0x09type 0 to exit
\0x09type 1 to start beer
\0x09type 22 to stop beer
\0x09type 3 to set prescaler(1~256)
\0x09type 4 to set divier(2/4/8/16)
\0x09type 5 to set freq(20~20000)
\0x09type 6 to set pwm(0~100)
\0x09what are you want:6
and type the arg:100
please type operation:
\0x09type 0 to exit
\0x09type 1 to start beer
\0x09type 22 to stop beer
\0x09type 3 to set prescaler(1~256)
\0x09type 4 to set divier(2/4/8/16)
\0x09type 5 to set freq(20~20000)
\0x09type 6 to set pwm(0~100)
\0x09what are you want:6
and type the arg:99
please type operation:
\0x09type 0 to exit
\0x09type 1 to start beer
\0x09type 22 to stop beer
\0x09type 3 to set prescaler(1~256)
\0x09type 4 to set divier(2/4/8/16)
\0x09type 5 to set freq(20~20000)
\0x09type 6 to set pwm(0~100)
\0x09what are you want:22
please type operation:
\0x09type 0 to exit
\0x09type 1 to start beer
\0x09type 22 to stop beer
\0x09type 3 to set prescaler(1~256)
\0x09type 4 to set divier(2/4/8/16)
\0x09type 5 to set freq(20~20000)
\0x09type 6 to set pwm(0~100)
\0x09what are you want:1
please type operation:
\0x09type 0 to exit
\0x09type 1 to start beer
\0x09type 22 to stop beer
\0x09type 3 to set prescaler(1~256)
\0x09type 4 to set divier(2/4/8/16)
\0x09type 5 to set freq(20~20000)
\0x09type 6 to set pwm(0~100)
\0x09what are you want:6
and type the arg:50
please type operation:
\0x09type 0 to exit
\0x09type 1 to start beer
\0x09type 22 to stop beer
\0x09type 3 to set prescaler(1~256)
\0x09type 4 to set divier(2/4/8/16)
\0x09type 5 to set freq(20~20000)
\0x09type 6 to set pwm(0~100)
\0x09what are you want:0
[root@Liyong-zou /]#
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。