在原始的板子上是没有操作系统的,如果能够在板子上装上操作系统就可以在板子上运行程序,以linux系统为例。
一,使用TFTP服务下载操作系统文件
想要在开发板上运行操作系统得先将所需要得操作系统映像文件等下载到开发板上才行。可以通过两种方式进行下载(串口通信和网络通信),因串口通信速度较慢(115200/10/8=14.4kb/s),所以选择网络通信下载方式。
I 操作系统文件下载步骤
1,在ubuntu的linux上确保TFTP服务正常运行使用以下命令查看
dpkg -s tftpd-hpa
如果出现以下结果表示已成功安装TFTP服务
如果出现找不到或错误的情况,使用以下命令进行下载安装TFTP服务:
sudo apt-get install tftp-hpa tftpd-hpa
安装成功后,在主目录下创建一个Mytftp的目录,用于之后的文件上传和下载。
在上一步创建的Mytftp文件终端使用pwd命令查看绝对路径后复制,使用以下命令对TFTP服务进行配置:
sudo vi /etc/default/tftp-hpa
打开文件后,将原来的路径删除,将复制的绝对路径粘贴到如下位置,并将黄色方框内内容修改,如下,保存并退出:
完成后使用如下命令重启TFTP服务:
sudo service tftpd-hpa restart
验证TFTP服务是否启用:
1:在创建的Mytftp文件目录下创建一个文件1.txt
2:使用ifconfig命令查看本机IP地址
3,在Mytftp目录之外的任意位置输入指令
tftp ip地址
如果出现如下结果代表成功
接着输入即可,输入q退出,查看当前目录下是否多出了一个1.txt,如果有代表成功:
get 1.txt
II 下载操作系统文件到开发板
在验证了TFTP服务可用之后就可以使用其传输文件到开发板上。
首先要先在虚拟机和开发板之间进行网络的配置
1,虚拟机网络的配置
点击虚拟机->设置->网络适配器,点击自定义后确定
添加新的网络配置
完成后点击添加,双击后启用该配置 ,虚拟机网络配置完成。
2 ,开发板网络配置
打开超级终端,输入pri查看配置信息
这里已经配置好了,设置网关的命令:
set gatewayip 192.168.9.1
网关地址需和虚拟机的网络地址相同,但主机地址为1
设置开发板IP的命令:
set ipaddr 192.168.9.4
开发板IP地址需和虚拟机地址在同一网段即可,即网络号相同,主机地址不同
设置服务器IP,即告知开发板应从哪个地址下载,即虚拟机的地址
设置服务器IP的命令:
set serverip 192.168.9.19
配置完成后,输入命令在终端保存新的配置
save
检测是否配置成功:
1,先将电脑的所有网络断开,使用网线将开发板和电脑连接。
2,在超级终端输入ping 命令,看看能不能和linux的网络连通
ping 192.168.9.19
显示连通即可。
3, 下载操作系统文件到开发板
步骤:
1,将需要下载的操作系统映像文件,根文件系统,目录树文件复制粘贴到之前创建的目录Mytftp目录下。
2,在超级终端分别输入以下命令,将以上三个文件下载到开发板中的内存中
tftp 41000000 uImage //内核的二进制镜像文件
tftp 42000000 ramdisk.img //根文件系统镜像
tftp 43000000 exynos4412-fs4412 //设备树
所有文件下载完成后,输入以下指令让CPU分别到对应地址上执行
bootm 41000000 43000000 42000000 //访问的顺序必须是 内核镜像地址->根文件系统地址->设备树地址
等待其执行完后即可进入操作系统。
4,实现自启动
在上述操作之后虽然完成了操作系统的移植,但是我们每次重新启动开发板后都需要自己重新输入命令下载操作系统文件后再输入命令启动,很很麻烦,所以就写一个cmd命令让开发板每次启动后都会自己执行命令来启动,就不需要手动启动。
我们知道开发板重启后上次下载的文件是不会被保存的,所以我们应该将操作系统文件下载到一个非易失性存储介质中,在开发板启动之后再将文件传输到内存中运行就可以实现自启动。
emmc存储器是开发板除了SD卡外的一个非易失性存储介质,所以我们在使用TFTP服务下载操作系统文件后还需将该文件再写入到emmc存储器中。分别使用以下命令。
movi write kernel 41000000 //将内核文件写入到emmc的内核区
movi write dtb 42000000 //将设备树文件写入到emmc中的dtb区
movi write rootfs 43000000 300000 //将根文件系统写入到emmc中的rootfs区
写入之后,操作系统的文件就永久的保存在emmc存储器中,在下次重启开发板时,将其写入到内存读取即可,使用cmd指令进行自动写入后输入save指令保存配置。
set bootcmd movi read kernel 41000000\;movi read dtb 42000000\;movi read rootfs 43000000 300000\;bootm 41000000 43000000 42000000
这样就可以在下次重启后能够自动进入操作系统了。
更多推荐
基于ARM的COTEX-A9系列开发板的系统移植
发布评论