您的位置:首页 > 运维架构 > Linux

aka嵌入式开发培训课程体系

2006-02-17 13:31 267 查看
[align=center]AKAE 嵌入式 Linux 就业班课程大纲()[/align]
  一、Linux 操作系统
   1)  Linux简史
       系统特性 / 设计理念 / 与其它操作系统之间的差异 / 开放源码
   2)  Linux安装
       Linux 分发包 / 安装前准备 / 系统安装与规划
   3)  Linux基本命令
       登录 / Bash 常用命令 / Shell 常用按键 / 快捷键 / 参考手册
   4)  Linux基本系统管理
       系统启动与初始化 / 单人模式 / 管理用户帐号
   5)  Linux文件系统管理
       Ext2文件系统 / 文件权限与属性 / 设备文件 / /proc 文件系统 / 根文件系统
   6)  Linux软件与内核的升级
       备份与压缩工具 / 建立新内核 / 自动载入模块
   7)  Linux的窗口系统
       X窗口系统 / XFree86 / KDE / GNOME /
   8)  Linux上常用编辑器
       VI / VIM / Emacs / Tex / LeTex / 排版与文书处理
   9)  Linux上常用图像和网络工具
       MetaPost / Gimp /
       openSSH / telnet / rdesktop / QTerm /
   10) Linux各种服务器的安装
       Apache / VSFTP / Sendmail / DNS / FireWall / Route Server
       Samba / NFS / PPP / DHCP / MySQL Server

   二、Linux 基础

   1)  C 语言程序设计精要
       C语言的地位和重要性 / 基本特点 / 历史渊源
       深刻理解指针 / 工具的重要性 / 实践出真知
   2)  C语言语法重点难点剖析
       变量声明与定义 / 函数声明与定义 / 数组与指针 / 变量的可见范围与生存期
       编译与链接 / 交叉编译与链接 / 内存与I/O / C语言与数据结构要点
       C语言代码移植 / C语言与嵌入式系统开发 / 从C到C++
   3)  Linux 程序设计基础
       编程风格 / GNU编程风格 / Linux 内核编程风格
   4)  Linux 应用程序开发
       GCC / make / Makefile / GDB
   5)  Linux 源代码管理
       RCS / CVS / 软件打包 / 制作RPM
   6)  IDE 的使用
       VIM / Emacs / glade / kdevelop

   三、Linux 编程高级

   1)  系统编程
       信号 / signal函数 / 不可靠的信号 / 中断的系统调用 / 可再入函数
       管道 / popen和pclose函数 / 协同进程 / FIFO
       消息队列 / 信号灯 / 共享内存 / 客户机-服务器属性
   2)  网络编程
       网络基本概念 / 套接口编程 / 网络字节次序 / Client/Server 结构 / UDP 编程
   3)  进程控制
       进程标识 / fork 函数 / vfork 函数 / exit 函数 / wait 函数 / 用户标识
   4)  多线程编程
       创建和销毁线程 / 用条件变量改进线程同步 / 线程同步 / 线程的取消和终止
   5)  文件 I/O
       文件描述符 / open / read / write / close / ioctl / 原子操作 / dup / dup2 函数
   6)  高级 I/O
       非阻塞I/O / 记录锁 / 流 / I/O多路转接 / 异步I/O / 存储映射I/O
   7)  脚本语言编程
       Shell 编程 / AWK编程 / 使用sed编程
       yacc/lex 简介 / 利用正则表达式编程

   四、嵌入式体系结构
   1)  ARM概述及其基本编程模型
       ARM技术的应用领域 / ARM处理器系列 / ARM处理器模式 / ARM寄存器
       ARM体系的异常中断 / ARM体系中存储系统
   2)  ARM指令分类及其寻址方式
       ARM指令集概要 / ARM指令的分类 / ARM指令的一般编码格式
       ARM指令寻址方式 / 协处理器Load/Store指令的寻址方式
   3)  ARM指令集
       ARM基本指令 / ARM指令功能段 / Thumb指令
   4)  ARM汇编语言程序设计
       ARM汇编语言 / ARM汇编语言程序格式 / 子程序调用 /汇编程序设计举例
   5)  ARM存储系统
       ARM存储系统概述 / 访问CP15寄存器的指令 / 存储器管理单元MMU
       快速上下文切换技术 / cache的工作原理和地址映像方法
   6)  ARM异常中断处理
       ARM中异常中断处理概述 / 进入和退出异常中断的过程 / 中断处理程序安装
       SWI异常中断处理程序 / FIQ和IRQ异常中断处理程序 / 其他异常中断处理程序
   7)  C/C++以及汇编语言的混合编程
       内嵌汇编器的使用 / 从汇编程序中访问C程序变量 /
       在C/C++程序中使用内嵌的汇编指令 / 汇编程序,C程序及C++程序的相互调用
   8)  体系结构对系统开发的支持
       AMBA总线 / ARM参考外围规范 / ARM仿真器 / JTAG边界扫描测试结构
       建立硬件系统原型的工具 / ARM调试结构
   9)  体系结构对操作系统的支持
       操作系统简介 / ARM系统控制协处理器 / 保护单元寄存器CP15 / ARM保护单元
       CP15 MMU寄存器 / ARM MMU结构 / 同步 / 上下文切换 / 输入/输出
   10) MIPS系统结构
       MIPS简介 / MIPS数据格式和指令集 / 特权资源 / CP0寄存器
       操作模式 / 虚拟内存系统(地址空间分配和TLB) / 例外
       MIPS的汇编语言
   11) MIPS系统常见交叉编译器简介
       交叉编译环境的建立 / 汇编器,编译器,链接器和其他编译附属命令
       MIPS编译器的优化和编译选项 / ELF文件结构分析 / 内嵌汇编语言

  五、H.26X与MPEG视频技术

   1)  数字视频基本概念
       1.1 视频的概念
       1.2 颜色空间 RGB、YUV
       1.3 图像的格式 SIF、CIF、CCIR-601、HD720p、HD1080p,
       1.4 消除空间冗余
       1.5 DCT系数的量化
       1.6 消除时间冗余
       1.7 可变长编码
   2)  数字视频处理常用的基本算法
       2.1 无损编码
       2.2 有损编码
       2.3 预测编码(Prediction)
       2.4 行程编码(Run Level Encoding)
       2.5 变换编码(Transform Encoding)
       2.6 熵编码(Entropy Encoding)
       2.7 算术编码(Arithmetic Encoding)
   3)  主要的视频编码标准分析
       3.1 介绍两大系列的视频编码标准ITU和MPEG以及各种标准之间的关系。
       3.2 各视频编码标准的支持的图像标准和码率
       3.3 各视频编码标准的应用领域
   4)  H.264/AVC技术分析
       4.1 H.264的总体框架
       4.2 H.264的编码工具集(profiles)和支持的分辨率(levels)
       4.3 H.264的参考帧、slices和宏块(macroblock)
       4.4 H.264的帧间预测和帧内预测
       4.5 H.264的DCT变换和量化
       4.6 H.264的熵编码(CAVLC/Exp-Golomb/CABAC)
   5)  MPEG 4的总体框架及解码流程、MPEG4与H.264编码方式的区别
       5.1 levels和profiles
       5.2 视频对象平面(VOP)
       5.3 图像分段
       5.4 形状编码
       5.5 运动估计和补偿
       5.6 纹理编码
       5.7 背景编码
       5.8 综合对象编码
       5.9 静止图像编码
       5.10 可扩展性
       5.11 MPEG4和H.263
   6)  MPEG-2/H.262 技术分析
       6.1 MPEG 2的总体框架
       6.2 MPEG 2的level和profile
       6.3 MPEG 2与MPEG 1的不同之处
       6.4 MPEG 2的不可扩展的预测模式
       6.5 MPEG 2的扩展性
       6.6 视频广播
       6.7 DVD
   7)  MPEG-1/H.261技术分析
       7.1 H.261
       7.1.1视频格式和结构
       7.1.2 视频源的编码算法
       7.1.3 宏块类型
       7.1.4 量化和编码
       7.1.5 平滑滤波
       7.2 MPEG-1
       7.2.1 系统编码概述
      
d8e1
 7.2.2 视频结构
       7.2.3 编码器
       7.2.4 量化加权矩阵
       7.2.5 运动估计
       7.2.6 图像编码
       7.2.7 视频缓冲区管理
       7.2.8 解码器
       7.2.9 后处理和预处理
   8)  H.263 技术分析
       8.1 H.263和MPEG1和H.261的区别分析
       8.2 被交换的多点
       8.3 H.263的扩展
       8.4 高级的运动估计和运动补偿
       8.5 B帧的处理
       8.6 高级变长编码
       8.7 预防错误
       8.8 扩展性
       8.9 缓冲区调整
       8.10 高级视频编码(H.26L)

  六、嵌入式 Linux 应用开发

   1)  嵌入式 Linux 综述
       Linux的由来及现状 / 嵌入式操作系统 / 嵌入式linux的典型应用及分类
       实时Linux / ARMlinux / uClinux / ARM、PPC、MIPS、X86 体系结构
   2)  嵌入式开发基本概念
       内核 / 文件系统 / 根文件系统 / 驱动程序 / 设备文件
   3)  嵌入式开发常用工具
       VI / Emacs / GCC及其它交叉编译器 / Makefile项目管理工具 / SkyEye 仿真工具
   4)  嵌入式Linux开发流程
       基本概念总体流程 / 引导程序 Bootloader 原理及代码分析 / 开发实例
       嵌入式 Linux系统裁减及配置 / 编译相关文件剖析 / 系统固化方法
       根文件系统的制作方法 / 应用程序的编写 / 系统加电自动启动
   5)  嵌入式Linux下应用开发
       应用程序编程基本理论 / 进程间通信 / 线程基本理论 /
       网络编程基本概念 / 常用接口 / 网络字节序 / 通讯协议 / 网络安全初步
       动态库、静态库的制作及使用 / 综合实例解析 / 嵌入式采集系统三机网络通讯
   6)  嵌入式图形界面开发
       嵌入式图形系统选择 / microwindows / Qt/Embedded / MiniGUI
       嵌入式图形系统的基本概念 / 位图 / GDI / 事件 / 控件类和控件 / 定时器
       Framebuffer / X Window / SVGALib / LibGGI
       MiniGUI 的配置、编译、安装 / MiniGUI 的移植 / MiniGUI IAL的开发及实例
       综合实例演示 / 嵌入式数据采集系统三机界面设计和实现 / 系统集成

      实验内容:

   1)  基于Intel Lubbock开发板上的Linux 实现
       XScale交叉编译环境的建立 / LUBBOCK开发板的Linux内核配置 /
       Linux Host主机环境配置 / 加载并运行Linux内核 / 建立NFS根文件系统
       启动内核 / 运行HelloWorld程序
   2)  基于44B0X开发板上的bootloader移植
       硬件平台的搭建 / 软件调试平台的安装和使用
       Boot Loader代码分析 / 进入main函数 / Bootloader 的调试和烧写
   3)  基于44B0开发板上的uClinux实现
       建立交叉编译环境 / 配置并编译uClinux内核(支持网络文件系统)
       配置NFS服务器端 / 编写编译应用程序 / 加载并运行uClinux
   4)  uClinux下的LED驱动
       建立交叉编译环境、解压内核 /. 编写LED驱动程序
       编写应用程序 /. 配置、编译并运行内核 / 测试 LED 驱动工作情况
   5)  嵌入式图形界面的开发—MiniGUI
       MiniGUI 在Intel XScale/PXA255 Lubbock上的移植
       MiniGUI 在S3C44B0X开发板上的移植
   6)  基于Nandflash的JFFS2文件系统的实现
       建立交叉编译环境、解压内核、打补丁文件 / 配置内核和用户选项
       编译uClinux /. 下载并运行 / 测试 JFFS2 文件系统工作情况
   7)  基于skyeye的uClinux和ARM Linux 内核调试
       skyeye中常用的命令 / 在SkyEye上调试uClinux内核 / SkyEye LCD 仿真实例
       生成支持skyeye_ne2k网卡的内核 /在SkyEye上测试网络通讯情况
   8)  基于S3C4510B开发板上的uClinux实现
       在 ARM7 开发板上下载和运行uClinux 内核
       uClinux 内核的交叉编译和 SkyEye 仿真调试
       添加新的 uClinux 应用程序 / 编写应用程序代码 / 修改相关 Makefile 文件
       修改相关 config.in 文件 / 重新编译内核和文件系统

  七、嵌入式 Linux 驱动开发

   1)  设备驱动程序简介
       Linux设备驱动的概念 / 设备和模块分类 / 模块的构建、编译和装载
   2)  字符设备驱动程序
       字符设备驱动程序分析 / 主设备号和次设备号 / 文件操作
       fs_operation结构分析 /open/release/read/write/ioctl/阻塞型I/O/poll和        select
       异步通知 / tasklet和底半部 / 内核空间与用户空间数据的互访
       实例分析:键盘及触摸屏驱动分析(中断实现) / 驱动程序调试技术
   3)  块设备与网络设备
       块设备驱动程序的特点和工作原理 / 典型的块设备驱动程序分析
       MTD Flash块设备驱动 / 实例分析:SD卡驱动程序的实现
       网络设备驱动程序简介及网络参考模型 / 套接字(socket)简介 / 套接字缓冲
       net_device结构分析 / 数据包传输与接收 / 中断处理函数 / MAC地址解析
       网卡驱动信息统计 / 实例分析:linux下NE2000兼容网卡驱动
   4)  常用嵌入式设备驱动分析及嵌入式设备驱动开发精要
       I2S协议分析及驱动程序实现 / I2C协议分析及驱动程序实现
       SPI协议分析及驱动程序的实现 / 驱动程序开发常用技巧
       uClinux设备驱动程序开发注意事项 / uClinux设备驱动程序添加方法
       综合实例演示:uClinux下添加键盘驱动(基于44B0X处理器)
       ARMlinux设备驱动程序开发注意事项 / ARMlinux设备驱动程序添加方法
       综合实例演示:ARMlinux下添加触摸屏驱动(基于2410处理器)

      实验内容:

   1)  蜂鸣器驱动程序编写
       理解字符设备驱动程序的框架
       填写蜂鸣器的驱动代码
       通过对蜂鸣器驱动程序的编写,熟悉了解掌握驱动程序的基本编写步骤
       理解蜂鸣器示范驱动代码的原理;掌握设备驱动程序的基本编写步骤
   2)  LED指示灯驱动程序编写
       理解字符设备驱动程序的框架
       了解LED指示灯的驱动代码
       填写LED指示灯的应用程序代码
       通过对LED指示灯的驱动程序的编写,加深了解掌握驱动程序的基本编写步骤
       理解示范驱动代码的原理,学写一个LED指示灯的驱动程序
   3)  数码管驱动程序编写
       理解字符设备驱动程序的框架
       了解数码管驱动程序
       掌握驱动程序的编写流程
       通过对数码管的驱动程序的编写,进一步掌握驱动程序的基本编写过程和步骤
       理解示范驱动代码的框架和原理,尝试编写一个数码管驱动程序的驱动程序
   4)  液晶屏驱动程序编写
       理解字符设备驱动程序的框架
       了解LCD驱动程序
       掌握驱动程序的编写流程
       通过对液晶屏驱动程序的编写,深入理解掌握驱动程序的基本编写过程和步骤
       理解示范LCD驱动代码的框架和原理,深入理解掌握驱动程序的编写过程
   5)  USB鼠标的驱动
       USB驱动原理介绍
       USB鼠标驱动的代码的分析
       USB鼠标驱动程序的验证
       通过对USB鼠标的驱动程序编写,加深了解掌握usb驱动程序的基本编写步骤
       理解示范驱动代码的原理
   6)  8139网卡的驱动
       网卡驱动流程介绍
       8139网卡驱动的代码的分析
       8139网卡驱动程序的验证
       通过对8139网卡的驱动程序编写,加深了解掌握网卡驱动程序的基本编写步骤
       理解示范驱动代码的原理

  八、DTV系统架构设计

        此内容正在与人才需求单位确定中。   九、项目实践 ―― DTV系统架构设计

        此内容正在与人才需求单位确定中。
 

数字媒体开发工程师就业培训班              

 
   
         亚嵌(AKAE)嵌入式研究中心应中科院软件所、航天集团、RTLinux(中国)等人才合作伙伴的要求,面向社会开展嵌入式人才培养、选拔工作。参加就业培训班的学员报名后须统一参加基础考试,通过后将实施就业定向培训,培训后经考核合格学员将被输送到中科院软件所、航天集团、RTLinux(中国)等亚嵌人才合作单位。
         本次嵌入式人才详细职位要求、待遇如下: 
待        遇
        本科生:
             税前薪金¥4000-¥4500;解决3险1金;
             视指标以及毕业院校情况解决北京户口
        研究生:
             税前薪金¥5000-¥5500;解决3险1金;解决北京户口

注:以上薪金标准均参考亚嵌的嵌入式人才合作单位的“人才服务协议”,
        个别职位或经验特别丰富的员工税前薪金¥8000-¥10000
职        务:
[align=center]数字媒体开发工程师[/align]
职务[b]描述[/b]从事数字电视、机顶盒、PMP等音视频产品的系统设计及视频应用开发、优化
技能
目标

1.掌握嵌入式LINUX 应用、驱动开发
2.熟悉DVB或ATSC标准,有进行DTV机顶盒整体架构设计的能力
3.掌握嵌入式CPU、DSP或者DVD/DVB芯片
4.掌握MPEG、WMV、H.26x等音视频标准, 有多媒体中间件研发经验
5.具备DTV相关研发经验,熟悉DTV机顶盒整体架构设计
培训
时间

第一批:2006年3月18日 – 2006年6月18日
第二批:2006年4月1日 – 2006年6月30日
培训实践期间可视情况到相应企业实习
费用学费:15000元   书费:200元    本期八折优惠为:12160元      证书:500元(可选)
学时总计:354学时其中课程:234学时  ;实践:120学时
证书中国软件行业协会嵌入式系统分会联合颁发的《嵌入式数字媒体开发工程师》认证证书
培训[b]地点[/b]亚嵌北京教学区
入职
时间
2006年5月30日之前4人到岗
2006年7月30日之前全部到岗(企业计划)
注释培训的内容及时间安排会根据企业的实际情况适当调整
 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息