更多课程 选择中心

嵌入式培训
达内IT学院

400-111-8989

大神的嵌入式Linux编程之旅,看完我惊讶了!

  • 发布:嵌入式培训
  • 来源:嵌入式ARM
  • 时间:2018-04-10 15:11

你有初次探险未知领域的经历吗?跟那些转行转业的人一样,线下营销转到线上推广,销售转为UI设计大神,从编程小白到独立进行嵌入式Linux编程,每一次探索都让人兴奋,听我的嵌入式Linux编程之旅,体味其中滋味。

嵌入式Linux编程背景

很早之前我就想深入学习Linux,但时间有限,并且Linux门槛挺高,不是很容易上手。最近由于隧道项目中用到嵌入式Linux(Arm CPU上的Linux),并且提供硬件的单位针对Linux的编程收费很高,并且时间很长,所以犹豫再三,决定开始深入学习Linux,并在学习过程中完成预定的任务。

没有想到,在嵌入式Linux上运行一个最简单的“Hello Liunx”程序就费了很大的周折,不过功夫不负有心人,经过几天的艰难跋涉,总算成功了。

开启嵌入式Linux编程之旅

要想在嵌入式Linux运行程序,需要有下面几个问题解决:

1、 需要一个基于Arm的gcc交叉编译器;

2、 需要Windows与VPC上的Linux进行交互,以便交换文件;

3、 嵌入式Linux系统需要和VPC上的Linux系统或Windows系统进行交互,以便交互文件;

嵌入式培训-嵌入式Linux编程

第一个问题,相对比较容易解决,直接和中间厂商要来了cross-2.95.3.tar.bz2 安装包,这是一款基于Arm平台上的交叉编辑器。直接解压到任意目录即可。

第二个问题,有些棘手,查了若干资料,终于找到可行的办法。

1、 在Windows XP建一个共享文件夹,如“share”

2、 虚拟机运行起来后,在Linux命令行方式输入:smbmount //ip地址或计算机名/共享文件夹名 挂载点

3、 Ok,连接成功。

第三个问题,原想着很容易,却没有想到是最难的,中间厂商的办法如下:

采用目标板挂载NFS目录的方式进行开发

主机:NFS服务器

1、 修改配置文件etc/exports,如

/nfs/rootfs 192.168.0.X(rw,sync,no_root_squash) //具体含义略

2、 配置其为所有用户可读,chmod 644 /etc/exports

3、 让NFS服务器重新载入 etc/exports, /etc/init.d/nfs reload

4、 检查防火墙,不要屏蔽相应端口

目标板:内核需要支持NFS

1、Enable:

File Systems à

Network File Systems à

NFS file system support

Provide NFSv3 client support

配置完后,重新编译内核

2、目标板启动后,mount –t nfs 192.168.0.Y:/nfs/rootfs/mnt –o nolock

按上面一步步做了,目标板提示RPC什么错误之类,上网查资料,用Servers指令开启服务,很可惜,目标板不支持Servers指令。

最后发现目标板支持FTP服务器,总数找到一个救命稻草,不过,用户密码未知,问了中间厂商,打了N次电话,告诉可以在目标板上添加新用户,然后再登录FTP。

但,书本上教的useradd竟然没有,后来查看目标板bin上的文件,原来是adduser命令,添加上用户,果然可以登录了。不过linux上的FTP客户端不好使,Windows自带的也不行,只好下了个FlashFXP软件,还可以。

嵌入式培训—嵌入式Linux编程FlashFXP软件

在虚拟机的Liunx系统编写如下程序:

#include

int main(int argc,char **argv)

{

printf("hello linux/n");

}

编写Makefile文件

all:tt

tt: test.c

/usr/local/arm/2.95.3/bin/arm-linux-gcc -o tt test.c

clean:

-rm -rf tt

在命令行运行Make指令,生成tt文件

把tt文件通过FTP客户端拷贝到目标板上。

开始直接输入[root@()]$tt 没有反应,查资料,发现原来要这样:

[root@()]$ ./tt ,竟然有错误提示,提示内容如下:-sh:./tt:Permission denied

上网查资料说是权限不够,需要运行如下指令:chmode 777 tt

运行后,竟然告诉我,没有这个命令,最后发现原来是 chmod(看来指令的名称都被中间厂商修改了)。

运行chmod 777 tt 后,在去运行 ./tt ^^#$^#$@&# OK ---成功了!

嵌入式培训-嵌入式Linux编程成功

感悟:嵌入式Linux编程之旅

linux的使用习惯与windows有很大的区别,linux联网需要激活网卡才能工作,运行文件需要 ./XXX格式,并且有权限的用户才能执行,类似的小问题,对一个linux菜鸟来说,真是一个又一个的拦路虎,不过到现在总算接近门槛了,对我来说,后面的路还很长,困难才刚刚开始 … … 

这是一个没有经过改编的故事——嵌入式Linux编程之旅,不知道你看完了是感觉道阻阻路险险,还是这对你来说本来So Easy?假如你对嵌入式ARM Linux等感兴趣,来达内嵌入式培训机构与志同道合的人一起进行嵌入式培训学习,秒变嵌入式大神!

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:对ARM嵌入式入门的建议
下一篇:嵌入式培训之嵌入式Linux一般开发流程

嵌入式工程师离不开的的IC设计软件

工程师用到的PCB设计软件你用过几个?

看嵌入式Linux设备驱动module_init 的神奇之处!

嵌入式干货分享之你不可不知的嵌入式领域中的各种文件系统

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省