forlinx335x系统移植

forlinx335x系统移植

启动方式:

  1. SD 卡启动设置: 1 On, 2 On (On 代表拨到上方,Off 代表拨到下方)
  2. NandFlash 启动设置:1 Off ,2 On (On 代表拨到上方,Off 代表拨到下方)

更新系统
.SD卡一键更新
1.将 bin 目录下的 MLO、u-boot.img、uImage、ubi.img 拷入 SD 卡 boot(FAT32)分区,此步骤与 rootfs分区无关,
2.拨码开关拨到 SD 启动项,把 SD 卡插入到开发板的 SD 卡插槽中,开机进入 U-boot
命令行, 执行 “run update_nand”命令
终端如下打印:
OK335X# run update_nand
---------------Begin update system to Nand---------------

NAND erase.chip: device 0 whole chip
Erasing at 0xffe0000 – 100% complete.
OK
reading MLO

36087 bytes read
HW ECC BCH8 Selected

NAND write: device 0 offset 0x0, size 0x8cf7
36087 bytes written: OK
reading u-boot.img

235204 bytes read
HW ECC BCH8 Selected

NAND write: device 0 offset 0x80000, size 0x396c4
235204 bytes written: OK
reading uImage

3450392 bytes read
HW ECC BCH8 Selected

NAND write: device 0 offset 0x280000, size 0x34a618
3450392 bytes written: OK
reading ubi.img

43253760 bytes read
SW ECC selected

NAND write: device 0 offset 0x780000, size 0x2940000
43253760 bytes written: OK

--------------Update system to Nand success--------------
OK335X#

uboot编译
1.解压交叉编译链:

tar xvf cross-tools-am335x-4.5.3.tar.bz2 -C /usr/local/arm

2.指定目标文件夹名、交叉工具、架构、板级进行编译

make O=ok335x CROSS_COMPILE=/usr/local/arm/cross/am335xt3/devkit/bin/arm-arago-linux-gnueabi- ARCH=arm ok335x

3.编译结果:
在这里插入图片描述

相关文件位置:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

kernel编译

  1. 解压

tar xvf linux-3.2.0-forlinx.tar.bz2

cd linux-3.2.0

  1. 编译

cp arch/arm/configs/ok335xd_evm_linux_defconfig .config

make CROSS_COMPILE=/usr/local/arm/cross/am335xt3/devkit/bin/arm-arago-linux-gnueabi- ARCH=arm uImage

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

优化启动时间:
在这里插入图片描述

文件系统制作

对于 SD 卡,文件系统是 ext3 格式的,如需添加文件直接往里拷贝即可,
对于 Nand, 文件系统是 ubi格式的文件系统,修改其中内容方法如下:

  1. 拷贝 filesystem 目录下 rootfs.tar.bz2 文件到 /home/forlinx/work 目录下,拷贝 tools 目录下的
    mkfs.ubifs,,ubinize,ubinize.cfg 到 /home/forlinx/work 目录下然后执行:

  2. 创建一个新文件夹
    mkdir rootfs

  3. 将文件系统解压到 rootfs 目录
    tar xvf rootfs.tar.bz2 -C rootfs
    根据您的需求修改 rootfs 文件夹里面的内容,比如增加脚本文件,设置 IP 地址等等

  4. 重新生成 ubi.img
    ./mkfs.ubifs -r rootfs -m 2048 -e 126976 -c 1900 -o ubifs.img
    ./ubinize -o ubi.img -m 2048 -p 128KiB -s 512 -O 2048 ubinize.cfg
    rm ubifs.img

  5. 将新的 ubi.img 重新烧写到 nand 即可。

命令行测试

飞凌提供的内核同时支持 5/7/8 寸电阻屏和电容屏,但系统默认使用 7 寸电阻屏,如果用户想要使
用电容屏,可以在 uboot 命令行执行命令 scr type C 即可,想要使用电阻屏时用户只需在 uboot 命令行执行命令 scr type R 即可切换回电阻屏模式, 另外 scr size 5/7/8 命令可以在 5 寸/7 寸/8 寸屏间进行切换。

驱动文件

设备 驱动程序源代码在内核中的位置 对应的设备名
网卡驱动 drivers/net/ethernet/ti/cpsw.c eth0
LED 驱动 drivers/misc/led_dev.c /dev/led
LCD 背光驱动 drivers/video/backlight/pwm_bl.c /sys/class/backlight
USB 接口 U 盘 drivers/usb/storage/ /dev/sdX
USB 鼠标 drivers/hid/usbhid/ /dev/input/mice
Flash ECC 校验 drivers/mtd/nand/nand_ecc.c 无
Nand Flash 驱动 drivers/mtd/nand/omap2.c /dev/mtdX,mtdblockX
UBI 文件系统 fs/ubifs/ 无
SD 卡驱动 drivers/mmc/card/ /dev/mmcblk0
(自制底板没有写保护引脚,在板级文件中注销掉该控制,硬件去掉CLK引脚上的电容)
LCD FrameBuffer drivers/video/da8xx_fb.c /dev/fb0
电阻触摸驱动 drivers/input/touchscreen/ti_tsc.c /dev/input/event0
电容触摸驱动 drivers/input/touchscreen/ft5x06_ts.c /dev/input/event0
RTC 实时时钟驱动 drivers/rtc/rtc-ds1307.c /dev/rtc0
改为:RTC 实时时钟驱动 drivers/rtc/rtc-rx8025.c /dev/rtc
SPI 驱动 drivers/spi/spidev.c /dev/spidev2.0
串口(含三个串口) drivers/tty/serial/omap-serial.c /dev/ttyO0,1,4
串口(只用到了两个) drivers/tty/serial/omap-serial.c /dev/ttyO0,2
其中ttyO2用于读取gps数据—控制gps使能的引脚为GPIO3_20
按键驱动 drivers/input/keyboard/gpio_keys.c /dev/input/event3
看门狗驱动 drivers/watchdog/omap_wdt.c /dev/watchdog
外部看门狗gpio为gpio0_4
RS485 驱动 drivers/tty/serial/omap-serial.c /dev/ttyO2
RS485 驱动 drivers/tty/serial/omap-serial.c /dev/ttyO1
EEPROM 驱动 drivers/misc/eeprom/at24.c /dev/eeprom
CAN 驱动 drivers/net/can/d_can/d_can.c can0
音频驱动 sound/soc/codec/tlv320aic3x.c /dev/snd/controlC0,
pcmC0D0c,pcmC0D0p,

                                                                                                   seq,timer

开发板功能测试:

OK335xD 开发板中有三个串口,在开发板上的标识符分别为 COM0,COM1,UART。COM0 为调试
口,不需要测试。
1)COM0 口,RS232 电平,用于调试口,在 Linux 中的设备名称: /dev/ttyO0;
2)COM1 口,RS232 电平,使用 DB9 公头,在 Linux 中的设备名称: /dev/ttyO1;
3)UART 口,TTL 电平,使用插针接口,在 Linux 中的设备名称 :/dev/ttyO4;

  1. SD卡不支持热插拔
    挂载在/media的mmcblk0p1和mmcblk0p2下

  2. U盘测试通过
    挂载在/media的sdxx目录下

  3. 以太网测试未通过

    ifconfig eth0 192.168.1.233

    ping 192.168.1.105(我的pc的ip)

    ping 不通

  4. 复位测试通过

  5. 看门狗测试通过:
    /forlinx/bin/restarttest
    测试程序中打开了/dev/watchdog 设备文件,启动 Watchdog,程序进入忙
    循环状态,由于没有喂狗,60 秒后系统复位。

  6. LED测试通过

  7. 背光测试通过
    1) 默认背光值查看:# cat /sys/class/backlight/pwm-backlight/brightness
    60

    2)设置背光值:# echo 30 > /sys/class/backlight/pwm-backlight/brightness

  8. RTC测试通过
    1)查看系统时间

    date

    Thu Oct 3 18:48:31 UTC 2013

2)设置系统时间

date 040311422014.01

Thu Apr 3 11:42:01 UTC 2014
3)查看硬件时间

hwclock

Thu Oct 3 18:52:55 2013 0.000000 seconds
4) 将系统时间设置到时钟芯片里面,此时 rtc 就可以使用了。如果没有这步,下
次启动时,系统时间是不会更新的
# hwclock -w
5) 断电重启系统,读取RTC 时间,并同步给系统时间

hwclock -s

  1. EEPROOM测试通过

    eepromtest -w 123456789abcdefghijklmnopqrstuvwxyz

    eepromtest -r

  2. USB 3G测试(还未测试)
    本产品目前支持以下 3G 上网卡:
    WCDMA:华为 E1750、E261、中兴 MF190。
    CDMA2000:中兴 AC2787、AC582。
    TDSCDMA:中兴 A356。

  3. USB WIFI 测试通过(使用老的ourlink)——系统启动后插入
    本产品目前支持以下 WIFI 网卡:
    BL-LW05-AR5:芯片型号 RTL8188CUS
    EP-N8508GS:芯片型号 RTL8188CUS。

1)插入usb wifi 运行命令

lsusb

出现Bus 001 Device 007: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
这样一行,打印出来网卡信息
2)关掉以太网,使能wifi网卡
root@ok335x:/forlinx/bin# ifconfig eth0 down
root@ok335x:/forlinx/bin# ifconfig wlan0 up
[ 852.947538] rtl8192cu: MAC auto ON okay!
[ 852.972156] rtl8192cu: Tx queue select: 0x05
[ 852.977897] rtl8192c_common: Loading firmware file rtlwifi/rtl8192cufw.bin

3)配置 wlan0 的 IP,并添加缺省路由

ifconfig wlan0 192.168.1.223

route add default gw 192.168.1.1

4)查看添加路由是否成功

route

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
192.168.1.0 * 255.255.255.0 U 0 0 0 wlan0

5)查看扫描周围的 AP

iwlist wlan0 scan

Cell 03 - Address: 28:2C:B2:9D:21:FB
Channel:5
Frequency:2.432 GHz (Channel 5)
Quality=69/70 Signal level=-41 dBm
Encryption key:on
ESSID:“PICOHOOD”
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s
Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000000317315180
Extra: Last beacon: 400ms ago
IE: Unknown: 00085049434F484F4F44
IE: Unknown: 010882848B960C121824
IE: Unknown: 030105
IE: Unknown: 0706434E20010D1E
IE: Unknown: 2A0100
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: 32043048606C
IE: Unknown: 2D1AEE111BFFFFFF0000000000000000000000000000000000000000
IE: Unknown: 331AEE111BFFFFFF0000000000000000000000000000000000000000
IE: Unknown: 3D1605051700000000000000000000000000000000000000
IE: Unknown: 341605051700000000000000000000000000000000000000
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: DD0900037F01010000FF7F
6)配置wpa_supplicant.conf,并进行相应修改

wpa_passphrase PICOHOOD “12345asdfg” >> /etc/wpa_supplicant.con

7)连接AP

wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant.conf -B -d

  1. 测试连接成功与否 ——连接成功

    ping baidu.com

PING baidu.com (220.181.111.85): 56 data bytes
64 bytes from 220.181.111.85: seq=0 ttl=52 time=51.631 ms
64 bytes from 220.181.111.85: seq=1 ttl=52 time=127.325 ms
64 bytes from 220.181.111.85: seq=2 ttl=52 time=98.544 ms

猜你喜欢

转载自blog.csdn.net/bingcheby/article/details/83626953
今日推荐