在文章嵌入式软件开发之面试总结和嵌入式软/硬件工程师学习指南 中都提到了嵌入式软件开发中的Linux应用编程。想从事或者已经从事嵌入式Linux软件开发工作必须掌握Linux应用编程,因此可能会有以下几个问题:(1)什么是Linux应用编程?(2)为什么要学习Linux应用编程?(3)需要具备哪些条件才能学习?(4)要掌握Linux应用编程哪些内容?
(1)什么是Linux应用编程?
答:所谓Linux应用编程就是基于linux系统去做应用编程(相对于底层驱动开发),本质就是通过调用linux系统所提供的API接口来实现应用层需要完成的任务。Linux是一套免费使用且类Unix的操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
(2)为什么要学习Linux应用编程?
答:因为目前 会上的很多嵌入式产品比如:消费电子类(手机、平板电脑等)、物联 (智能家居、智慧城市等)、工业控制(各种智能测量仪表、数控装置等)、军用(各种雷达、电子对抗设备等)。就是基于嵌入式linux操作系统来工作的。通常嵌入式产品的研发过程为先使得让带有Linux操作系统的硬件上运行起来,这设计到系统移植(uboot移植、内核移植和根文件系统的制作)和驱动开发,这些任务是属于嵌入式驱动工程师或者是嵌入式Linux驱动工程师来完成的;然后基于Linux操作系统来开发应用程序实现产品特定的功能,比如当用户按下按键时灯亮,出现异常情况时蜂鸣器响进行 警灯同时打开视频监控等。这就是嵌入式软件开发工程师或者嵌入式linux应用开发工程师要完成的任务。当然了,也包含个人的兴趣向从事嵌入式软件开发这个行业。
(3)需要具备哪些条件才能学习?
1)C语言是必须要掌握的 :因为嵌入式应用软件开发中用的最多的就是C语言。C语言虽然不是面向对象的语言,但是Linux内核时面向对象的,这就时C语言的厉害之处。所以学好C语言很重要。当然了,具备其它语言比如汇编语言、以及其他面向对象的语言更好。(可以参考我写的文章:嵌入式Linux开发《C语言专题》)这个专题目前还没有更新完,后续会持续更新。
嵌入式Linux开发之《C语言专题概述》
嵌入式Linux开发《C语言专题(一:不一样的hello world)》
嵌入式Linux开发《C语言专题(二:有趣的基本数据类型)》
嵌入式Linux开发《C语言专题(三:运算符及优先级(1))》
嵌入式Linux开发《C语言专题(三:运算符及优先级(2))》
嵌入式Linux开发《C语言专题(三:总结运算符及优先级(3))》
嵌入式Linux开发《C语言专题(四:程序结构之顺序结构(1))》
嵌入式Linux开发《C语言专题(四:程序结构之选择结构(2))》
嵌入式Linux开发《C语言专题(四:程序结构之循环结构(3))》
…
2)搭建Linux开发环境:在windows中安装vmware虚拟机,然后在虚拟机中装linux发行版操作系统(比如常见的ubuntu、fedora、centos等);
Linux开发发环境ubuntu
3)会使用常用的Liunx命令:也就是在所搭建的linux开发环境中来使用相应的Linux命令。因为linux的GUI没有windows中的好,所以要熟悉操作这些命令。这些常用的命令就如同自己的手一样,没有的话在Linux应用编程开发中将寸步难行。可以参考我写的文章
嵌入式软件开发之《Linux命令专题(一)》
嵌入式软件开发之《Linux命令专题(二)》
嵌入式软件开发之《Linux命令专题(三)》
嵌入式软件开发之《Linux命令专题(四)》
…
和对应的视频
嵌入式软件开发Linux命令(一)
嵌入式软件开发Linux命令(二)
嵌入式软件开发Linux命令(三)
…
这个专题目前还没有更新完,后续会持续更新。
对于这些命令,我的建议是每天敲一会,有印象就可以,时间久了,熟能生巧,自然而然就记住了。凡事过犹不及,需要把握一个度,不要长时间的练习。
(4)要掌握Linux应用编程哪些内容?
文件IO操作、文件和目录、进程、进程间通信方式、信 、高级IO 、线程 、线程间同步互斥操作
我打算从以上几个方面对《Linux应用编程专题》进行讲解。前期不需要开发板直接在ubuntu系统中执行代码,后期可能用到开发板。按照以往的顺序先文章再视频。
更多精彩内容可以关注此头条 :嵌入式软硬件开发 喜欢的话大家可以“评论”,“转发”、“点赞”或者“收藏”,感谢大家。相互交流,共同成长。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!