嵌入式软件设计中文件传输环境的构建

更新时间:2019-10-02 来源:工程论文 点击:

【www.rjdtv.com--工程论文】

摘要

  0引言

  目前,工业控制技术有了长足的发展,物联网应用技术也在不断进步与创新,各种各样的智能终端也正快步走进我们的生活,为我们提供各种便利的服务。这些技术或应用都有一个共同点就是系统的应用软件与系统的硬件一体化,要求软件硬件具有可裁剪、软件代码小、响应速度快等特点,它们也有一个热门的名称叫“嵌入式应用系统”.这样的系统特别适合应用于实时控制、监视、监测和各种智能服务等领域,有着广阔的发展应用前景,嵌入式系统的开发也就变得十分热门。嵌入式开发涵盖的技术非常广,本文从嵌入式软件开发中文件传输环境搭建的角度,讨论如何针对不同的开发环境选择搭建适合于自己的文件传输系统。

  1嵌入式软件开发介绍

  1.1 嵌入式系统的组成

  嵌入式系统开发主要由三大部分组成:系统总体开发、嵌入式硬件开发和嵌入式软件开发。由于嵌入式系统与硬件依赖非常紧密,所以在总体开发中涉及硬件的选型(如处理器)、嵌入式操作系统(如 WindowsCE、Linux)和开发工具(如 ADS、IAR)等的选择。本文主要讨论与嵌入式软件相关的内容,因此对硬件开发不作详细说明。嵌入式系统的软件开发与通常软件开发在软件实现部分有很大的差别,主要体现在编译和调试上。

  1.2 嵌入式系统的编译

  嵌入式软件开发所采用的编译是交叉编译,即在一个平台上生成可以在另一个平台上执行的代码。由于不同的体系结构有不同的指令系统,交叉编译就是要把相同的程序代码编译成不同 CPU 可以识别的二进制代码。[1]嵌入式系统的的交叉编译环境如图 1 所示。一般把编译程序的主机称为宿主机(Host),把运行程序的嵌入式主机称为目标机(Target)。[2]资源丰富的 PC 机有着方便的集成开发环境和调试工具,开发应用相对高效,而嵌入式系统的系统资源比较紧缺,无法在其上运行相关的编译工具,所以嵌入式系统的开发需要借助于宿主机编译出在目标机上可执行的代码。

  1.3 嵌入式系统的调试

  调试也是软件开发不可或缺的一个环节。在常见软件开发中,调试器与被调试的程序往往运行在同一台机器上,通过操作系统的调试接口来控制被调试的进程。而在嵌入式软件开发中,采用的是交叉调试,即调试器运行在宿主机上,但被调试的程序运行在基于特定平台的目标机上,调试器与被调试进程通过串口或网络进行通信。

  不管是交叉编译还是交叉调试,都需要把文件从宿主机传送到目标机。如果考虑团队合作开发、开发环境不完全一致等因素,开发者经常也需要把文件在不同系统之间或通过网络进行传输。所以在嵌入式软件开发中搭建一个良好的文件传输环境是提高嵌入式软件开发效率的一个关键因素。

  2文件传输环境的搭建

  在嵌入式软件开发中,必须结合开发的具体项目和具体开发环境来选择搭建一个好的文件传输系统。虽然各类传输技术可以在不同平台(Windows、Linux 等) 上实现,但在嵌入式软件开发中更适合搭建基于Linux 的文件传输系统,下面就嵌入式 Linux 环境下文件传输技术方法进行讨论。

  2.1 FTP(文件传输协议)服务设计与实现FTP 是网络传输文件的一种常见服务。在嵌入式 Linux 中,vsftpd 是一款在 Linux 发行版中最受推崇的FTP 服务器程序,是一款完全免费的软件。它的最大的特点是安全性非常高,但嵌入式系统一般是在局域网内进行合作开发,所以在搭建为嵌入式开发服务的 FTP 时一般不需要太多地考虑文件传输的安全性,搭建一个用户登录访问的 FTP 服务器就可以。下文是 Ubuntu12.04 下实现用户登录访问 FTP 配置文件(/etc/vs-ftpd.conf)的主要内容:

  2.3 NFS(网络文件系统)服务设计与实现

  嵌入式系统开发时,还可以使用 NFS 实现宿主机和开发板共享文件,这样也可以免去文件上传或下载的麻烦,直接把存放文件的目录挂载在目标机上或其他系统中,用户可以像访问本地文件一样访问远端系统上的文件。下文是 Ubuntu12.04 下实现 NFS 配置文件(/etc/exports)的主要内容:

  2.5 使用串口软件传输文件

  在一些应急场合,没能很好地配置好上述服务的情况下,如果需要传输一些文件到目标板,可以选择使用串口软件传输文件。用串口电缆把宿主机和目标机连好,然后运行串口软件,最常用的是 Windows 自带的超级终端。超级终端程序通常位于“开始”→“程序”→“附件”→“通讯”中,运行超级终端一般要求用户为新的连接取一个名字,然后选择所使用的串口,最重要的一步是设置串口属性,一般针对开发板设置的属性如下图 2 所示。连接上目标板后,使用超级终端上的“传送”→“传送文件”菜单实现文件传输。

  在 ubuntu 操作系统下,需要使用 minicom 来连接开发板,本文不再赘述。

  3结束语

  本文介绍了在嵌入式软件开发中搭建文件传输环境的多种技术方法,但在实际的开发过程中,并不一定要全部应用这些技术,可以根据具体的项目开发环境、个人的习惯等来决定使用哪一种或哪几种技术手段。同时,由于嵌入式系统的资源有限,在方便团队开发调试项目的前提下,要尽可能少地启用这些服务。

  参考文献:

  [1]杜力。浅析基于ARM9的嵌入式软件开发[J].煤炭技术,2013(3):201-203.

  [2]张欢庆,高丽,宋承祥。基于ARM的嵌入式Linux交叉编译环境的研究与实现[J].计算机与数字工程,2012(2):151-153.

本文来源:http://www.rjdtv.com/gongchenglunwen/1465.html