嵌入式Linux应用与开发实践
分享
课程详情
课程评价
spContent=嵌入式是一个比较综合的技术领域,其“软硬结合”,包括处理器、驱动程序、操作系统内核、文件系统、应用程序、编程语言等,涉及知识点广泛而复杂。不论您以前是否接触过Linux,也不论您目前是在校学生、自由职业者或是在企业上班,只要您熟悉基本的计算机操作,就可以加入我们的课程。
—— 课程团队
课程概述

《嵌入式Linux应用与开发实践》是面向物联网系统集成与维护岗位的课程,也是满足职业岗位任职要求的基本能力课程。通过该课程的学习,学生了解嵌入式系统的概念及开发方法,开发过程等,能熟练安装和配置Linux操作系统,熟练使用Linux的常用命令,并能看懂在线帮助,熟练掌握linux常用服务的配置方法。理解嵌入式系统基础知识,要求学生掌握嵌入式系统程序设计的基本原理和设计方法,具备基本的嵌入式系统软件开发能力,可熟练搭建嵌入式系统开发环境,嵌入式系统移植。掌握Qt的开发工具与开发环境,了解Qt 基本组件与框架,可编写简单的嵌入式应用程序,并掌握嵌入式程序调试方法。

通过真实项目引导教学,以任务式展开教学,完成理论知识的学习和应用,实现理论与实践结合。 课程安排了八个项目,项目均源于真实的校企合作项目,以三个实际项目作为教学载体,由易到难,由简到繁,逐层深入,步步递进,展开教学。三个项目又相辅相成融为一个整体,既满足教学的基本要求,又将实际工作所要求的基本知识、技能都融入项目实施过程中。



授课目标
掌握Linux常用操作命令,与系统管理;理解嵌入式系统进程管理,文件管理,Linux内核;熟悉ARM在不同硬件平台下的操作系统移植和设备驱动文件管理等相关知识,学习QT程序开发,进行嵌入式系统程序的调试。使学生学会嵌入式开发的分析问题、解决问题的思维方法,掌握程序设计的基本方法和常用算法;
课程大纲


教学项目

教学内容

知识、技能、素质要求

项目1 认识嵌入式系统(4学时)

嵌入式系统的概念及开发方法

了解嵌入式软件开发的一般流程以及知识结构,了解各种流行的Linux发行版本,了解Linux的优点、架构及内核版本的命名规则,掌握Linux、虚拟机及远程登录软件的安装。提高分析问题的能力,提高学习和探索的能力。

项目2 体验Linux系统(12学时)

文件管理、内容管理、权限管理相关linux命令、备份压缩、系统管理、 进程控制、 网络设置。vigeidt编辑工具的使用。

掌握常用的文件和目录命令、显示命令;掌握Linux下创建新用户、修改用户权限、停止用户、默认用户设置等用于用户管理的命令;掌握进程管理和作业控制命令、文件压缩与备份命令、网络命令及其他命令掌握Linux下组管理的相关命令;掌握Linux下挂载和卸载常用设备的命令;了解设备文件的概念;理解文件管理系统;掌握与文件系统的创建、安装、卸载与维护相关的命令;vi编辑器的基本使用方法,vi的常用命令。Gedit编辑工具的使用;提高学习和创新的能力,提高团队协作能力。

项目3 配置嵌入式开发常用服务(8学时)

linux操作系统nfs   tftpsshsmaba常用服务配置

了解nfs tftpsshsmaba的基本原理;掌握服务配置方法;初步掌握服务安装配置维护和故障排除方法

项目4 使用嵌入式开发常用开发工具(8学时)

GCCGDBMakefile文件

熟练使用GCCGDB工具、了解Makefile文件;提高学习和创新的能力;提高团队协作能力。

项目5 构建嵌入式Linux开发环境(8学时)

目标板硬件连接、目标板引导过程,系统引导过程,目标板初次运行。ARM虚拟机配置、交叉工具链安装,主机Linux环境网络配置,主机服务安装与配置。

了解终端及终端与主机的连接方法,目标板连接的电源、端口及安装的操作系统,装载引导程序支持的命令;了解交叉开发环境、   对主机系统的要求、为目标板提供服务、配置以及使用TFTP服务器、   BOOTP/DHCP 服务器、 NFS服务器、目标板使用NFS挂载根文件系统、 U-Boot中使用NFS挂载根文件系统、ARM虚拟机配置;提高分析问题的能力,提高学习和探索的能力。

项目6 嵌入式Linux  C   应用程序开发(8学时)

文件I/O编程,串口编程、网络编程实例。

掌握文件读写(readwriteclose及文件描述符文件属性理解)目录操作及应于些系统调用c库函数;Socket网络编程(socket,   bind, listen, accept, sendto, recvfrom)理解网络编程模型。提高学习和创新的能力,提高团队协作能力。

项目7 移植Bootloader8学时)

Bootloader相关知识,移植方法,viviU-Boot的使用方法。

掌握bootloader启动流程,vivi移植开发,u-boot移植开发,bootloader的烧写,viivu-boot的使用;提高学习和创新的能力,提高团队协作能力。

项目8 内核移植8学时)

Linux内核组成,Linux内核配置选项,Linux内核裁剪配置。

掌握嵌入式linux2.6移植,linux内核配置选项,了解 linux内核启动流程;初步掌握内核移植方法和故障排除方法

项目9 文件系统(8学时)

文件系统的组成,以BusyBox为基础进行嵌入式开发板文件系统移植

了解linux常见文件系统,文件系统结构,掌握制作根文件系统,busybox的配置编译,根文件系统制作,根文件系统烧写;提高分析问题的能力,提高学习和探索的能力。

项目10  嵌入式GUI应用开发与移植(8学时)

GUI的一般架构,嵌入式GUI的底层支撑和高级函数库, Qt/Embedded开发环境的创建和使用

掌握Qt的开发工具与开发环境,了解Qt 基本组件与框架,可编写简单的嵌入式应用程序,并掌握嵌入式程序调试方法;提高分析问题的能力,提高学习和探索的能力。



 

预备知识

证书要求

 课程成绩由四部分组成,单元测验+单元作业(互评作业)+线上考试+论坛讨论,其比例分别是30%、20%、40%、10%。课程成绩60~84分为合格,85~100分为优秀。



参考资料


课程配套教材 


《嵌入式Linux开发实践教程》 

作者:平震宇  出版社:机械工业出版社    ISBN:9787111571292

http://product.dangdang.com/25123267.html


课程参考资料:

 

韩超等著. 嵌入式Linux系统开发全过程解析[M]. 北京:电子工业出版社 2014.5

刘峥嵘等编著.嵌入式Linux应用开发详解[M]. 北京: 机械工业出版社 2004.7

韦东山主编.嵌入式LINUX应用开发完全手册(附光盘)[M]. 北京: 人民邮电出版社 2008.8

申华主编.嵌入式LINUX系统软硬件开发与应用[M]. 北京: 北京航空航天大学出版社 2013.9

汪明虎,欧文盛 编著. ARM嵌入式Linux系统开发丛书[M]. 北京:中国电力出版社 2007.7

林晓飞,刘彬,张辉.基于ARM嵌入式Linux应用开发与实例教程[M]. 北京:清华大学出版社 2007.7

弓雷等编著.ARM嵌入式Linux系统开发详解[M]. 北京:清华大学出版社 2014.2



常见问题

嵌入式linux开发实践课程精心选择各个项目和任务、力争做到既有针对性,又能够让学生通过完成相应任务很快掌握对应知识。