嵌入式linux c(c语言嵌入式编程)

大家好,今天小编来为大家解答嵌入式linux c这个问题,c语言嵌入式编程很多人还不知道,现在让我们一起来看看吧!

想做嵌入式linux平台上的c/c++开发,如何入手

准确的说,LINUX下C才是主要的开发语言,但是写应用程序还是要用面向对象的,尤其是图形界面的,不如QT和X和GTK等等。下面说的必须要求你C语言学的很好而且会使用LINUX的情况下。LINUX常用命令要熟悉。

要学LINUX下的C编程,先看一两本LINUX下C的书比较好,这个你自己选择,但是经典的书还是好一些,比如《LINUX程序设计》、《UNIX环境高级编程》,看这些的时候把书上的例子选择一些自己编译一下,哪怕是照着敲进去,事半功倍。

看完一本这样的书,你对LINUX系统编程的知识就足够了,这时候你可以开始阅读一些LINUX下的源代码来锻炼和提升能力了,LINUX下有很多开源的软件,你可以搜一下,应用程序也很多,但是最好的源代码还是LINUX内核。

推荐一本简单的内核书《linux内核完全剖析0.12》,这个讲的是0.12内核,代码量只有1万多行的内核,现在的2.6估计一千万,一辈子看不完。这个书讲了很多X86体系结构的知识,这时理解内核必备的,汇编你要能看懂。

能看懂内核代码了,就说明你至少不是初学者了,现在肯定能开发项目了,有了经验后,恭喜你,你就成为一名LINUX程序员了。

再由这些基础后,你就可以选择一些具体的开放方向了,比如底层一点,驱动,协议等、或者嵌入式应用等、或者是QT等。不过这就是后话了,呵呵

我自己的一些体会,希望能对你有用。

嵌入式和linux的关系

嵌入式要学哪些东西?今天我详细告诉你到底要学哪些技术!

1)学习 Linux系统安装、常用命令、应用程序安装。

2)学习 Linux下的 C编程、这本书必学《UNIX环境高级编程》、《UNIX网络编程》,Rechard Stevens写的,C高手大都学习过《C和指针》、《C缺陷与陷阱》、《高质量C/C++编程指南》、《C专家编程》、《The C programming Language》

3)程序员大都要学:数据结构,嵌入式程序员数据结构必学!

4)底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!

5)单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从 ARM入手,不太现实!

6)ARM体系结构,其中有汇编。

7)数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与入门吧。

8)ARM+ Linux应用程序开发(前提是要有开发板)

到此,你勉强算是在嵌入式Linux这个行业有了初步入门了吧,但遗憾的是这还远远不够,我们还得继续,因为这上嵌入式,我们得变成高手。

9)要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。

10)Linux下的汇编要学,这样你才能真正了解你写的程序是如何在一个特定的硬件上跑的。这是区别好手与菜鸟的不同之处之二。

11)TCP/IP协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。

12)有了这些东西,拿下 Linux驱动已经不再话下,需要你去学习 Linux内核源代码和Linux驱动程序设计,这是一个技术升华。

到此,你已经算是嵌入式Linux的中级人物了,继续往下:

13)音频、视频的解码译码技术你得学。

14)各种 IC,各种 bootloader你能够参与其开发设计。

可以去21ic电子技术论坛上交流一下,那里面有很多大牛。。。

linux c工程师和嵌入式软件工程师有什么区别

嵌入式开发一般都是C语言,C++或者汇编的,现在也有Java的,主要是在Android系统上。但是嵌入式开发的系统有好多种,比如说Linux、Windows CE、VxWorks、Android等等。而Linux C只是说在Linux系统上用C语言开发软件,并没有讲清楚是不是嵌入式C语言开发,因为Linux这个系统除了做嵌入式系统外,它也可以用作PC架构(还有好多其他的)电脑的操作系统。

个人认为,现在一般Linux C开发大部分公司都是指的是嵌入式Linux C开发。对于你的问题,Linux C工程师可以是一个完完全全的嵌入式软件工程师,如果他开发的系统环境是嵌入式Linux系统且使用C语言开发的话。但是嵌入式软件工程师就难说了,首先它没有限定开发环境所使用的操作系统(事实上,有些嵌入式环境并不具有操作系统)以及开发所用的语言。

总之,哥哥建议你选嵌入式软件工程师吧,它会让你学到很多操作系统底层的东西,甚至硬件相关的知识,这对你的成长有帮助。

阅读剩余
THE END