从事linux 下c开发,要学哪些知识?推荐一下每个学习阶段的书籍,越详细越好。
职位:嵌入式linuxc软件工程师不一定是C开发,推荐一些嵌入式linux职位,再帮忙推荐一些学习书籍...
职位:嵌入式linux c软件工程师
不一定是C开发,推荐一些嵌入式linux职位,再帮忙推荐一些学习书籍 展开
不一定是C开发,推荐一些嵌入式linux职位,再帮忙推荐一些学习书籍 展开
展开全部
想要把C开发学好,最有效的方法,是从用linux系统开始,安装linux或者linux虚拟机,边用边学。这里推荐一本极好的书《鸟哥liunx私房菜》,通俗易懂,真的很不错!
然后就是C开发,分为两大块:底层与应用!
C开发相对服务器管理较为深奥的,需要长时间的积累,还要了解硬件知识,操作系统的基本原理,Makefile语法等。建议从驱动程序入手,因为驱动程序是linux内核中模块化比较强的部分,相对易于理解,而且链接软件与硬件,能够从整体来学习。
这方面有很多经典书籍,其中入门比较好的有:
《嵌入式Linux应用开发完全手册》 韦东山著
内核与驱动编程类: 《linux设备驱动开发详解》 宋宝华著
《linux内核设计与实现》 Robert Love著 (学内核最好读物)
linux应用编程类: 《Unix环境高级编程》 (被誉为“圣经”)
《linux程序设计》
建议先看应用编程类,因为不涉及底层的内容,相对容易理解。等到这几本书消化的差不多了,就开始看经典之作《linux设备驱动程序》和《深入理解linux内核了》,这两本书非常权威,我也都看过,觉得讲的确实比其他书籍更细节,更准确。
这些基本可以说是最好的学习linux的书籍,只要循序渐进的看书,实践,一定会有效果的。
然后就是C开发,分为两大块:底层与应用!
C开发相对服务器管理较为深奥的,需要长时间的积累,还要了解硬件知识,操作系统的基本原理,Makefile语法等。建议从驱动程序入手,因为驱动程序是linux内核中模块化比较强的部分,相对易于理解,而且链接软件与硬件,能够从整体来学习。
这方面有很多经典书籍,其中入门比较好的有:
《嵌入式Linux应用开发完全手册》 韦东山著
内核与驱动编程类: 《linux设备驱动开发详解》 宋宝华著
《linux内核设计与实现》 Robert Love著 (学内核最好读物)
linux应用编程类: 《Unix环境高级编程》 (被誉为“圣经”)
《linux程序设计》
建议先看应用编程类,因为不涉及底层的内容,相对容易理解。等到这几本书消化的差不多了,就开始看经典之作《linux设备驱动程序》和《深入理解linux内核了》,这两本书非常权威,我也都看过,觉得讲的确实比其他书籍更细节,更准确。
这些基本可以说是最好的学习linux的书籍,只要循序渐进的看书,实践,一定会有效果的。
展开全部
应用开发工程师 驱动工程师 内核工程师 硬件工程师 测试工程师 采购工程师 产品质量工程师......
c程序设计(K&R)、vim&emacs、 shell编程、Linux程序设计、操作系统原理 、体系结构 、编译原理 、链接与加载、 汇编语言、 arm体系结构、 unix高级环境编程、 C++ prime、 thinking in C++、 thinking in java、离散数学、概率论、算法导论、unix网络编程卷2、 tcp/ip 协议、 LKD 、ULK 、LDD、 SUS 、情景分析 、深入理解linux内核架构、网际协议卷1-2-3、模拟电路、数字电路、信号与接口、C51单片机、contex-A8 处理器、linux kernel in nutshoot、嵌入式系统构建、Makefile、GNU autotools工具链、GCC编译器、Libc、Crosstool、Busybox、bootloader、Cache、Buffer、MMU、DMA、BUS Clock、interrupt(UART、IIC、SPI、PCI、USB、LCD、DDR、SDIO、PHY...)控制器以及规范、DSP
c程序设计(K&R)、vim&emacs、 shell编程、Linux程序设计、操作系统原理 、体系结构 、编译原理 、链接与加载、 汇编语言、 arm体系结构、 unix高级环境编程、 C++ prime、 thinking in C++、 thinking in java、离散数学、概率论、算法导论、unix网络编程卷2、 tcp/ip 协议、 LKD 、ULK 、LDD、 SUS 、情景分析 、深入理解linux内核架构、网际协议卷1-2-3、模拟电路、数字电路、信号与接口、C51单片机、contex-A8 处理器、linux kernel in nutshoot、嵌入式系统构建、Makefile、GNU autotools工具链、GCC编译器、Libc、Crosstool、Busybox、bootloader、Cache、Buffer、MMU、DMA、BUS Clock、interrupt(UART、IIC、SPI、PCI、USB、LCD、DDR、SDIO、PHY...)控制器以及规范、DSP
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我今年刚毕业,现在从事linux C开发,我给你说下我们公司的情况吧!
大概可以分两种,应用开发和底层开发。
应用的话和Linux相关的就是你编程时经常用到的系统函数,再就是很多协议的实现已经有了基于linux的开源代码,然后就和linux没多少关系了,当然肯定要求你对Linux系统一些基本理论要有了解。更多的是业务上的了,跟各个公司所处的行业相关,需要了解跟这个行业相关的一些协议了。
如果做底层开发,就和Linux有很大关系了。和系统启动器(REDBOOT/UBOOT)、内核、文件系统、驱动这几方面都有关系。大一点的公司分工明确,做内核就是内核,做驱动就是驱动,但小公司往往要求员工要多会一些东西。而且牛叉的架构师必须对各个方面都有了解。
所以单单应用开发可以看下《linux程序设计》《UNIX环境高级编程》《UNIX网络编程》。
如果是底层的话,可以先看《嵌入式Linux应用开发完全手册》入门,入门后我也不知道该怎么学了。
希望能帮到你,我有《嵌入式Linux应用开发完全手册》的PDF,luoops@sina.cn如果需要email我!
大概可以分两种,应用开发和底层开发。
应用的话和Linux相关的就是你编程时经常用到的系统函数,再就是很多协议的实现已经有了基于linux的开源代码,然后就和linux没多少关系了,当然肯定要求你对Linux系统一些基本理论要有了解。更多的是业务上的了,跟各个公司所处的行业相关,需要了解跟这个行业相关的一些协议了。
如果做底层开发,就和Linux有很大关系了。和系统启动器(REDBOOT/UBOOT)、内核、文件系统、驱动这几方面都有关系。大一点的公司分工明确,做内核就是内核,做驱动就是驱动,但小公司往往要求员工要多会一些东西。而且牛叉的架构师必须对各个方面都有了解。
所以单单应用开发可以看下《linux程序设计》《UNIX环境高级编程》《UNIX网络编程》。
如果是底层的话,可以先看《嵌入式Linux应用开发完全手册》入门,入门后我也不知道该怎么学了。
希望能帮到你,我有《嵌入式Linux应用开发完全手册》的PDF,luoops@sina.cn如果需要email我!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
推荐几本关于Linux和arm的书:
※※S3C2410完全开发流程,Linux系统移植,makefile-中文教程,Linux设备驱动程序第三版,Linux-c函数库参考手册。
※※开发所涉及到的基础课程
Uart实验,SPI实验等一些总线实验。涉及:接口技术(计算机组成)
ADC实验,涉及:模拟电路,数字电路。
网络实验:涉及:计算机网络,操作系统原理。
RTOS实验: 涉及:操作系统原理。
中断实验:涉及:接口技术(计算机组成)
LED按键实验 涉及:接口技术,数字电路。
对于C语言,数据结构,汇编语言等课程却是各个实验都会涉及的。
※※S3C2410完全开发流程,Linux系统移植,makefile-中文教程,Linux设备驱动程序第三版,Linux-c函数库参考手册。
※※开发所涉及到的基础课程
Uart实验,SPI实验等一些总线实验。涉及:接口技术(计算机组成)
ADC实验,涉及:模拟电路,数字电路。
网络实验:涉及:计算机网络,操作系统原理。
RTOS实验: 涉及:操作系统原理。
中断实验:涉及:接口技术(计算机组成)
LED按键实验 涉及:接口技术,数字电路。
对于C语言,数据结构,汇编语言等课程却是各个实验都会涉及的。
参考资料: 西 嵌 教 育
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询