教学大纲
课程安排
课 程 简 介

第一周
嵌入式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

精通

嵌入式应用程序开发

网络通讯应用开发

精通

数据库存储应用开发

熟悉

多媒体应用开发

熟悉

图形用户界面开发

精通

Shell 编程技巧

熟悉

【说明】
精通 ―― 表明对于所学内容和工具的原理进行过深入分析,了解相关内容实现的具体技术细节,并掌握
          了相关工具的高级使用技巧。
熟悉 ―― 表明对于所学内容和工具能够融会贯通,掌握相关内容的基本概念,并能够熟练使用相关工具
          的常用技巧。
了解 ―― 表明对于所学内容和工具一般了解,能够区别相关内容在概念上的异同,并能够初步使用相关
          工具。

嵌入式Linux系统工程师都学些什么?相关推荐

  1. 如何成为嵌入式Linux系统工程师

  2. linux程序设计师什么,成为物联网工程师要学些什么?

    原标题:成为物联网工程师要学些什么? 物联网的出现极大方便了我们的生活,同时也带动了一批以物联网为基础的企业,可以说目前物联网的发展前景相当好.物联网其实就是一个物物相连的一个物与物之间的网络,那么想 ...

  3. [转载]----linux系统工程师的前途在哪里?

    引言: 在alex的公开课上他说到在2011年的时候写过一遍关于linux系统工程师的前途在哪里?的文章,我在网上搜了一下,给找到以后拜读了一下,并在这里转载一下! 文章原地址: http://bbs ...

  4. step by step 构建嵌入式Linux系统平台

    前些日子写的一些文章,大家可以看看... 为了适应目前嵌入式系统操作平台在性能.成本.可靠性等各方面的要求,论述了以Linux作为操作系统平台的优势,分析了以PC104卡和CompactFlash卡构 ...

  5. 嵌入式linux零基础培训,零基础精通嵌入式linux系统有那么容易吗

    嵌入式linux系统让你从入门到精通,新手必备学习技术你要不要来试试.对于新手来说,嵌入式linux系统应该如何更快更好的学习,首先可以告诉你:你要有C语言基础,看你走哪方面,看是底层系统还是应用层开 ...

  6. 【转载,整理】Linux模拟试题及答案(全)+经典Linux系统工程师面试题(附答案)

    转自:http://www.ha97.com/871.html   http://www.ha97.com/870.html 2010-6 11 经典Linux系统工程师面试题(附答案) 发表于: L ...

  7. 网络工程师都学什么?网络工程师学习路线内容

    大家在备考软考的时候肯定想着选择那些科目报名比较好,比较有发展前途,这里给大家整理了网络工程师的学习路线以及学习内容,仅供大家参考. 网络工程师是从事计算机信息系统的设计.建设.运行和维护工作,掌握网 ...

  8. 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API

    Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...

  9. Linux系统工程师的必备素质

    最近在51cto上发表的博文:怎样成为优秀的Linux系统工程师(http://johnwang.blog.51cto.com/474770/886245)收到了很多朋友的关注,也大大出乎我的意料.没 ...

最新文章

  1. 怎么成为优秀的软件模型设计者?
  2. 深浅复制的的理解与区别
  3. 操作系统实验之作业调度算法
  4. Python 下载依赖包环境经常失败超时解决方法
  5. 最短路径问题-Dijkstra算法的python实现
  6. JEPaas功能_isEmpty(b.getValue())?“doSave“:“doUpdate“;
  7. python oracle连接池_【Python + Oracle】Python Oracle连接池—改进版
  8. css compressor java_利用YUI Compressor压缩JS/CSS之终极秘籍
  9. 计算机语言python发音_Python如何像scratch一样朗读文字?
  10. Android蓝牙开发实战总结
  11. HTTP 状态码大全
  12. 西门子数控系统数据采集方案
  13. 聚焦NFT+DeFi应用价值 Trister World共识研讨会于南京顺利召开
  14. 买服务器需要看哪些参数,如何看服务器配置
  15. 视频号是微信生态的中场核心?
  16. 未来可期(关于高考和现在处境的看法)
  17. 2020年技术研发岗薪酬排名
  18. 使用PN532向小米手环写入加密卡(复制门禁卡)
  19. 智能车机械结构设计与踩雷
  20. 无法往开启kerberos的zookeeper上注册服务_英雄联盟手游拳头账号有几个区?lol手游韩国账号怎么注册?...

热门文章

  1. 调用支付宝进行网页扫码支付
  2. 《庄子·外篇·在宥第十一》
  3. 发动机噪音测试软件,Accelomemer
  4. 搜索引擎分类与工作原理
  5. 程序员的 Redis 面试金典
  6. Halcon工具之轮廓线
  7. 设计原则-合成复用原则
  8. 【五一创作】智能手机还是不够智能?这些事情交给自动化来做吧:3、打造自己掌控的AI语音助理
  9. Python 集合添加元素
  10. python数据图表可视化GUI,python做可视化数据图表