*阶段: Linux C、 C/C++ |
|||
课程名称 |
课程内容 |
掌握要求 |
阶段概述 |
Linux系统基础,开发环境培训 |
Linux系统基本操作、常用的系统服务搭建配置及基本的shell脚本编写。Unix系统原理、Unix C开发环境、Unix常用文件目录管理命令与网络命令 |
掌握 |
经过这个阶段,学员需要从内存的角度去分析问题,深入理解指针与内存的关系,*大量的编程实例重点讲解C语言的高级编程知识,包括函数、数组、文件操作,以及指针与它们之间的关系。*后还会讲到链表、栈、队列、以及树和二叉树。*后还有排序算法、查找算法等。需要了解类和对象的基本概念,了解C++在C语言的基础上增加了哪些新特性。之后*C++的四大特性分别讲解,学员了解友元和运算符重载之后要能够实现自己的CString类,*继承和虚函数可以实现代码的重复利用并实现多态。后面的模板与STL能够让学员了解到C++的泛型编程相关知识。 |
C语言强化 |
C语言的基本语法、核心部分讲解。详细讨论C语言的各种特性、内存分配管理、链接、限定词、模块化编译链接处理。强化C语言中的指针、结构体、递归等。Linux下的GCC、GDB的使用,Makefile编写。介绍实际项目开发团队中常用的合作工具与方式。传授开发经验与技巧。以大量的实际案例迅速提高编码能力。 |
精通 |
|
数据结构与算法分析-C语言描述 |
链表的基本处理操作及内存调用分配。常用的排序和查找。手工编写代码实现模拟内存堆、栈。抽象数据类型(ADT)介绍及树的编写。内核常用算法解析。 |
掌握 |
|
C++ |
主要讲解C++基础、高级特性、泛型技术、C++与C的相同与差异。能够利用C++的特性编写各种数据结构算法。 |
了解 |
|
项目实践 |
用VT控制码结合数据结构的知识来实现一款俄罗斯方块游戏。目的在于强化C语言及数据结构的编写技能,为后期课程学习打下夯实的基础,实现*C语言来完成人机交流。 完成《电信计费系统》会涉及到登陆时的密码处理、菜单制作、程序结构划分、需求分析等 |
掌握 |
第二阶段:高级应用开发
|
|||
Linux应用程序设计、网络协议及Socket网络程序开发 |
本阶段主要学习库函数的调用及网络协议。包括文件I/O、管道、消息队列、进程、线程、信号、并发、高级I/O、进程间通信等。本阶段实际案例有:串口监听程序、图片浏览器、MP3播放器、聊天程序、ftp程序、音频广播程序、ping的实现、DDos攻击程序、ARP攻击程序。 |
精通 |
精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,强化学员对Linux应用开发的理解和编码调试的能力,包括基本命令的熟练掌握、shell脚本的编写、系统编程GCC和调试GDB以及编写Makefile、文件I/O(阻塞、多路模型等)、信号处理机制、多进程、进程间通信(IPC)、多线程(同步互斥模型和消费者生产者问题)、网络编程等 |
项目实践 |
项目《广告机文件自动更新》基于网络编程组播实现 网络视频播放系统:利用所学的网络、图形、声频知识构建一个完整的网络点播系统,核心解码部分可用MPlayer的相关部分 |
掌握 |
第三阶段: ARM开发
|
|||
ARM嵌入式开发 |
搭建Linux嵌入式开发环境、包括基本概念和开发流程、内核剪裁配置和交叉编译、根文件系统制作、网络编程、利用Datasheet手册控制外围设备,掌握ARM汇编指令。 |
精通 |
|
项目实践 |
完全自主开发一个能够引导Linux的Bootloader需具备tftp、nand烧写等功能。 |
精通 |
|
第四阶段: linux 底层驱动开发
|
|||
Linux内核及设备驱动程序 |
Linux内核一些基本常识:从何处获取源码、编译、安装。内核配置与模块、内核下半部和退后执行的工作,以及内核的中断、内存管理等。熟悉内核剪裁、移植。讲解Linux的驱动开发规范。从零开始手写至少5款驱动,绝非驱动的普通移植,真正的嵌入式核心培训,触摸屏驱动、LCD驱动、音频驱动、网卡驱动、Watch Dog(看门狗)驱动及相应的DMA驱动的编写。 |
精通 |
重点让学生学习到ARM的常用接口开发及硬件电路设计基础(包括IO、跑马灯、串口、看门狗、实时时钟、扫描键盘、中断、LCD等等),为以后的设备驱动的学习打好基础。 该阶段由浅入深,先是从简单的驱动知识讲起,然后编写简单的驱动模块程序,再到一些简单的字符设备编写,然后是S3C2440相关的一些设备驱动、块驱动、网络驱动等等。 |
第五阶段、讲解面试、沟通等个人所发展的面试技巧
|
||
面试技巧与演练 |
面试技巧与演练 |
精通 |
有效沟通 |
与人沟通 |
精通 |