嵌入式Linux系统工程师学什么?
课程安排课程介绍嵌入式C语言编程基础第一周主要介绍嵌入式开发编程中C语言的重要概念和编程技巧中的重点难点。以复习系列讲座和案例分析的形式,重点讲解包括函数和程序结构、指针、数组和链表、库函数的使用等知识。第二周Linux操作与编程基础主要介绍Linux的基本命令和基本编程知识,包括Linux文件操作和目录操作命令、VI编辑器、GCC编译器、GDB调试器和Make项目管理工具。第三周,Linux上的C强化编程训练主要包括整数算法训练、递归和堆栈编程训练、位操作训练、指针训练、字符串训练和常用C库函数编程接口练习,加强学生对Linux下基本编程开发的理解和编码调试能力。第四至第七周,Linux环境下的高级编程和项目开发编程实践,主要包括系统编程(信号/系统调用/流水线/FIFO/消息队列/* *内存共享等。)、文件I/O编程(文件描述符/文件读写接口/原子操作/阻塞和非阻塞IO等。)、多任务和多线程编程(进程识别/用户识别/fork和vfork/多线程概念)掌握Linux下Socket编程的开发流程,熟悉网络编程的调用接口函数和相关数据结构,使学生初步具备在Linux上开发系统编程的能力。同时结合之前学习的内容和编程技术,以小组为单位开发一个团队合作项目,考核内容包括文件I/O编程、多线程编程、网络编程和项目文档撰写。期中考试第八至第九周嵌入式处理器的体系结构与编程实践主要介绍ARM、MIPS、PowerPC的体系结构及其编程基础知识,包括指令分类、寻址方式、指令集、存储系统、异常中断处理、汇编语言以及C\C++与汇编语言的混合编程。同时,结合ARM嵌入式开发板的硬件设计原理和基本硬件设计流程,分析了各种外设的工作原理和驱动机制,通过动手实践完成了一项ARM开发板上的大型编程工作。第10-11周:嵌入式Linux基础与高级应用主要介绍嵌入式Linux开发应用的基本流程和知识,包括嵌入式Linux的基本概念和开发流程、Bootloader的工作原理、内核裁剪配置和交叉编译、根文件系统制作、网络编程、图形界面和数据库开发。同时,独立完成一项基于嵌入式Linux GUI的应用编程工作。第12-13周嵌入式Linux的驱动理论和驱动开发实践主要介绍嵌入式Linux上的驱动开发规范,包括设备驱动、字符设备驱动、块设备和网络设备的概念、网卡驱动和常见嵌入式设备驱动开发。同时独立编写两种嵌入式设备驱动,包括驱动模块的调试加载和完整项目开发文档的编写。在第14-15周,嵌入式Linux项目组的开发实践主要包括一个真实完整的嵌入式项目开发过程的设计与实现,涉及数据采集、网络通信、图形用户界面显示、嵌入式数据库存储系统等各种嵌入式Linux编程技术。要求学生建立团队开发、协同工作的企业项目开发模式的理念和流程,加强对项目概要设计文件和详细设计文件编写的理解,做好就业前职业技能和素质培养的充分准备。毕业典礼培养目标掌握学习内容掌握三种编程语言掌握C语言掌握C++语言掌握ARM汇编语言掌握两种嵌入式Linux操作系统Linux掌握uCLinux掌握两种嵌入式实时操作系统VxWorks掌握uC/ OS-II熟悉三种处理器架构ARM架构MIPS架构PowerPC、 三星S3C2410/ S3C44B0精通Intel XScale PXA255精通飞利浦LPC22xx精通EP7312精通MIPS龙芯掌握两种硬件设计工具Candence PCB掌握Protel掌握两种Linux下的编辑软件VI掌握EMACS掌握两种字符串通信工具HyperTerminal (Windows)熟悉MiniCOM (Linux)熟悉三种Flash编程工具Flash程序员(GUI)熟悉JFlash编程软件及原理精通SJF系列编程软件及原理精通两 熟悉两个集成开发环境:ARM ADS 1.2,K-Develop IDE,一个源代码版本管理工具CVS,嵌入式Linux的整体开发流程, 和GNU交叉编译器使用交叉编译器-gcc/ G++精通Linux Makefile组织结构精通Bootloader引导代码u-Boot精通RedBoot精通内核编译配置参数设置精通内核调试精通文件系统JFFS2精通NFS文件系统精通ROMFS文件系统精通EXT2文件系统精通YAFF文件系统了解设置备份驱动LCD设备驱动精通USB设备驱动精通网卡设备驱动精通嵌入式图形系统MiniGUI精通QT/ 嵌入式熟悉MicroWIN,嵌入式数据库系统SQLLite熟悉嵌入式应用开发,网络通信应用开发,数据库存储应用开发,多媒体应用开发,图形用户界面开发,Shell编程技巧,讲解和掌握——说明对所学内容和工具的原理进行了深入分析,对相关内容实现的具体技术细节有所了解,掌握了使用相关工具的高级技能。 熟悉度——表明你能够掌握所学的内容和工具,掌握相关内容的基本概念,熟练使用相关工具的常用技能。理解——说明你对所学的内容和工具有大致的了解,能区分相关内容的概念异同,并能初步使用相关工具。