新闻  |   论坛  |   博客  |   在线研讨会
嵌入式Linux研发工程师培训大纲
mayer | 2009-06-02 18:39:45    阅读:1382   发布文章

 

本课程系统学习Linux操作系统、嵌入式C语言程序设计、数字电路、ARM体系结构及其编程、嵌入式系统应用开发等技术知识。通过这些知识的学习,让学生掌握嵌入式系统开发的基本原理和设计方法,并通过实际项目的开发,让学生掌握嵌入系统开发的整个流程,操作系统的移植的基本思想,移植原则,应用程序及驱动程序的开发和调式方法。

本课程理论与实践相结合,理论与实战的课时比例约为5:5;由有关专家、学者和优秀的一线资深嵌入式工程师,集合国际先进嵌入式技术和理论,对嵌入式开发过程进行综合分析,结合最新的软件开发环境,进行实际案例的培训;实战训练贯穿于全部课程中,学员学练结合、学以致用,以培养实际工作能力,快速获得项目经验。每半月进行一次测试,确保学员掌握所学知识。本课程学习中需要开发试验版支持,本公司选用最新的的ARM开发版,支持ADS1.2(开发环境)等调试。

课程单元
主要内容
Linux 操作系统基础
主要介绍 Linux 的基本知识,包括发展历史、系统安装、基本命令和系统管理,Linux 下的常用工具、以及各种应用服务配置等知识。
介绍 Linux 上的程序设计基础知识,包括编程风格(GNU/K&R)、应用开发(gcc/gdb/make&Makefile)、源代码管理(CVS)等知识。
嵌入式C语言程序设计
主要剖析C语言语法的重点难点,掌握代码编译、连接及生成可执行文件的内部过程;
掌握函数、变量、指针运行时内存布局等基本概念的精髓;掌握嵌入式开发中交叉编译与链接的用法;
介绍嵌入式开发中的C语言编程特点,包括堆和栈、动态内存分配、易失寄存器变量、链接时的段布局以及对处理器现场保护、汇编语言与C混合编程等概念和原理做深入分析。
Linux C编程强化训练
主要包括整数算法训练,递归和栈编程训练,位操作训练,指针训练,字符串训练和常用C编程接口实践,强化学员对Linux下基本编程开发的理解和编码调试的能力。
Linux环境高级编程
主要包括:
1.系统编程(信号/系统调用/管道/FIFO/消息队列/共享内存等),
2.文件I/O编程(文件描述符/文件读写接口/原子操作/阻塞与非阻塞IO等),
3.多任务和多线程编程(进程标识/用户标识/fork与vfork/多线程概念/线程同步等),
4.网络编程(网络基本概念/套接口编程/网络字节次序/ Client/Server 结构/ UDP 编程);掌握Linux下Socket编程的开发流程,熟悉网络编程的调用接口函数和相关数据结构。
编程实践
主要进行一个团队合作项目的开发,综合前面所学内容和编程技术,考核内容包括文件I/O编程,多线程编程,网络编程和项目文档编写。
嵌入式ARM体系结构
介绍 ARM体系结构及其基本编程知识,包括基本编程模型,指令分类,寻址方式、指令集、存储系统、异常中断处理等基础知识和概念,以及包括ARM汇编语言以及C\C++和汇编语言的混合编程等编程知识和技巧。
ARM开发实践
介绍ARM嵌入式开发板硬件设计原理和基本硬件设计流程,分析嵌入式开发板各种外设的工作原理和驱动机制,了解基于ARM 开发的若干编程技巧和编程思想,并自己动手实践完成一个ARM开发板应用程序。
嵌入式Linux高级应用
主要介绍嵌入式Linux应用程序编程高级技巧
1.嵌入式图形界面的开发(包括MiniGUI和QT/Embedded)
2.嵌入式数据库(SQLite)编程技巧等知识。
嵌入式Linux驱动理论
主要介绍嵌入式 Linux 上驱动程序开发规范
1.       设备驱动程序概念、
2.     字符设备驱动程序、
3.     块设备与网络设备、网卡驱动
4.     常用嵌入式设备驱动开发等知识。
嵌入式Linux驱动实践
主要完成团队合作项目的开发,综合前4周所学内容,实现一个嵌入式Linux设备驱动程序编写的项目需求,考核内容包括嵌入式硬件外设的基本工作原理、Linux驱动程序的编程框架、驱动模块的调试和加载以及完整的项目开发文档。
实战项目一
电子点菜系统(采用ARM S3C2410芯片)
项目描述:本项目的目标是实现一个基于UDP通讯的局域网点菜系统,系统具备与网内应用服务器提取菜单信息以及将客户点菜信息发往应用服务器的能力。
★软件平台: RedHat 9.0 、uCLinux
★硬件平台: 2410开发板
★项目成员: 由学员组成。
★功能描述: 实现一个基于UDP通讯的点菜系统。
实战要求:
1)         UDP通讯协议
2)         嵌入式数据库与持久存储
3)         信息压缩与解压缩
4)         图形界面QT
实战项目二
基于ARM的网络播放器
主要内容包括设计并实现一个真实和完整的嵌入式项目的开发流程,涉及到数据采集、网络通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。带领大家建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。考核内容包括嵌入式Linux网络通信、图形界面开发,嵌入式数据库编程,嵌入式驱动开发等以及完整的项目开发文档。
实战项目三
PMP开发
项目简介:所谓PMP,又名MP4。是当前逐渐流行的消费类电子产品。项目基于以 ARM920T为核的S3C2410和Linux,进行实践练习。
实践内容主要包括:Bootloader、Kernel及根文件系统重构,相关设备驱动编写,当前主流GUI库QT与Nano-X的移植,基于QT或Nano-X的应用程序设计,Linux多线程程序设计,Linux进程间通讯(IPC)编程,Socket编程,视频播放器,音频播放器的设计与编码,交叉编译器重构等等。该实践项目涉及到了嵌入式Linux开发的各个层面,可以大幅提高学员的实际Linux开发能力。
实战要求:
5)       进行需求分析、撰写总体设计报告;
6)       选择合理的体系结构,确定开发方案
7)       编写程序要规范

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客