在linux下配置arm嵌入式等过错中,遇到了一些问题,在网上也搜索了相关的资料,还是不能解决,传统的方法,比如用yum安装就能解决问题,但是在我的机器上用yum指令是解决不了这个问题,怎么办呢,只能下载rpm包,然后用rpm -ivh **.rpm的指令进行安装。下面将我解决的方法送上。rpm包也将共享上去。
一、xinetd
下载xinetd的rpm包,地址:http://pkgs.org/centos-6-rhel-6/centos-rhel-i386/xinetd-2.3.14-38.el6.i686.rpm.html
Binary package: xinetd-2.3.14-38.el6.i686.rpm
Source package: xinetd-2.3.14-38.el6.src.rpm
下载上面两个包,然后依次按顺序安装这两个rpm包。重启下xinetd服务:service xinetd restart
二、minicom
由于我用的是yum指令安装的,不过我也下载了minicom的rpm包
#yum install minicom
下面贴出,我参考的关于minicom安装配置的资料
地址为:http://blog.csdn.net/yinjiabin/article/details/7701496
1、安装minicom 以及 文件传送工具
sudo yum install minicom lrzsz
2. 在使用串口之前必须查看你的电脑是否可以支持usb转串口通信。如果出现下面字样则支持还是ok的。
lsmod | grep usbserial
usbserial 33694 3 pl2303
3.插上usb之后,出现连接成功信息就好了。
dmesg | grep USB0
检查是否存在设备/dev/ttyUSB0,如果没有就建立一个:
ls /dev/ttyUSB0
mknod /dev/ttyUSB0 c 188 0
4、minicom串口进行配置
sudo minicom -s
注:下面选择的项用小写字母也可。
选择Serial port setup,此时所示光标在"Change which setting"上,键入"A",此时光标移到第A项对应处,改为ttyUSB0(因为我是USB转串口)。
然后对波特率,数据位和停止位进行配置,键入"E",波特率选为115200 8N1(数据位8,奇偶校验无,停止位1),硬/软件流控制分别键入"F"和"G",并且都选No(注意:这个不设置为NO的话将无法在终端键入字符)。
具体的配置信息如下所示:
Serial port setup [Enter]
+-------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program -: |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-------------------------------------------------------------+
返回上级菜单,进入Modem and dialing选项,将:
A - Init string .........
B - Reset string ........
K - Hang-up string ......
三项全部清空
在确认配置正确之后,可键入回车返回上级配置界面,并 将其保存为默认配置(即save setup as dfl)。最后,选择"Exit from Minicom"命令退出。
5、 碰到的问题
注意:如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0。
1)如果你的/dev文件下没有ttyUSB0,这时在终端输入
mknod /dev/ttyUSB0 c 188 0
2) 然后重启minicom(注意需要root权限),不然会显示:Device /dev/ttyUSB0 access failed: No such file or directory.
$sudo minicom
使刚才的配置生效,再连上开发板的USB转串口线后,就可以在minicom中打印出正确的串口信息了。在控制台下通过组合键Ctrl+A Z可以进入minicom菜单。
3)Device /dev/ttyS0 lock failed: 不允许的操作.
用ps -aux |grep minicom 查一次下,用kill -9把minicom的进程杀掉再启动
ps -aux |grep minicom终端显示为:
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root XXXX XXX XXX XXX XXX XXX
root 8319 0.0 0.1 5416 676 pts/1 S+ 17:22 0:00 grep minicom
然后 kill -9 XXXX 此处的XXXX和第二行8319号类似,也是一个四位的数字
4)如果还不行,以尝试换一个USB口,然后再次操作以上流程
5)在终端中运行mincom
6、实现PC与开发板文件传输
连接好PC与开发板
启动minicom ,然后CTRL+A S
选择zmode 找到要发送的文件发送即可 ,这样交叉编译好的可执行文件就可以直接在开发板终端执行了!
三、tptp
tftp,tftp-server下载地址:http://rpmfind.net/linux/rpm2html/search.php?query=tftp&submit=Search+...&system=&arch=
可以自己搜索自己linux版本的rpm包,然后进行安装。
下面这个配置是借鉴
一.PC端配置
1.关闭防火墙
[root@gliethttp root]# /etc/init.d/iptables stop
2.使用setup启动tftp
[root@gliethttp root]# setup ->System services->选中tftp
3.如果setup中找不到tftp选项,那么你需要rpm包来安装
在redhat9的CD3里可以找到tftp-server-0.32-4.i386.rpm文件
[root@gliethttp root]# rpm -ivh tftp-server-0.32-4.i386.rpm
4.修改tftp服务器配置
[root@gliethttp root]# vim /etc/xinetd.d/tftp
将server_args配置项为你自己的tftpboot根目录
将disable 配置为no
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
5.启动tftp服务器
[root@gliethttp root]# /etc/init.d/xinetd restart
二.ARM板端配置
重启开发板进入uBoot
1.设置tftp的ip地址和服务器地址
FFTUBoot > printenv ;打印当前环境配置
FFTUBoot > setenv ethaddr 12:34:56:78:99:aa ;MAC 地址设置
FFTUBoot > setenv ipaddr 192.168.23.250(缺省192.168.0.11) ;目标板IP 地址
FFTUBoot > setenv serverip 192.168.23.23(缺省192.168.0.55) ;服务器IP 地址
FFTUBoot > setenv bootdelay 5 ;延时
FFTUBoot > saveenv ;可以进行保存,如果不保存,掉电后需要重新设置
2.启动参数设置
FFTUBoot > setenv bootargs root=/dev/ram rw initrd=0x21100000,6000000 ramdisk_size=15360 console=ttyS0,115200 mem=32M
FFTUBoot > saveenv
3.下载文件
FFTUBoot > tftp 21000000 usb1-uImage ;下载内核
FFTUBoot > tftp 21100000 minigui9200.gz ;下载文件系统
FFTUBoot > bootm 21000000 ;开始运行
或者直接
FFTUBoot > tftp 21000000 usb1-uImage;tftp 21100000 minigui9200.gz;bootm 21000000