| |
上周龙人工程师已向您介绍了有关arm9系列--2410开发板的有关硬件参数和软件特性,今天,将带领大家进一步学习关于2410板环境和内核的配置及一些细节。
本文关键词:arm9 2410开发板 arm开发板 嵌入式开发
1. 检查宿主机端的TFTP服务是否已经开通(此步骤只在第一次时使用,以后可忽略):在宿主机上执行setup,选择System services,将其中的tftp一项选中(出现 [*]表示选中),并去掉ipchains和iptables两项服务(即去掉它们前面的*号)。然后还要选择Firewall configuration,选中No firewall。最后,退出setup,执行如下命令以启动TFTP服务: service xinetd restart 配置完成后,用如下命令查看tftp服务是否开通: netstat -a|grep tftp。
作用如:tftp 30008000 zImage 。
2.Nfs的设置:
a.在系统设置->服务器设置->NFS服务器中新建/ * Read/Write
b.在系统设置->服务->nfs中,选中nfs启动此服务。
作用如:mount –o nolock 192.168.245.18:/ /mnt。
二.内核配置
cd /HHARM2410-R3/kernel
make menuconfig进入内核配置界面。
1.ramdisk的大小:->block device->Default Ramdisk的大小应为1024的整数倍。默认值为4096,我们改为12288。
2.关闭SHELL对串口的占用,使之能做普通的串口通讯和拨号,且能telnet:a.->Character devices->Serial drivers->
[*]S#C2410 serial port support
[ ]Console on S3C2410 serial port [注]去掉这项即可。但此时串口会向外面乱发一些数据,所以还要修改busybox,后面说。
b.选中->File systems->dev/pts file system for Unix98 PTYs
c.选中->Character devices->Unix98 PTY support,其中(256)maximum number of Unix98 PTYs in use(0-2048),可以改变telnet开发板的数目。
3.配置驱动 WEBEYE V3000使用usb接口,内部使用ov511芯片,arm linux自带该芯片的驱动,该驱动可以用模块的方式加载,也可以编进内核,这里采用的是编进内核的方法,方法是:在arm linux的kernel目录下make menuconfig,首先选择Multimedia device->下的Video for linux,然后在usb support->目录下选择support for usb和usb camera ov511 support,保存配置退出。
三.源码改写
1.因为此块flash当中有坏的扇区,故要修改引导程序ppcboot:
SMDK2410 # fl 1140000 30800000 220000
start_sect=0xa,end_sect=0x1a
************erase sector 0xa***********
************erase sector 0xb***********
************erase sector 0xc***********
************erase sector 0xd***********
************erase sector 0xe***********
************erase sector 0xf***********
************erase sector 0x10***********
************erase sector 0x11***********
************erase sector 0x12***********
************erase sector 0x13***********
************erase sector 0x14***********
************erase sector 0x15***********
************erase sector 0x16***********
************erase sector 0x17***********
************erase sector 0x18***********
************erase sector 0x19***********
************erase sector 0x1a***********
----------program sector 0xa---------
----------program sector 0xb---------
Error Command Sequence!mflash_program_sector error : status read
flash not completed for error
这是flash的第13个扇区坏了,可以跳过此坏扇区.flash是16M,共128个扇区,16M/128=128K,每个扇区是128k,换成16进制是20000,我的flash是0xc错了,故要跳过0xa和0xb两个扇区继续写,20000*2=40000,可以多跳几个扇区.写在11a0000中.
还有修改ppcboot重新编译,在\ppcboot-2\ppcboot-2.0.0-old\lib_arm下的armlinux.c的196行左右将0x140000改为1a0000,这里的40000和
140000都是逻辑地址,在flash中起始地址是1000000,故实际的地址分别为1040000和1140000,现在ramdisk改写在11a0000中了。
3.释放串口时控制串口不向外乱发数据,要修改busybox:
cd /busybox-1.00-pre10
cd init
把safe_strncpy(console,”dev/ttyS0”,sizeof(console))改为safe_strncpy(console,”dev/NULL”,sizeof(console))后make。此时生成的busybox放到开发板的/ramdisk/bin下。
四.其它细节
1.2410开发板自启动程序放在/usr/etc/rc.local中。
2.用tip –l /dev/ttyS0 –s 115200来测试串口的通断。执行后显示connected,输入AT,若返回OK,就说明成功。
看完之后感觉如何,如需了解更多嵌入式开发 嵌入式系统 arm开发板 arm9开发板 2440开发板 2410开发板等相关嵌入式学习的资料可登陆http://www.armlab.net或拨打我们的免费技术支持热线手机:13148818895 小灵通:21192100余焕丽