一、实验内容:
固化嵌入式 Linux 系统 && Linux 应用程序开发
二、实验目的:
(1). 学习配置 ubuntu 系统下 TFTP 服务器的配置
(2). 熟悉通过 TFTP 向实验箱传数据的过程
三、实验设备:
(1). 装有虚拟机 ubuntu 系统及编译环境
(2). 嵌入式实验箱一台
(3). 连接局域网的网线一条
四、实验步骤:
1、配置TFTP服务器
(1).导入老师所给的虚拟机镜像文件
(2).开机并 检查 tftp 是否已经安装
netstat -a | grep tftp
![](https://img.haomeiwen.com/i19702940/b0d379ded64c2759.png)
(3).启动 TFTP 服务,并开启Xinetd监听请求
sudo service tftpd-hpa restart
![](https://img.haomeiwen.com/i19702940/8972d28e8335bc0c.png)
sudo service xinetd restart
![](https://img.haomeiwen.com/i19702940/01689e7963bb80ef.png)
2、固化嵌入式 Linux 系统
2.1、固化前的准备工作
Android 系列实验平台出厂默认固化的是 Android-4.4 系统镜像,在进行出厂镜像固化之前,需要准备以下工作:
1) 准备一台电脑和一台 Android 系列实验平台;
2) 检查工具:电源适配器(12V/2A)、Mini USB 线;
3) 准备镜像文件(“出厂镜像-Linux”文件夹);
2.2、固化过程
1、按住实验平台的“ VOL-”按键,然后长按开机键,等到所有按键的LED灯全亮时松开按键,此时LCD上显示等待刷机的界面“waiting for update…”,并有进度条及提示说明;
2、正确连接Mini USB线(OTG接口)和电源(实验平台接口下面的蓝色 LED会亮);
第一次连接USB线到电脑时,系统会提示安装驱动,驱动文件为:“实验软件/android_usb_driver.exe”,按照提示安装即可,安装完后可以在设备管理器看到正确的驱动信息,如下图所示。
![](https://img.haomeiwen.com/i19702940/413328775ed196fb.png)
3、刷写Linux和Android系统。
Linux设置参数如下:
![](https://img.haomeiwen.com/i19702940/25be7528c5611dc2.png)
Android设置参数如下:
![](https://img.haomeiwen.com/i19702940/325d4a515855be3a.png)
这样整个这样整个出厂系统镜像即固化完毕,然后长按主板Power按键启动Linux系统,给Linux系列实验平台重新上电。
2.3、一个简单的程序
1、默认实验环境设置
![](https://img.haomeiwen.com/i19702940/e4ba6e0788b1e71b.png)
2、编译
1)设置工作环境:
$ PATH=/usr/local/src/s4418/arm-2009q3/bin:$PATH
$ mkdir -p /usr/local/src/s4418/project
2)部署实验源码,将12.1-helloworld文件夹拷贝到/usr/local/src/s4418/project 路径下;
3)编译并拷贝helloworld程序到tftp服务器目录(如,/opt/tftp):
$ cd /usr/local/src/s4418/project/12.1-helloworld
$ arm-none-linux-gnueabi-gcc -o helloworld helloworld.c
$ cp helloworld /opt/tftp
3、运行
1)正确设置ubuntu系统的网络,保证网络通信正常;断开主机网络,虚拟机“网络连接”配成桥接,如下:
![](https://img.haomeiwen.com/i19702940/c154b9bd7a6444d5.png)
2)准备好s4418实验平台,确保已经固化好Linux操作系统。
3)利用串口线连接主机(Windows系统)和实验平台UART端口,并在主机安装串口驱动程序。
4)利用网线连接主机和实验平台,主机断网。
确保交叉网线和交叉串口线已经连接好主机和实验平台。核对主机(虚拟机)网卡的ip地址和s4418实验平台的ip地址为同一个网段。本实验测试时,主机网卡的ip地址为192.168.0.205,s4418实验平台的ip地址为192.168.0.101,在终端上用“ifconfig eth0 192.168.0.101”命令设置ip地址。设置后的结果如下:
![](https://img.haomeiwen.com/i19702940/96c8b072f06e362d.png)
5)运行UartAssist串口终端,给实验平台加电,进入Linux系统,可以看到串口终端的启动打印信息。
6)系统启动完成后,在UartAssist下执行以下命令将helloworld下载到s4418 实验平台:
$ mkdir app
$ cd /home/app
$ tftp 192.168.0.205 -g -r helloworld
(192.168.0.205为虚拟机IP地址)
7)给helloworld 添加可执行权限:
$ chmod 777 helloworld
8)运行helloworld:
$ ./helloworld
运行结果如下图:
![](https://img.haomeiwen.com/i19702940/8e84424254297d1d.png)
实验结束。
网友评论