嵌入式Linux系统工程师都学些什么?

2019-07-13 02:39发布

教学大纲 课程安排 课 程 简 介 第一周
嵌入式C语言编程基础     主要介绍在嵌入式开发编程中C语言的重要概念和编程技巧中的重点难点,以复习串讲和实例分析的形式,重点介绍包括函数与程序结构,指针、数组和链表,库函数的使用等知识。 第二周
Linux 操作和编程基础     主要介绍 Linux 的基本命令和基础编程知识,包括Linux的文件操作和目录操作命令,VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等知识。 第三周
Linux 上C 强化编程训练     主要包括整数算法训练,递归和栈编程训练,位操作训练,指针训练,字符串训练和常用C库函数编程接口实践,强化学员对Linux下基本编程开发的理解和编码调试的能力。 第四-七周
Linux环境高级编程及项目开发编程实践     主要包括系统编程(信号/系统调用/管道/FIFO/消息队列/共享内存等),文件I/O编程(文件描述符/文件读写接口/原子操作/阻塞与非阻塞IO等),多任务和多线程编程(进程标识/用户标识/fork与vfork/多线程概念/线程同步等),网络编程(网络基本概念/套接口编程/网络字节次序/ Client/Server 结构/ UDP 编程);掌握Linux下Socket编程的开发流程,熟悉网络编程的调用接口函数和相关数据结构,使学员初步具备在Linux上进行系统编程开发的能力。同时综合之前所学内容和编程技术,以小组为单位进行一个团队合作项目的开发,考核内容包括文件I/O编程,多线程编程,网络编程和项目文档编写。 期 中 考 试 第八-九周
嵌入式处理器体系结构及编程实践     主要介绍 ARM、MIPS、PowerPC等体系结构及其基本编程知识,包括指令分类,寻址方式、指令集、存储系统、异常中断处理、汇编语言以及C/C++和汇编语言的混合编程等知识。同时结合ARM嵌入式开发板硬件设计原理和基本硬件设计流程,分析各种外设的工作原理和驱动机制,并自己动手实践完成一个ARM开发板上的编程大作业。 第十-十一周
嵌入式Linux开发基础及高级应用     主要介绍嵌入式 Linux 开发应用程序的基本流程和知识,包括嵌入式Linux基本概念和开发流程、Bootloader 工作原理、内核裁减配置和交叉编译、根文件系统制作、网络编程及图形界面和数据库开发等知识。同时独立完成一个基于嵌入式Linux GUI的应用编程大作业。 第十二-十三周
嵌入式 Linux驱动理论及驱动程序开发实践     主要介绍嵌入式 Linux 上驱动程序开发规范,包括设备驱动程序概念、字符设备驱动程序、块设备与网络设备、网卡驱动以及常用嵌入式设备驱动开发等知识。同时独立实现两种嵌入式设备驱动程序的编写,包括驱动模块的调试和加载以及完整的项目开发文档的编写。 第十四-十五周
嵌入式Linux项目团队开发实践锻炼     主要包括设计并实现一个真实和完整的嵌入式项目的开发流程,涉及到数据采集、网络通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。要求学员建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。 毕 业 典 礼 培 训 目 标 学 习 内 容 掌 握 程 度 掌握三种编程语言 C 语言 精通       C++ 语言     了解    ARM 汇编语言   熟悉   掌握两种嵌入式Linux操作系统 Linux 精通       uCLinux 精通     掌握两种嵌入式实时操作系统 VxWorks   熟悉     uC/OS-II   熟悉   掌握三种处理器体系结构 ARM 体系结构 精通       MIPS 体系结构   熟悉     PowerPC     了解 掌握五种ARM核处理器 Samsung S3C2410/S3C44B0 精通       Intel XScale PXA255 精通       Philips LPC22xx 精通       EP7312   熟悉     MIPS Godson 龙芯   熟悉   掌握两种硬件设计工具 Candence PCB   熟悉     Protel     了解 掌握两种Linux下编辑软件 VI 精通       EMACS     了解 掌握两种串口通讯工具 超级终端 (Windows)   熟悉     MiniCOM (Linux)   熟悉   掌握三种 Flash 烧写工具 Flash Programmer (GUI)   熟悉     JFlash 烧写软件及原理 精通       SJF系列烧写软件及原理 精通     掌握两种调试工具 JTAG 在线调试器   熟悉     SkyEye 仿真调试工具   熟悉   掌握两种集成开发环境 ARM  ADS 1.2 精通       K-Develop IDE   熟悉   掌握一种源代码版本管理工具 CVS   熟悉   掌握嵌入式 Linux整体开发流程     熟悉   GNU 交叉编译器使用 Cross-compiler-gcc/g++ 精通       Linux Makefile 组织结构 精通     Bootloader 启动代码 u-Boot 精通       RedBoot   熟悉   内核编译 配置参数设置 精通       内核调试   熟悉   文件系统 JFFS2 文件系统 精通       NFS 文件系统 精通       ROMFS 文件系统 精通       EXT2 文件系统   熟悉     YAFF 文件系统     了解 设备驱动程序 液晶 LCD 设备驱动 精通       USB设备驱动 精通       网卡设备驱动 精通     嵌入式图形系统 MiniGUI 精通       QT/Embedded   熟悉     MicroWIN     了解 嵌入式数据库系统 SQLLite 精通     嵌入式应用程序开发 网络通讯应用开发 精通       数据库存储应用开发   熟悉     多媒体应用开发   熟悉