您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 嵌入式linux培训计划资料
1/13第一阶段:嵌入式物联网开发学习预科本期目标:帮助初学者快速了解嵌入式开发的基本要素,使学员能快速熟悉linux系统,熟练使用各种常用指令,掌握基本的嵌入式C语言开发基础,为进一步学习嵌入式物联网应用开发打下良好的基础。培养对象:有志在linux/Android系统,物联网开发邻域,从事内核开发/驱动开发/嵌入式应用程序开发的工程师或学生。入学要求:学员学习本课程应具备下列基础知识:有计算机相关基础知识;有计算机语言基础。序号课程名称课程内容掌握目标1Linux系统基础入门本课程介绍linux操作系统的基本操作和常用工具的使用,使学员快速掌握linux系统的基本操作方法,从而为接下来的C语言编程基础锻炼创造便利条件。在本阶段将涉及以下主要内容:Linux与UNIX渊源Linux各种发行版本与UbuntuLinux系统启动过程和基本安装步骤vim编辑器入门与提高API软件包管理系统命令行解释器shell入门Linux基本shell命令Linux系统的文件与目录熟悉2嵌入式C语言编程基础本课程是标准C语言的基础锻炼部分,目的在于让编程基础较为薄弱的学员通过较为全面的C语言基础知识梳理和强化,建立一个完整的程序设计知识体系,为后续的嵌入式物联网系统开发奠定扎实的编程基础。在本阶段将涉及以下主要内容:LinuxC语言规范与LinuxC语言工业标准标准C语言基本数据类型字符串和搁置话IO运算符表达式和语句C基本控制流函数的实现与使用数组与指针存储类链接和内存管理LinuxC内存映像复杂声明结构体地址对齐共用体和枚举条件编译宏与带参宏的编写变参函数回调函数和内联函数熟悉3项目实战《超市购物计价系统》在预科阶段主要是让学员建立完整的编程能力基础,本项目通过对linux系统开发环境的熟悉,采用基础的C语言编程知识,灵活巧妙的运用,完成超市购物计价系统的商品添加,计价消除,消费总价等功能,并且能够实现商品的存量查看与购物清单的生成。目的是通过该项目能让学员熟悉C语言各种常用语法。基本数据结构,培养良好的编程思维。独立完成培养目标Linux系统见习程序员2/13第二阶段:Linux系统运维学习本期目标:让学员能熟悉掌握linux系统的重要shell命令,掌握Linux系统中的多种服务配置技巧,深入shell编写出智能化的系统自动配置脚本,胜任常见的linux系统的运维工作。培养对象:有志在linux/Android系统,物联网开发邻域,从事内核开发/驱动开发/嵌入式应用程序开发的工程师或学生。入学要求:学员学习本课程应具备下列基础知识:有计算机相关基础知识;有计算机语言基础。序号课程名称课程内容掌握目标1Linux系统服务配置基础本课程主要介绍Linux系统的版权特性,注重企业运用的实际配置操作,强化商业版权意识,并针对常见的服务器系统配置及维护工作操作方法展开详细的学习,以满足企业对Linux系统运维服务工作的需求。本阶段将涉及以下主要内容:GNU项目,通用公共许可证GPL、LGPL、POSIX、CopyLeft、FSF、SUS等基本概念简介Linux系统体系结构Linux内核版本管理GNIME、KDE桌面系统简介API软件包管理系统高阶使用Shell命令通配符别名定义管道与重定向Linux系统环境变量的设置与作用Linux系统启动过程中的重要配置管理文件Linux系统管理命令用户管理命令文件管理命令网络管理命令Linux网络服务配置服务器常用配置方法Linux虚拟文件系统VFS与存储设备挂载方法Linux多任务控制与进程控制命令Linux系统安全配置熟悉2Linux下shell语言编程本课程主要通过对shell脚本语言的体系化学习,让学员能熟悉运用shell语言实现自动化系统配置脚本编写,提供系统运行的效率,为无人值守的Linux服务系统奠定基础。同时shell脚本也是嵌入式系统开发过程中非常重要而且常见的脚本语言,其一般与Makefile文件结合,实现更为复杂的项目管理功能,特别是在内核的开发工程中脚本的结合使用更加频繁。本阶段将涉及以下这些内容:shell的基本语法shell的特殊配置功能shell的系统配置功能shell的正则表达式shell的高阶编程shell的图表化编程shell的自动化脚本设计与实现熟悉3/133项目实战《小区用户管理系统》该项目在linux运维学习阶段是一个典型的应用,通过对shell编程的基本御用,完成小区用户管理系统的住户信息添加、删除、查找等功能,并且能够实现智能权限管理及用户信息列表生成等功能。巧妙的将shell的基本编程灵活的运用到实际的运维管理上来。独立完成项目实战《设备自动化配置系统》该项目在linux运维学习阶段是一个综合性的实际应用,通过本项目对图形化的shell工具的运用,完成设备自动化配置系统的设备等功能,并且能够实现配置日志记录,实现无人值守的全自动化智能控制流程,是linux运维工程师的综合技能的完美体现。独立完成培养目标Linux系统运维工程师颁发证书粤嵌——Linux系统运维工程师4/13第三阶段:嵌入式软件开发基础学习本期目标:嵌入式项目开发是一个需要软硬件技术结合的开发过程,开发中使用最多的计算机编程语言是C语言;例如引导加载程序bootloader的实现、操作系统内核的开发、驱动程序的开发,同时GNU在实际项目开发中为标准C增加了很多使用的扩展,使得C语言在整个嵌入式开发过程中发挥出了非常重要的作用。C语言的跨平台性比较强,精通C语言的程序员可以很容易地从事众多嵌入式系统的开发,如:Linux、Windowsphone、QNS、uC/OS、Vxworks等。本阶段学习目标是掌握嵌入式设备的C语言开发的核心方法,灵活运用工具快速搭建嵌入式设备的开发调试环境,深入理解程序内存的操作特性,程序稳定的核心技术就是内存的精准操作跟缜密的算法,为了确保学员得到坚实的开发技能,本阶段将内存编程作为重点,深入剖析C语言的数据结构与算法在嵌入式系统的高阶应用,为后续程序开发的稳定性提供确切的保障。培养对象:有志在linux/Andoid系统开发邻域,从事内核开发/驱动开发/嵌入式应用程序开发的工程师或学生。入学要求:学员学习本课程应具备下列基础知识:Linux系统的基本操作计算机C语言编程基础计算机组成原理基础序号课程名称课程内容掌握要求1交叉开发环境的建立嵌入式系统开发工程师的首要任务是建立稳定的交叉开发环境,并确保每一个程序均在嵌入式设备上顺利运行。本节将详细讲解嵌入式设备开发过程的各种开发工具的使用,以及如何高效率的进行嵌入式项目开发,并通过搭建个性化的开发环境为后续的程序开发提供便捷的条件。本阶段将涉及以下主要内容:交叉环境的搭建Cortex-A8GEX210平台介绍与操作熟悉嵌入式平台启动流程交叉开发流程分析交叉开发环境搭建arm-linux-gcc交叉编译器的使用arm-linux-gdb交叉调试器的使用精通2嵌入式C语言指针与内存在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。通过计算机程序准确并高效的使用内存,是权衡一个软件工程师实力及经验的重要指标。本节针对C语言开发在嵌入式系统中的典型应用及核心开发技巧展开深入的剖析。并根据实际项目案例进行深入学习。本阶段将涉及以下主要内容:嵌入式C语言的指针与数组的运用指针与数组的混合运用C语言结构体与联合体的使用复杂声明解读预处理指令之文件包含、文件组织结构、复杂宏编写技巧预处理指令之条件编译及实际运用案例、attribute机制简介精通5/13嵌入式C语言的数据结构在linux内核中,任务调度、文件管理、设备管理、内存管理机制的实现,使用了大量的数据结构及算法;尤其是驱动管理、协议解析、数字处理引擎中更普遍存在,数据结构的设计本质是对设备内存的高级抽象,对程序的稳定性、健壮性造成直接的影响。本节针对嵌入式设备开发过程中常用的数据结构技术进行灵活生动的讲解,结合项目实例,剖析包括链表、队列、栈、树、哈希表以及各种算法的应用实例,让学员更加深刻的理解基础与实际应用的技巧。本阶段将涉及以下主要内容:数据结构的逻辑结构分析线性表、顺序表、linux内核链表循环队列与链队列树的实现与二叉树的操作Linux内核的红黑树设计分块查找和哈希表的linux内核运用精通3项目实战《约瑟夫问题》该案例使用C语言实现的链表,实现对给定数据相关链表的初始化、插入、删除、遍历、查找等基础操作,通过该案例的实现,可基本掌握链表的基本概念,基本掌握操作链表的基本技能,该案例难度较小,适合初学者。独立完成4项目实战《汉诺塔游戏》该项目是经典的递推益智游戏,使用数据结构中的栈实现,结合C语言中经典的递归算法,可以巧妙地实现汉诺塔的自动搬移,在学习了数据结构之栈逻辑,递归算法以及复习了C语言语法之余,也增加了编程的趣味性。该项目难度适中,适合喜欢挖掘算法和不满足与基本编程技能的学员。独立完成5项目实战《模拟排队系统》该项目模拟现实排队,每隔一段时间,队列随机增加一个节点,以及每隔一段时间,从队列中删除节点,该项目难度适中。独立完成6项目实战《航班查询系统》该项目要求学员通过文件或者标准输入设备,录入航班信息,然后使用数据结构中的链表、队列等知识,实现对航班信息的编辑、录入、排序、遍历、删除等操作。该项目难度偏大,在老师手把手的指导下,专门安排时间完成。独立完成培养目标Linux系统初级程序员颁发证书粤嵌——Linux初级程序员6/13第四阶段:嵌入式Linux系统编程开发本期目标:当前主流的嵌入式设备中均运行架构复杂的操作系统,操作系统提供了多任务的实现,为了能让嵌入式设备实现更高校的运作,必须掌握嵌入式操作系统中最核心的系统编程技巧,包括:多线程编程、多线程编程、进程管理、进程间通信机制,多线程间同步互斥机制,线程池机制等。培养对象:有志在linux/Andoid系统开发邻域,从事内核开发/驱动开发/嵌入式应用程序开发的工程师或学生。入学要求:学员学习本课程应具备下列基础知识:Linux系统的基本操作计算机C语言编程基础计算机组成原理基础序号课程名称课程内容掌握要求1Linux进程编程本课程从系统调用开始,重点讲解Linux多任务编程中的多进程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等)。让学员与实际应用相联系,提升学员对linux应用开发的理解和代码调试的能力。本阶段将涉及以下主要内容:嵌入式linux进程创建嵌入式linux进程基本概念进程API函数详解嵌入式linux守护进程编写嵌入式linux进程间通信之无名管道和有名管道嵌入式linux进程间通信之信号机制嵌入式linux进程间通信之systemVIPC精通2Linux多线程编程本课程重点讲解linux多任务编程中的多线程编程,同步与互斥对共享资源访问控制等重要知识,让学员深入的掌握linux系统中轻量级进程(线程)的操作特点及工作机制,使用最小的资源降低系统的运行负担,降低功耗,提高系统效率。本阶段将涉及以下主要内容:Linux线程基本概念线程同步与互斥之互斥锁线程同步与互斥之读写锁线程同步与互斥之信号量线程同步与互斥之记录锁线程同步与互斥之条件变量线程属性与线程池多线程并发拷贝精通Linux网络编程计算机网络在嵌入式linux系统应用开发过程中使用非常广泛,本课程从linux网络发展、TCP/IP协议、socket编程,TCP编程、UDP网络编程、Web编程开发等方面入手,全面讲解linux网络应用开发,重点介绍网络编程相关API,熟练掌握TCP协议服务器编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播,多播的原理及编程方法,掌握混合精通7/13C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。本阶段将涉及以下主要内容:TCP/IP分层思想、TCP/
本文标题:嵌入式linux培训计划资料
链接地址:https://www.777doc.com/doc-6275575 .html