linux开发要掌握哪些技能吗?

 linux开发要掌握哪些技能?

一、C语言

C语言是嵌入式领域主要的编程语言。重点理解C语言的基础编程以及高级编程知识,包括:基本数据类型,数组,指针,结构体,链表,文件操作,队列,栈等。

二,linux基础

详细了解linux下的目录结构,基本命令,编辑器VI,编译器GCC,调试器GDB和使项目管理工具,,外壳Makefile脚本编写等知识,以及嵌入式开发环境的搭建。

三,linux系统编程

重点学习标准I/O库,linux多任务编程中的多进程和多线程,以及进程间通信(管、FIFO、消息队列,共享内存,信号,信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对linux应用开发的理解和代码调试的能力。

四,linux网络编程

重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播,多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML、Java等Web编程技术及实现方法。

五、数据结构与算法

此阶段的学习重点在于理解数据结构与算法的基础内容,包括顺序表,链表,队列,栈,树,图,哈希表,各种查找排序算法等应用及其C语言实现过程。

六,c++, QT

本阶段重点掌握面向对象编程的基本思想以及c++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节,由于QT具有跨平台,面向对象,丰富API,支持2 d/3 d渲染,支持XML,多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。包括IDE使用,QT部件及布局管理器,信息与槽机制的应用,鼠标,键盘及绘图事件处理及文件处理的应用。

七、皮质A8, linux平台开发

通过基于手臂Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源,时钟控制器,电源管理,异常中断控制器,nand闪存控制器等模块,为底层平台搭建做好准备。

linux平台包括内核裁减,内核移植,交叉编译,GNU工具使用,内核调试,引导装载程序介绍,制作与原理分析,根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的linux系统,集成部署linux系统整个流程。同时了解Android操作系统开发流程。

八,驱动开发

本阶段的学习要熟悉linux的内核机制,驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备手臂硬件接口的基础知识,熟悉的手臂Cortex-A8处理器s5pv210各资源,掌握linux设备驱动原理框架,熟悉工程中常见linux高级字符设备,块设备,网络设备,USB设备等驱动开发,在工作中能独立胜任底层驱动开发。

以上就是linux开发要学习什么内容的详细内容,更多请关注其它相关文章!

linux开发要掌握哪些技能吗?