开发板开发环境搭建基本流程
2016-07-13 17:32
239 查看
1.烧写sd卡(win下使用sd卡烧写工具,win7下要format),将uboot文件烧到sd卡中
2.sd卡启动,按下空格进入菜单界面,首先选择1 , y 回车 ,格式化nandflash ,然后选择3烧写镜像,选择1烧写uboot ,在虚拟机中通过dnw烧写uboot
补充dnw使用方法:
insmod dnw_usb.ko //安装dnw_usb模块
如果提示一些错误信息(file exist -1),说明已经安装了dnw 工具,如果想重新安装,则:
rmmod dnw_usb //卸载dnw_usb驱动
insmod dnw_usb.ko
注意每次开linux虚拟机都要手动insmod dnw_usb.ko ,因为这个驱动并不是开机时启动的,需要自行安装
烧写命令:
XX./dnw 50000000 u-boot.bin //6410 :50000000 2440: 30000000
补充uboot制作:
a.解压
b.make distclean
c.make smdk2440_config (fl2440) / make ok6410_config
d.make
3.设置开发板为nandflash 启动,按下空格键进入菜单界面,选择6 exit 退出菜单界面进入命令模式,使用print查看开发板的基本环境变量的配置
setenv配置环境变量
一般配置选项:
setenv ipaddr 192.168.0.105 //配置开发板ip
setenv serverip 192.168.0.101 //配置linux主机的ip(ifconfig查看)
setenv gatewayip 192.168.0.1 //配置网关
使用ping命令,ping 192.168.0.1 保证网络通,刚开始可能不通,ping多几次就通了,然后ping linux主机 ping 192.168.0.101 ,不建议电脑和开发板直接用网线连接,最好使用交换机或者路由作为中介,ping虚拟机的时候需要关闭虚拟机的防火墙的
saveenv
注意查看linux虚拟机的tftp服务是否配置好,如果没有配置tftp服务则需要先配置
a.安装tftp服务器包
b.配置tftp
vim /etc/xinet.d/tftp
disable = no //服务器关闭?no 不能为yes,否则tftp永远无效
server_args = -s /home/tftp //作为tftp文件的路径,tftp下放uImage
c.重启tftp服务
/etc/init.d/xinetd restart
重启开发板
4.按下空格进入菜单选择6进入命令模式,print查看环境变量是否修改成功,ping linux主机解决ping通问题,然后tftp c0008000 uImage //下载内核镜像,下载完后,bootm c0008000 启动内核,这时候应该会看到启动时打印出来的一堆配置信息,最后提示没有找到根文件系统的错误,没关系的,因为还没有制作根文件系统
补充uImage制作:
a.tar解压
b.make distclean 清除以前的配置
c.make menuconfig ARCH=arm
d.make uImage ARCH=arm CROSS_COMPILE=arm-linux- (参数:内核名称uImage 运行平台arm 交叉编译工具链:arm-linux- 这些参数都是修改Makefile中的编译选项用的)
e.cp 将uImage拷贝到tftp目录
5.配置内核file sysytem为nfs system,步骤:
mak menuconfig ARCH=arm
General setup 中取消选中Initial RAM... 这一项 (这是从RAM中启动的,作为最后产品不再修改时才选这种方式,这是需要烧进开发板nandflash中的,如果选中,需要配置rootfs路径)
选中File System -->Network File System -->选中NFS server support,选中Root file system on NFS
保存退出menu,然后重新编译内核make uImage ARCH=arm CROSS_COMPILE=armlinux-
cp arch/arm/boot/uImage /home/FL2440/tftp
6.配置开发板环境变量
setenv
配置nfs
setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.0.101:/home/FL2440/rootfs ip=192.168.0.105
(linux主机ip) (开发板ip)
print 查看所配置的环境变量
saveenv
重启开发板
tftp c0008000 uImage 下载内核,bootm启动内核,这是还是会出现错误的,因为你的linux主机的nfs服务
没有配置或者根本没有开启
linux主机配置nfs:
a.配置nfs服务器
vim /etc/exports
添加: 如下一行
/home/FL2440/rootfs *(rw,sync,no_root_squash)
/home/FL2440/rootfs: 根文件系统目录
*: 允许访问共享目录的主机IP,一般配置为*,好一点,就算ip变了,也不需要重新配置,当然也可以指定网段如192.168.1.*
(rw,sync,no_root_squash): 访问权限,就这样写,无需修改
b.启动NFS服务器
/etc/init. d/nfs restart
7.如果上面的步骤都已经做完了,这是再启动开发板,tftp下载内核,bootm启动内核,应该能够正常进入开发板内核,能够看到rootfs目录文件,如果还是不行,那一般是nfs出了问题,所以再次检测linux主机和开发板的配置是否正确,正常情况下都是可以的!
8.设置开机自动加载内核和挂载根文件系统
开机进入uboot命令模式
设置自 动下载内 核到内 存后启动
setenv bootcmd tftp c0008000 uImage \; bootm c0008000
重启开发板即可
注意:开发板环境搭建是一个非常关键的过程,对于新手,这个过程中会遇到很多问题,关键是要认真做好这个环境搭建中的每一步,按部就班,不能投机取巧,静下心一步步解决问题!
2.sd卡启动,按下空格进入菜单界面,首先选择1 , y 回车 ,格式化nandflash ,然后选择3烧写镜像,选择1烧写uboot ,在虚拟机中通过dnw烧写uboot
补充dnw使用方法:
insmod dnw_usb.ko //安装dnw_usb模块
如果提示一些错误信息(file exist -1),说明已经安装了dnw 工具,如果想重新安装,则:
rmmod dnw_usb //卸载dnw_usb驱动
insmod dnw_usb.ko
注意每次开linux虚拟机都要手动insmod dnw_usb.ko ,因为这个驱动并不是开机时启动的,需要自行安装
烧写命令:
XX./dnw 50000000 u-boot.bin //6410 :50000000 2440: 30000000
补充uboot制作:
a.解压
b.make distclean
c.make smdk2440_config (fl2440) / make ok6410_config
d.make
3.设置开发板为nandflash 启动,按下空格键进入菜单界面,选择6 exit 退出菜单界面进入命令模式,使用print查看开发板的基本环境变量的配置
setenv配置环境变量
一般配置选项:
setenv ipaddr 192.168.0.105 //配置开发板ip
setenv serverip 192.168.0.101 //配置linux主机的ip(ifconfig查看)
setenv gatewayip 192.168.0.1 //配置网关
使用ping命令,ping 192.168.0.1 保证网络通,刚开始可能不通,ping多几次就通了,然后ping linux主机 ping 192.168.0.101 ,不建议电脑和开发板直接用网线连接,最好使用交换机或者路由作为中介,ping虚拟机的时候需要关闭虚拟机的防火墙的
saveenv
注意查看linux虚拟机的tftp服务是否配置好,如果没有配置tftp服务则需要先配置
a.安装tftp服务器包
b.配置tftp
vim /etc/xinet.d/tftp
disable = no //服务器关闭?no 不能为yes,否则tftp永远无效
server_args = -s /home/tftp //作为tftp文件的路径,tftp下放uImage
c.重启tftp服务
/etc/init.d/xinetd restart
重启开发板
4.按下空格进入菜单选择6进入命令模式,print查看环境变量是否修改成功,ping linux主机解决ping通问题,然后tftp c0008000 uImage //下载内核镜像,下载完后,bootm c0008000 启动内核,这时候应该会看到启动时打印出来的一堆配置信息,最后提示没有找到根文件系统的错误,没关系的,因为还没有制作根文件系统
补充uImage制作:
a.tar解压
b.make distclean 清除以前的配置
c.make menuconfig ARCH=arm
d.make uImage ARCH=arm CROSS_COMPILE=arm-linux- (参数:内核名称uImage 运行平台arm 交叉编译工具链:arm-linux- 这些参数都是修改Makefile中的编译选项用的)
e.cp 将uImage拷贝到tftp目录
5.配置内核file sysytem为nfs system,步骤:
mak menuconfig ARCH=arm
General setup 中取消选中Initial RAM... 这一项 (这是从RAM中启动的,作为最后产品不再修改时才选这种方式,这是需要烧进开发板nandflash中的,如果选中,需要配置rootfs路径)
选中File System -->Network File System -->选中NFS server support,选中Root file system on NFS
保存退出menu,然后重新编译内核make uImage ARCH=arm CROSS_COMPILE=armlinux-
cp arch/arm/boot/uImage /home/FL2440/tftp
6.配置开发板环境变量
setenv
配置nfs
setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.0.101:/home/FL2440/rootfs ip=192.168.0.105
(linux主机ip) (开发板ip)
print 查看所配置的环境变量
saveenv
重启开发板
tftp c0008000 uImage 下载内核,bootm启动内核,这是还是会出现错误的,因为你的linux主机的nfs服务
没有配置或者根本没有开启
linux主机配置nfs:
a.配置nfs服务器
vim /etc/exports
添加: 如下一行
/home/FL2440/rootfs *(rw,sync,no_root_squash)
/home/FL2440/rootfs: 根文件系统目录
*: 允许访问共享目录的主机IP,一般配置为*,好一点,就算ip变了,也不需要重新配置,当然也可以指定网段如192.168.1.*
(rw,sync,no_root_squash): 访问权限,就这样写,无需修改
b.启动NFS服务器
/etc/init. d/nfs restart
7.如果上面的步骤都已经做完了,这是再启动开发板,tftp下载内核,bootm启动内核,应该能够正常进入开发板内核,能够看到rootfs目录文件,如果还是不行,那一般是nfs出了问题,所以再次检测linux主机和开发板的配置是否正确,正常情况下都是可以的!
8.设置开机自动加载内核和挂载根文件系统
开机进入uboot命令模式
设置自 动下载内 核到内 存后启动
setenv bootcmd tftp c0008000 uImage \; bootm c0008000
重启开发板即可
注意:开发板环境搭建是一个非常关键的过程,对于新手,这个过程中会遇到很多问题,关键是要认真做好这个环境搭建中的每一步,按部就班,不能投机取巧,静下心一步步解决问题!
相关文章推荐
- jQuery EasyUI数据表格之一
- after command failed: Directory not empty
- Android framework 框架 博客链接
- NIC - eno - enp - eth - Why are eno1 and eno2 in this order?
- jQuery EasyUI数据表格之一
- jQuery EasyUI数据表格之一
- 创业的第二百一十九天
- gulp的入门浅析
- StringBuffer的用法
- create语法:用SQL创建新表(前篇)
- 指针小解
- 用双队列实现栈和用双栈实现队列
- Unity 3D 导出Android Eclipse项目
- git merge –squash介绍
- wifi简要分析
- 前端漏洞
- 学习笔记:A*算法
- Qt OpenCV 图像显示转换
- iOS 中如何判断当前是2G/3G/4G/5G/WiFi
- Android NFC 开发 博客链接