Chinaunix首页 | 论坛 | 博客
  • 博客访问: 269621
  • 博文数量: 91
  • 博客积分: 2105
  • 博客等级: 大尉
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-14 19:30
文章分类
文章存档

2011年(11)

2010年(64)

2009年(16)

我的朋友

分类: LINUX

2010-04-09 20:42:14

最近忙着做SEP4020的spi  在Linux-2.6.27内核做的,参考了三星的spi驱动,发现和三星有很大的差别,只采用了三星的思想,今天算是部分调通了吗,运行了spidev_test.c生成的可执行文件a.out,运行下,但在发数据的时候挂掉了,应为我们4020的发送机制和三星的不一样,还要修改,呵呵,今天发贴纪念下。。。。。。。。里面很多的printk,调试用的,不好意思
U-Boot 1.3.3 (Sep 21 2009 - 15:26:54)

DRAM:  32 MB
Flash:  2 MB
NAND:  64 MiB
In:    serial
Out:   serial
Err:   serial
Set the MAC successful!
Hit any key to stop autoboot:  0 
TFTP from server 192.168.0.1; our IP address is 192.168.0.2
Filename 'zImage'.
Load address: 0x30008000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         ################################################################
done
Bytes transferred = 1654756 (193fe4 hex)
Boot with zImage

Starting kernel ...

Uncompressing Linux......................................................................................................... done, booting the kernel.
2<5>Linux version 2.6.27 (root@localhost.localdomain) (gcc version 3.4.1) #104 Fri Apr 9 17:17:43 CST 2010
CPU: ARM720T [41807202] revision 2 (ARMv4T), cr=0000217f
Machine: SEP4020 board
Memory policy: ECC disabled, Data cache writeback
<7>On node 0 totalpages: 8192
<7>free_area_init_node: node 0, pgdat c0331a18, node_mem_map c03c9000
<7>  DMA zone: 8128 pages, LIFO batch:0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
<5>Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.3:/nfs ip=192.168.0.2:192.168.0.3:192.168.0.1:255.255.255.0:sep4020:eth0:off console=ttyS0,115200 mem=32mb
PID hash table entries: 128 (order: 7, 512 bytes)
Console: colour dummy device 80x30
<6>Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
<6>Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
<6>Memory: 32MB = 32MB total
<5>Memory: 28596KB available (3016K code, 694K data, 128K init)
<6>SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
<6>Calibrating delay loop... 43.72 BogoMIPS (lpj=218624)
Mount-cache hash table entries: 512
<6>CPU: Testing write buffer coherency: ok
<6>net_namespace: 588 bytes
register_driver 
<6>NET: Registered protocol family 16
<6>SEP4020 Clocks, (c) 2009 Southeast University ASIC
<6>SEP4020: xtal 4000000, mpll 88000000, upll 48000000
<5>SCSI subsystem initialized
<6>NET: Registered protocol family 2
<6>IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
<6>TCP established hash table entries: 1024 (order: 1, 8192 bytes)
<6>TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
<6>TCP: Hash tables configured (established 1024 bind 1024)
<6>TCP reno registered
<6>NET: Registered protocol family 1
SEP4020 DMA Driver, (c) 2009 Southeast University ASIC
DMA channel 0 at e1001000, irq 30
DMA channel 1 at e1001100, irq 30
DMA channel 2 at e1001200, irq 30
DMA channel 3 at e1001300, irq 30
DMA channel 4 at e1001400, irq 30
DMA channel 5 at e1001500, irq 30
<4>NetWinder Floating Point Emulator V0.97 (double precision)
<6>ashmem: initialized
<6>NTFS driver 2.1.29 [Flags: R/O].
<6>msgmni has been set to 55
<6>io scheduler noop registered
<6>io scheduler anticipatory registered
<6>io scheduler deadline registered
<6>io scheduler cfq registered (default)
register_driver 
The 320*240 LCD is initialized------------------------------------------>
map_video_memory: dma=31cc0000 cpu=ffc00000 size=00025800
Console: switching to colour frame buffer device 40x30
<6>fb0: sep4020fb frame buffer device
<6>Serial: 8250/16550 driver4 ports, IRQ sharing disabled
register_driver 
<6>serial8250.0: ttyS0 at MMIO 0x10005000 (irq = 24) is a 16450
<6>console [ttyS0] enabled
Linux version 2.6.27 (root@localhost.localdomain) (gcc version 3.4.1) #104 Fri Apr 9 17:17:43 CST 2010
CPU: ARM720T [41807202] revision 2 (ARMv4T), cr=0000217f
Machine: SEP4020 board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.3:/nfs ip=192.168.0.2:192.168.0.3:192.168.0.1:255.255.255.0:sep4020:eth0:off console=ttyS0,115200 mem=32mb
PID hash table entries: 128 (order: 7, 512 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 28596KB available (3016K code, 694K data, 128K init)
SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 43.72 BogoMIPS (lpj=218624)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 588 bytes
register_driver 
NET: Registered protocol family 16
SEP4020 Clocks, (c) 2009 Southeast University ASIC
SEP4020: xtal 4000000, mpll 88000000, upll 48000000
SCSI subsystem initialized
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
SEP4020 DMA Driver, (c) 2009 Southeast University ASIC
DMA channel 0 at e1001000, irq 30
DMA channel 1 at e1001100, irq 30
DMA channel 2 at e1001200, irq 30
DMA channel 3 at e1001300, irq 30
DMA channel 4 at e1001400, irq 30
DMA channel 5 at e1001500, irq 30
NetWinder Floating Point Emulator V0.97 (double precision)
ashmem: initialized
NTFS driver 2.1.29 [Flags: R/O].
msgmni has been set to 55
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
register_driver 
The 320*240 LCD is initialized------------------------------------------>
map_video_memory: dma=31cc0000 cpu=ffc00000 size=00025800
Console: switching to colour frame buffer device 40x30
fb0: sep4020fb frame buffer device
Serial: 8250/16550 driver4 ports, IRQ sharing disabled
register_driver 
serial8250.0: ttyS0 at MMIO 0x10005000 (irq = 24) is a 16450
console [ttyS0] enabled
<6>serial8250.0: ttyS1 at MMIO 0x10006000 (irq = 23) is a 16450
serial8250.0: ttyS1 at MMIO 0x10006000 (irq = 23) is a 16450
<6>serial8250.0: ttyS2 at MMIO 0x10007000 (irq = 22) is a 16450
serial8250.0: ttyS2 at MMIO 0x10007000 (irq = 22) is a 16450
<6>serial8250.0: ttyS3 at MMIO 0x10008000 (irq = 21) is a 16450
serial8250.0: ttyS3 at MMIO 0x10008000 (irq = 21) is a 16450
<6>brd: module loaded
brd: module loaded
<6>loop: module loaded
loop: module loaded
<6>nbd: registered device at major 43
nbd: registered device at major 43
register_driver 
register_driver 
<6>logger: created 64K log 'log_main'
logger: created 64K log 'log_main'
<6>logger: created 256K log 'log_events'
logger: created 256K log 'log_events'
<6>logger: created 64K log 'log_radio'
logger: created 64K log 'log_radio'
register_driver 
register_driver 
register_driver 
register_driver 
sep4020_ether: sepether_probe!
sep4020_ether: sepether_probe!
eth%d: The ethernet is working under RMII mode
eth%d: The ethernet is working under RMII mode
<6>eth0: Link now 10 M-HalfDuplex
eth0: Link now 10 M-HalfDuplex
<6>eth0: sep ethernet at 0xe1003000 int=28 10M-HalfDuplex (00:50:a6:43:bf:4f)
eth0: sep ethernet at 0xe1003000 int=28 10M-HalfDuplex (00:50:a6:43:bf:4f)
<6>eth0: Davicom 9196 PHY (Copper)
eth0: Davicom 9196 PHY (Copper)
<4>Driver 'sd' needs updating - please use bus_type methods
Driver 'sd' needs updating - please use bus_type methods
register_driver 
register_driver 
register_driver 
register_driver 
register_driver 
register_driver 
platform_driver_probe
platform_driver_probe
register_driver 
register_driver 
 probe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
 probe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
<7>sep4020-spi sep4020-spi.0: bitbang at c1c9cb20
we enter the !pdata->set cs 
we enter the !pdata->set cs 
<7>sep4020-spi sep4020-spi.0: registered master spi0
we have enter the sep4020_spi_setupxfer
we have enter the sep4020_spi_setupxfer
we get the clk rate  is 96
we get the clk rate  is 96
3
3
<7>spi spi0.0: setting pre-scaler to 96 (hz 500000)
the value of div is 96
the value of div is 96
the value of BITBANG_CS_INACTIVE is 0
the value of BITBANG_CS_INACTIVE is 0
we have enter the sep4020_spi_chipsel
we have enter the sep4020_spi_chipsel
111
111
222
222
<7>spi spi0.0: sep4020_spi_setup: mode 0, 8 bpw, 500000 hz
<7>sep4020-spi sep4020-spi.0: registered child spi0.0
<6>mice: PS/2 mouse device common for all mice
mice: PS/2 mouse device common for all mice
register_driver 
register_driver 
<6>TCP cubic registered
TCP cubic registered
<6>NET: Registered protocol family 17
NET: Registered protocol family 17
<6>NET: Registered protocol family 15
NET: Registered protocol family 15
<6>RPC: Registered udp transport module.
RPC: Registered udp transport module.
<6>RPC: Registered tcp transport module.
RPC: Registered tcp transport module.
<6>eth0: Link now 10 M-HalfDuplex
eth0: Link now 10 M-HalfDuplex
SEP4020 ethernet interface open!
SEP4020 ethernet interface open!
IP-Config: Complete:IP-Config: Complete:
     device=eth0
     device=eth0, addr=192.168.0.2, addr=192.168.0.2, mask=255.255.255.0, mask=255.255.255.0, gw=192.168.0.1, gw=192.168.0.1,
     host=sep4020, domain=, nis-domain=(none),
     host=sep4020, domain=, nis-domain=(none),
     bootserver=192.168.0.3,
     bootserver=192.168.0.3, rootserver=192.168.0.3, rootserver=192.168.0.3, rootpath=, rootpath=

<5>Looking up port of RPC 100003/2 on 192.168.0.3
Looking up port of RPC 100003/2 on 192.168.0.3
<5>Looking up port of RPC 100005/1 on 192.168.0.3
Looking up port of RPC 100005/1 on 192.168.0.3
VFS: Mounted root (nfs filesystem).
VFS: Mounted root (nfs filesystem).
<6>Freeing init memory: 128K
Freeing init memory: 128K
init started: BusyBox v1.10.4 (2009-08-17 11:15:29 CST)
starting pid 351, tty '': '/etc/init.d/rcS'

**********************************************
   SEP4020 ARM Linux-2.6.16 SDK 3.4.4    
**********************************************
# mount all...........
mount: mounting none on /proc/bus/usb failed: No such file or directory
# Starting mdev.........
starting pid 358, tty '': '-/bin/sh'
hwclock: can't open '/dev/misc/rtc': No such file or directory
mkdir: cannot create directory '/var/run': File exists
/ # cd /sys/bus/platform/devices/
/sys/bus/platform/devices # ls -al
drwxr-xr-x    2 root     root            0 Jan  1 00:00 .
drwxr-xr-x    4 root     root            0 Jan  1 00:00 ..
lrwxrwxrwx    1 root     root            0 Jan  1 00:00 power.0 -> ../../../devices/platform/power.0
lrwxrwxrwx    1 root     root            0 Jan  1 00:00 sep4020-lcd -> ../../../devices/platform/sep4020-lcd
lrwxrwxrwx    1 root     root            0 Jan  1 00:00 sep4020-spi.0 -> ../../../devices/platform/sep4020-spi.0
lrwxrwxrwx    1 root     root            0 Jan  1 00:00 sep4020_ether -> ../../../devices/platform/sep4020_ether
lrwxrwxrwx    1 root     root            0 Jan  1 00:00 serial8250 -> ../../../devices/platform/serial8250
lrwxrwxrwx    1 root     root            0 Jan  1 00:00 serial8250.0 -> ../../../devices/platform/serial8250.0
/sys/bus/platform/devices # cd ..
/sys/bus/platform # cd drivers/
/sys/bus/platform/drivers # ls -al
drwxr-xr-x   13 root     root            0 Jan  1 00:01 .
drwxr-xr-x    4 root     root            0 Jan  1 00:00 ..
drwxr-xr-x    2 root     root            0 Jan  1 00:01 alarm
drwxr-xr-x    2 root     root            0 Jan  1 00:01 android_pmem
drwxr-xr-x    2 root     root            0 Jan  1 00:01 power
drwxr-xr-x    2 root     root            0 Jan  1 00:01 ram_console
drwxr-xr-x    2 root     root            0 Jan  1 00:01 sep4020-lcd
drwxr-xr-x    2 root     root            0 Jan  1 00:01 sep4020-spi
drwxr-xr-x    2 root     root            0 Jan  1 00:01 sep4020_ether
drwxr-xr-x    2 root     root            0 Jan  1 00:01 serial8250
drwxr-xr-x    2 root     root            0 Jan  1 00:01 smx-ce
drwxr-xr-x    2 root     root            0 Jan  1 00:01 uio
drwxr-xr-x    2 root     root            0 Jan  1 00:01 uio_pdrv_genirq
/sys/bus/platform/drivers # cd ..
/sys/bus/platform # 
/sys/bus/platform # cd ..
/sys/bus # cd spi/
/sys/bus/spi # cd devices/
/sys/bus/spi/devices # ls -al
drwxr-xr-x    2 root     root            0 Jan  1 00:01 .
drwxr-xr-x    4 root     root            0 Jan  1 00:01 ..
lrwxrwxrwx    1 root     root            0 Jan  1 00:01 spi0.0 -> ../../../devices/platform/sep4020-spi.0/spi0.0
/sys/bus/spi/devices # cd ..
/sys/bus/spi # cd drivers/
/sys/bus/spi/drivers # ls -al
drwxr-xr-x    3 root     root            0 Jan  1 00:01 .
drwxr-xr-x    4 root     root            0 Jan  1 00:01 ..
drwxr-xr-x    2 root     root            0 Jan  1 00:01 spidev
/sys/bus/spi/drivers # cd 
/ # ./a.out
we have enter the sep4020_spi_setupxfer
we have enter the sep4020_spi_setupxfer
we get the clk rate  is 96
we get the clk rate  is 96
3
3
<7>spidev spi0.0: setting pre-scaler to 96 (hz 500000)
the value of div is 96
the value of div is 96
the value of BITBANG_CS_INACTIVE is 0
the value of BITBANG_CS_INACTIVE is 0
we have enter the sep4020_spi_chipsel
we have enter the sep4020_spi_chipsel
111
111
222
222
<7>spidev spi0.0: sep4020_spi_setup: mode 0, 8 bpw, 500000 hz
<7>spidev spi0.0: spi mode 00
we have enter the sep4020_spi_setupxfer
we have enter the sep4020_spi_setupxfer
we get the clk rate  is 96
we get the clk rate  is 96
3
3
<7>spidev spi0.0: setting pre-scaler to 96 (hz 500000)
the value of div is 96
the value of div is 96
the value of BITBANG_CS_INACTIVE is 0
the value of BITBANG_CS_INACTIVE is 0
we have enter the sep4020_spi_chipsel
we have enter the sep4020_spi_chipsel
111
111
222
222
<7>spidev spi0.0: sep4020_spi_setup: mode 0, 8 bpw, 500000 hz
<7>spidev spi0.0: 8 bits per word
we have enter the sep4020_spi_setupxfer
we have enter the sep4020_spi_setupxfer
we get the clk rate  is 96
we get the clk rate  is 96
3
3
<7>spidev spi0.0: setting pre-scaler to 96 (hz 500000)
the value of div is 96
the value of div is 96
the value of BITBANG_CS_INACTIVE is 0
the value of BITBANG_CS_INACTIVE is 0
we have enter the sep4020_spi_chipsel
we have enter the sep4020_spi_chipsel
111
111
222
222
<7>spidev spi0.0: sep4020_spi_setup: mode 0, 8 bpw, 500000 hz
<7>spidev spi0.0: 500000 Hz (max)
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)
we have enter the sep4020_spi_setupxfer
we have enter the sep4020_spi_setupxfer
we get the clk rate  is 96
we get the clk rate  is 96
3
3
<7>spidev spi0.0: setting pre-scaler to 96 (hz 500000)
the value of div is 96
the value of div is 96
we have enter the sep4020_spi_chipsel
we have enter the sep4020_spi_chipsel
3
3
<7>spidev spi0.0: txrx: tx c1c0c000, rx c1c0c000, len 38
阅读(664) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-04-13 16:52:18

学习了,多谢楼主分享哦!也欢迎广大linux爱好者来我的论坛一起讨论arm哦!www.lt-net.cn