天嵌 ARM开发社区

 找回密码
 注册
查看: 2136|回复: 1

搭建开发环境

[复制链接]
为祢变坏 发表于 2013-9-25 17:21:37 | 显示全部楼层 |阅读模式
本帖最后由 为祢变坏 于 2013-9-25 17:22 编辑

---利用uboot启动远程Kernel(TFTP)以及挂载远程ROOTFS(NFS)

         所谓的开发环境,就是启动让开发板从网络加载内核和文件系统,这样的话编译好内核就能直接开始运行,不用烧写到开发板,文件系统也是的,直接放到指定目录就行了,不用写入到nand.
以下两个实验的虚拟机环境是ubutu10.4虚拟机系统 ip为192.168.1.8,网关为192.168.1.1.连接方式为桥接。
(通过ifconfig可以查看)
一.设置从网络加载内核
1.为开发板烧写u-boot
2.搭建虚拟机的tftp环境
a.将虚拟机的网络设置为brige模式
b.设置虚拟机ip、开发板ip、xp网卡ip 在同一网段
c.sudo apt-get install tftpd-hpa tftp-hpa 安装tftp服务
d.创建tftp服务根目录
        sudo mkdir -p /opt/TQ2440/tftpboot
        sudo chmod 777 /opt/TQ2440/tftpboot -R
e. sudo vi /etc/default/tftpd-hpa
f.重启服务器 :
sudo /etc/init.d/xinetd restart
sudo /etc/init.d/tftpd-hpa restart
g.将zImage文件拷贝到/opt/TQ2440/tftpboot目录
h.启动开发板进入命令行状态
tarena#setenv ethaddr 11:22:33:44:55:66
tarena#setenv ipaddr 192.168.1.6
tarena#setenv serverip 192.168.1.8
tarena#setenv gatewayip 192.168.1.1
tarena # setenv bootcmd tftp c0008000 zImage \;bootm c0008000
saveenv
i. 设置xp上连接开发板的网卡的ip跟板子和虚拟机在同一网段
j.重启开发板即可
PS:
        测试搭建的服务器,假设自己的机器的IP是192.168.1.8,重启服务器后,在tftp工作目录下,即tftpboot下建立测试文件test.c,然后打开另一个终端,执行tftp 192.168.1.8,然后get test.c,输入q,退出tftp.即可在当前目录下看见test.c文件了。
常见问题:
1.如以上操作均无误,但是传输失败,则检查防火墙是否关闭。
2. 使用虚拟机和主机通信时,虚拟机的网络连接要设置为桥接方式,否则虚拟机连接不到主机。
3. 如出现
tftp> get test.c
Transfer timed out.
则说明tftp 服务器没有运行起来,重启试试,不行的话就是哪里出现了问题,卸掉重装。

二.nfs方式加载根文件系统
a.sudo apt-get install nfs-kernel-server nfs-common portmap安装nfs服务
b.创建nfs服务根目录
        sudo mkdir /opt/TQ2440/nfsroot
        sudo chmod 777 /opt/TQ2440/nfsroot
c.配置nfs服务sudo vi /etc/exports增加如下内容
d.重启服务
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
e.测试nfs
此时可以运行以下命令来显示一下共享出来的目录:
$showmount -e

或者可以使用以下命令把它挂载在本地磁盘上,例如将/opt/TQ2440/nfsroot挂载到/home下:
$sudo mount -t nfs 192.168.1.8:/opt/TQ2440/nfsroot /home
可以运行df命令查看是否挂载成功。
使用以下命令卸载:
$ sudo umount /home
f.将rootfs.tar.gz解压到/opt/TQ2440/nfsroot/
找到linuxrc所在的目录
应该是: /opt/nfsroot/rootfs
g.启动开发板设置启动参数
tarena#  setenv bootargs noinitrd root=/dev/nfs console=ttySAC0 init=/linuxrc nfsroot=192.168.1.8:/opt/nfsroot/rootfs  ip=192.168.1.6:192.168.1.8:192.168.1.1:255.255.255.0::eth0:on
(注意是自动换行的)
f.重启开发板即可
三.用secureCRT串口连接开发板
SecureCRT下的串口不能输入
用串口配置交换机的时候,出现的问题:
用secureCRT建了一个串口COM1后,连接上开发板后,可以正确接受和显示串口的输出,但是按键输入无效。
解决方法:
Session Options -> Connection -> Serial -> Flow Control,将原先默认选中的 RTS/CTS取消掉,再重新connect开发板,再次连上后,此时就可以从键盘输入了。



评分

参与人数 1 +2 收起 理由
Fighting + 2 赞一个!

查看全部评分

shendan 发表于 2013-9-26 09:05:49 | 显示全部楼层
不错!不错!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-5-6 13:31 , Processed in 2.043568 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表