龙空技术网

如何搭建嵌入式linux开发环境?

嵌入式Linux技术分享 613

前言:

现时我们对“ubuntu下载tftp”大体比较讲究,你们都想要了解一些“ubuntu下载tftp”的相关文章。那么小编也在网上网罗了一些关于“ubuntu下载tftp””的相关内容,希望各位老铁们能喜欢,大家一起来了解一下吧!

对于初学者,只需要一台安装有Linux操作系统(比如Ubuntu)的PC即可,或者在windows下安装一个虚拟机软件(Vmware),虚拟一个Linux系统的主机,但是我建议还是安装真机,这样会迫使你必须在Linux环境下做任何事情,能让你更快的熟悉Linux操作系统。

那么当我们进入进阶阶段的学习时,需要在硬件设备上跑程序的时候,那我们就需要继续搭建交叉开发环境了。交叉开发模式即编译和运行不在同一台主机上,在PC机上编辑、编译,在目标机(开发板或者产品)上运行程序。

在主机上开发完程序,通常使用nfs网络挂载或者tftp将目标代码通过网线下载到目标板进行验证,但是,像我们当前项目的驱动开发,驱动都是集成在内核中的,所以每次都是在Ubuntu上将整个内核代码进行编译,然后通过usb将整个内核镜像产物进行烧写。

gcc(GNU C Compiler),大名鼎鼎的GNU的C/C++/Obj-C编译器

gcc一般Linux系统自带,不用自己安装,下面简单说下gcc编译的过程,GCC的编译流程分为四个步骤:

预处理(Pre-Processing):gcc -E hello.c -o hello.i编译(Compiling):gcc -E hello.c -o hello.i汇编(Assembling):gcc -c hello.s -o hello.o链接(Linking):gcc hello.o -o hello

链接时有时候会加如下参数:

-I: 指定头文件的路径-L: 指定库的路径安装交叉编译工具链

当我们初学的时候仅仅在Linux主机下编译运行我们的程序,gcc就够了,但是如果交叉运行时,就必须安装交叉编译工具链,交叉编译工具链可以自己制作,但是我还是建议大家通过以下方式安装:

在~目录下创建一个文件夹下载交叉编译工具链gcc-4.6.4.tar.xz(根据你需要的版本下载)cp到toolchain目录下进行解压添加环境变量

修改配置文件/etc/bash.bashrc,在最后一行添加:

export PATH=$PATH:/home/linux/toolchain/gcc-4.6.4/bin/重启配置文件source /etc/bash.bashrc工具链测试arm-none-linux-gnueabi-gcc -v、

如果可以看到版本号,说明安装配置成功。

tftp服务器的安装及配置

tftp是用来下载远程文件的最简单网络协议,基于UDP来实现的,嵌入式linux的tftp开发环境包括两个方面:

一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot(bootloader的一种)本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。

修改文件(/etc/default/tftpd-hapa),开启tftp服务sudo vi /etc/default/tftpd-hpa

改为:

-l:以standalone/listen 模式启动TFTP服务,而不是从inetd启动 ,standalone/listen模式是一次启动,运行期间一直驻留在内存中,优点是反应快,缺点是损耗了一定的系统资源,通常用于对实时性要求较高的地方,inetd启动方式相反,只在外部发出连接请求时才调用tftp进程,不占用系统资源。

-c:可创建新文件,默认情况下,TFTP只允许覆盖原有文件,不能创建新文件。

-s:改变TFTP启动的根目录,加了-s之后,客户端端在使用TFTP时,不再需要输入指定的目录。

重启tftp服务器sudo service tftpd-hpa restart创建/tftpboot目录(在根目录下创建),并修改权限sudo mkdir tftpbootsudo chmod 777 tftpboot登录本机进行测试tftp localhost //登录tftp > get xxx //xxx为你想要从服务器(/tftpboot目录)下载的文件tftp > put xxx //xxx为你想要往服务器(/tftpboot目录)发送的文件tftp > q //q表示退出

如果采用烧写整个Linux kernel镜像的方法,通常使用usb将主机和目标板连接,然后根据不同的芯片厂商提供的烧写工具进行烧写,比如高通芯片使用Qfile工具进行烧写。

以上是老韩关于嵌入式Linux开发环境搭建的知识分享,欢迎大家再下方留言讨论!

标签: #ubuntu下载tftp