交叉编译环境的建立
● 建立samba服务器,实现windows 和linux下文件的交互建立目的:用户习惯在windows 下工作,可以先在windows 下先完成程序的编写,调试,运行,再移植到linux 下 。具体建立:先说一种linux 下访问windows 文件的简单的办法:在VMware下选“编辑虚拟机设置”----:“选项”---“共享文件夹”窗口右侧选上l“linux”—版本选‘
● 建立samba服务器,实现windows 和linux下文件的交互
建立目的:用户习惯在windows 下工作,可以先在windows 下先完成程序的编写,调试,运行,再移植到linux 下 。
具体建立:
先说一种linux 下访问windows 文件的简单的办法:
在VMware下选“编辑虚拟机设置”----:“选项”---“共享文件夹”
窗口右侧选上l“linux”—版本选‘“red hat linux”,在“工作目录”下选择要交互的文件
---确定;这样在linux 下可简单实现linux 与windows的交互;linux 下访问该共享文件,可键入命令:# cd /mnt/hgfs/filename 其中filename 是你共享的文件名
下面建立samba 服务器:
1 打开虚拟机的 主菜单——系统设置-——服务器设置——服务,打开服务配置窗口,选中smb选项;
2 打开虚拟机的 主菜单——系统设置-——服务器设置——Samba服务器,打开 Samba服务器配置 窗口,选择“增加”选项 把要linux下要交互的文件添加进来,比如说/home/su, 在“首选项”里设置可访问的用户,权限,口令等;
3 打开终端,输入命令 sutup ,选则“Firewall configuration”,选中“No Firewall”;
4 在终端下输入ifconfig eth0 ,记下虚拟机的ip地址,也可通过ifconfig eth0 192.168.*.*,手动设置ip;
5 终端下键入命令重启smb服务。
# service smb restart ;
6 在windows 下 运行 //192.168.220.* ,即可访问共享的文件;
注意:虚拟机与windows 的ip地址不要设置成同样。Windows 的防火墙可能存在影响。
● 建立 nfs 服务器 ,实现 linux 与 目标板的互联
建立的目的: 由于目标机的cpu ,内存等方面比较弱,需要在linux 下先编译好程序,之后直接移植到目标机上运行,所以两者需要建立连接,连接好之后也可实现对目标机的远程调试。
具体建立;
1 准备好烧好系统的目标机,用网线把目标机与pc机连接好
2 打开虚拟机的 主菜单——系统设置-——服务器设置——服务,打开服务配置窗口,选中nfs选项;
3 打开虚拟机的 主菜单——系统设置-——服务器设置——nfs服务器,打开 “nfs服务器配置” 窗口,选择“增加”选项 打开“添加nfs共享”窗口,在“基本”选项的“目录”中添加待挂载的目录文件,“主机”可设成访问者的ip,或是*号,允许所有人访问,再设“基本权限”选项成“读/写”;“常规选项”默认设置;“用户访问”选中“把远程跟用户当作本地根用户”;确定 退出;
4 用 setup 命令打开防火墙设置,关闭防火墙;
5 linux虚拟机终端下键入命令# service nfs restart ;
6 pc机安装 SecureCRT 软件,借助该软件以root身份登陆目标机,键入命令
mount –o nolock (要访问机)ip:虚拟机上挂载的目录 要挂在目标机的目录,例
mount –o nolock 192.168.220.93:/ /mnt/yaffs/tmp 这样就实现互访问
7 卸载上面6的挂载 命令 umount /mnt/yaffs/tmp
技巧:终端下 输入命令 setup ,打开 system service ,选上 smb 、nfs ,保存退出,这样每次系统启动都会自动加载这两项功能。
● 烧写arm 机 系统
方法一:
用并口和串口线完成传输:
1 .把并口线插到pc机的并口,并把并口与JTAG相连,JTAG与开发板的14针JTAT口相连;同样把串口线与pc机连接
2 准备vivi 镜像的bootloader,kernel 镜像,root 文件,giveIO,secureSRT软件,sjf.exe控制烧录vivi 的软件
3 把整个GIVEIO文件拷贝到C:/WINDOWS下,并把GIVEIO.SYS拷贝到C:/WINDOWS/SYSTEM32/DRIVER下,安装好驱动:
1).把并口线插到pc机的并口,并把并口与JTAG相连,JTAG与开发板的14针JTAT口相连,打开2410-S.
2.)把整个GIVEIO目录拷贝到C:/WINDOWS下,并把该目录下的giveio.sys文件拷贝到c:/windows/system32/drivers下。
3.)在控制面板里选添加硬件>
下一步>选-是我已经连接了此硬件>
下一步>选中-添加新的硬件设备>
下一步>选中安装我手动从列表选择的硬件>
下一步>选择-显示所有设备>
选择-从磁盘安装-浏览,指定驱动为C:/WINDOWS/GIVEIO/giveio.inf文件,点击确定,安装好驱动
4 打开目标机电源,pc机运行sjf.exe ,选择“并口设置”设置并口地址,地址值可在pc机的设备管理器中的 端口--PCI ECP PARALLEL PORT(LPT3) 的“资源”项中的输入/输出范围查到,输入开始地址
“打开文件”-----文件路径输入:vivi
5 选择“烧写k9s1208”,检测 Flash 芯片,检测文件是否可用,可用,烧入vivi 程序到芯片。起始地址 0;
6 运行secureSRT软件,进行串口通讯,新建连接,协议:serial ,端口:com3(4),波特率:115200,数据位:8,奇偶校验:无,停止位:1,数据流控制:无
7 通过串口下载ZImage(kernel镜像)和根文件系统(root文件):重启目标机,可看到secureSRT软件窗口显示一大堆文字,按下空格键,进到vivi 命令,键入命令 load flash kernel X ,选中kernel 镜像文件ZImage , 确认
8通过串口下载根文件系统(root文件):vivi 命令下,键入命令 load flash root X ,选中root 镜像文件, 确认
9 重启目标机,完成。
10 格式化系统:进到vivi
输入命令:vivi> bon part 0
方法二:
用网络完成烧写:
此方法烧写有个前提:arm板上存在一个最小的可运行的系统。因此,此方法不适合初次烧写系统。
1、 准备好vivi、kernel、根文件系统root.cramfs。
2、 先按上面建立的方法架设好NFS服务器。
3、 借助SecureCRT进到arm机,把linux机器中的vivi、kernel、根文件系统root.cramfs等3个文件拷到/mnt/yaffs分区。
4、使用nfs将 imagewrite可执行程序下载到 /mnt/yaffs分区中。其中:
imagewrite.c 是vivi 提供的一个工具,把附件的.c文件放到vivi源码下的util目录下,覆盖掉原来的即可。imagewrite是单独编译的,可以直接使用:
# arm-linux-gcc -Wall -O2 -o imagewrite imagewrite.c
5、运行以下命令开始按vivi、kernel、rootfs.cramfs的顺序烧写系统。
# imagewrite /dev/mtd/0 [filenames] :偏移量
其中:
根据我们目前的vivi设置,操作应该为:
1、对于vivi
imagewrite /dev/mtd/0 vivi:0
2、对于linux内核
imagewrite /dev/mtd/0 zImage:192K
3、对于rootfs
imagewrite /dev/mtd/0 root.cramfs:1216k
在vivi下运行命令,可查看到具体的偏移量:
vivi> part show
mtdpart info. (5 partitions)
name offset size flag
------------------------------------------------
vivi : 0x00000000 0x00020000 0 128k
param : 0x00020000 0x00010000 0 64k
kernel : 0x00030000 0x00100000 0 1M
root : 0x00130000 0x01400000 4 20M
usr : 0x01530000 0x02acc000 8 42M+816k
6、重启arm 机即可。
更多推荐
所有评论(0)