美文网首页
[嵌入式课程]Bootloader 和应用程序开发实验

[嵌入式课程]Bootloader 和应用程序开发实验

作者: Your7Maxx | 来源:发表于2021-05-13 13:37 被阅读0次

一、实验内容:

固化嵌入式 Linux 系统 && Linux 应用程序开发

二、实验目的:

(1). 学习配置 ubuntu 系统下 TFTP 服务器的配置
(2). 熟悉通过 TFTP 向实验箱传数据的过程

三、实验设备:

(1). 装有虚拟机 ubuntu 系统及编译环境
(2). 嵌入式实验箱一台
(3). 连接局域网的网线一条

四、实验步骤:

1、配置TFTP服务器

(1).导入老师所给的虚拟机镜像文件
(2).开机并 检查 tftp 是否已经安装

netstat -a | grep tftp
image.png

(3).启动 TFTP 服务,并开启Xinetd监听请求

 sudo service tftpd-hpa restart
image.png
sudo service xinetd restart
image.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”,按照提示安装即可,安装完后可以在设备管理器看到正确的驱动信息,如下图所示。


image.png

3、刷写Linux和Android系统。
Linux设置参数如下:


image.png
Android设置参数如下:
image.png
这样整个这样整个出厂系统镜像即固化完毕,然后长按主板Power按键启动Linux系统,给Linux系列实验平台重新上电。

2.3、一个简单的程序

1、默认实验环境设置

image.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系统的网络,保证网络通信正常;断开主机网络,虚拟机“网络连接”配成桥接,如下:

image.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地址。设置后的结果如下:
image.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
运行结果如下图:
image.png

实验结束。

相关文章

  • [嵌入式课程]Bootloader 和应用程序开发实验

    一、实验内容: 固化嵌入式 Linux 系统 && Linux 应用程序开发 二、实验目的: (1). 学习配置 ...

  • 嵌入式Linux开发

    嵌入式Linux开发步骤: 1. 主机上编写Bootloader,烧入单板; Bootloader应具有串口传输,...

  • bootloader和monitor

    bootloader和monitor 嵌入式系统世界已经有各种各样的Bootloader,种类划分也有多种方式。除...

  • bootloader初识

    bootloader初识 作为一个嵌入式工程师,如果不能写bootloader程序,那就不能成为一个真正的嵌入式工...

  • JAVA开发学习的七大步骤---java开发学习总结

    Java开发可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。以下是万和IT教育搜索整理的关...

  • SpringBoot_11 开发Web应用程序

    开发Web应用程序 Spring Boot非常适合Web应用程序开发。您可以使用嵌入式Tomcat,Jetty,U...

  • Java - 初认知

    Java是一门面向对象编程语言,Java可以用来开发桌面应用程序、web应用程序、分布式系统和嵌入式系统应用程序等...

  • 开始的开始

    突然焦灼的契机,是嵌入式课程的实验。安卓开发。我一直都知道,像PS,AS这些开发软件的美妙之处。恍然发觉,荒芜了三...

  • 3. Spring Boot SQL Databases

    说明 嵌入式数据库使用内存中的嵌入式数据库开发应用程序通常很方便。显然,内存数据库不提供持久存储。您需要在应用程序...

  • 交叉编译环境搭建

    1.1实验目的 n掌握嵌入式开发环境、交叉编译器的搭建、安装和配置方法 1.2实验内容 n交叉编译器环境搭建 1....

网友评论

      本文标题:[嵌入式课程]Bootloader 和应用程序开发实验

      本文链接:https://www.haomeiwen.com/subject/xpnsrltx.html