嵌入式Linux学习之规划篇_第1页
嵌入式Linux学习之规划篇_第2页
嵌入式Linux学习之规划篇_第3页
嵌入式Linux学习之规划篇_第4页
嵌入式Linux学习之规划篇_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选优质文档-----倾情为你奉上精选优质文档-----倾情为你奉上专心---专注---专业专心---专注---专业精选优质文档-----倾情为你奉上专心---专注---专业嵌入式Linux学习之规划篇嵌入式Linux课程目标是达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质。采用了目前应用最广泛的软硬件开发平台(Linux和Arm)。学习步骤如下:1、Linux

基础安装Linux操作系统Linux文件系统

(windows的文件共享)Linux的基本命令及使用Linux启动过程详解熟悉Linux服务能够独立安装Linux操作系统能够熟练使用Linux系统的基本命令认识Linux系统的常用服务安装Linux操作系统Linux基本命令实践设置Linux环境变量定制Linux的服务

Shell

编程基础使用vi编辑文件使用Emacs编辑文件使用其他编辑器2、Shell

编程基础Shell简介认识后台程序Bash编程熟悉Linux系统下的编辑环境熟悉Linux下的各种Shell熟练进行shell编程熟悉vi基本操作熟悉Emacs的基本操作比较不同shell的区别编写一个测试服务器是否连通的shell脚本程序编写一个查看进程是否存在的shell脚本程序编写一个带有循环语句的shell脚本程序3、Linux

下的

C

编程基础linuxC语言环境概述Gcc使用方法Gdb调试技术AutoconfAutomakeMakefile代码优化

熟悉Linux系统下的开发环境熟悉Gcc编译器熟悉Makefile规则编写Hello,World程序使用

make命令编译程序编写带有一个循环的程序调试一个有问题的程序4、嵌入式系统开发基础嵌入式系统概述交叉编译配置TFTP服务配置NFS服务下载Bootloader和内核嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程建立嵌入式系统开发环境制作cross_gcc工具链编译并下载U-boot编译并下载Linux内核编译并下载Linux应用程序嵌入式系统移植Linux内核代码平台相关代码分析ARM平台介绍平台移植的关键技术移植Linux内核到

ARM平台

了解移植的概念能够移植Linux内核移植Linux2.6内核到

ARM9开发板【1

配置编译Linux内核1.1Linux内核源代码结构1.2Linux内核编译选项解析1.3Linux内核编译链接2.0Linux启动过程源代码分析3.0Linux内核移植平台相关代码分析】5、嵌入式

Linux

下串口通信串行I/O的基本概念嵌入式Linux应用软件开发流程Linux系统的文件和设备与文件相关的系统调用配置超级终端和MiniCOM

能够熟悉进行串口通信熟悉文件I/O

编写串口通信程序编写多串口通信程序6、嵌入式系统中多进程程序设计

Linux系统进程概述嵌入式系统的进程特点进程操作守护进程相关的系统调用了解Linux系统中进程的概念能够编写多进程程序编写多进程程序编写一个守护进程程序sleep系统调用任务管理、同步与通信

Linux任务概述任务调度管道信号共享内存任务管理

API

了解Linux系统任务管理机制熟悉进程间通信的几种方式熟悉嵌入式Linux中的任务间同步与通信编写一个简单的管道程序实现文件传输编写一个使用共享内存的程序【主要包括系统编程(信号/系统调用/管道/FIFO/消息队列/共享内存等),文件I/O编程(文件描述符/文件读写接口/原子操作/阻塞与非阻塞IO等,多任务和多线程编程(进程标识/

用户标识/fork与vfork/多线程概念/线程同步等),网络编程(网络基本概念/套接口编程/网络字节次序/Client/Server结构/UDP编程);掌握Linux下Socket编程的开发流程,熟悉网络编程的调用接口函数和相关数据结构,内容包括文件I/O编程,多线程编程,网络编程和项目文档编写】7、嵌入式系统中多线程程序设计线程的基础知识多线程编程方法线程应用中的同步问题了解线程的概念能够编写简单的多线程程序编写一个多线程程序8、嵌入式

Linux

网络编程网络基础知识嵌入式Linux中TCP/IP网络结构socket

编程常用

API函数分析Ping命令的实现基本UDP套接口编程许可证管理PPP协议GPRS

了解嵌入式Linux网络体系结构能够进行嵌入式Linux环境下的socket

编程熟悉UDP协议、PPP协议熟悉GPRS

使用socket

编写代理服务器使用socket

编写路由器编写许可证服务器指出TCP和UDP的优缺点编写一个web服务器编写一个运行在

ARM平台的网络播放器9、GUI

程序开发GUI基础嵌入式系统GUI类型编译QT进行QT开发熟悉嵌入式系统常用的GUI能够进行QT编程使用QT编写“Hello,World”程序调试一个加入信号/槽的实例通过重载QWidget

类方法处理事件10、Linux

字符设备驱动程序设备驱动程序基础知识Linux系统的模块字符设备驱动分析fs_operation结构加载驱动程序了解设备驱动程序的概念了解Linux字符设备驱动程序结构能够编写字符设备驱动程序编写Skull驱动编写键盘驱动编写I/O驱动分析一个看门狗驱动程序对比Linux2.6内核与2.4内核中字符设备驱动的不同Linux

块设备驱动程序块设备驱动程序工作原理典型的块设备驱动程序分析块设备的读写请求队列了解Linux块设备驱动程序结构能够编写简单的块设备驱动程序比较字符设备与块设备的异同编写MMC卡驱动程序分析一个文件系统对比Linux2.6内核与2.4内核中块设备驱动的不同11、文件系统虚拟文件系统文件系统的建立ramfs内存文件系统proc文件系统devfs

文件系统MTD技术简介MTD块设备初始化MTD块设备的读写操作了解Linux系统的文件系统了解嵌入式Linux的文件系统了解MTD技术能够编写简单的文件系统为

ARM9开发板添加

MTD支持移植JFFS2文件系统通过proc文件系统修改操作系统参数分析romfs

文件系统源代码创建一个cramfs

文件系统

嵌入式处理器体系结构及编程实践

主要介绍ARM体系结构及其基本编程知识,包括指令分类,寻址方式、指令集、存储系统、异常中断处理、汇编语言以及C\C++和汇编语言的混合编程等知识。同时结合ARM嵌入式开发板硬件设计原理和基本硬件设计流程,分析各种外设的工作原理和驱动机制,并自己动手实践完成一个ARM开发板上的编程大作业。嵌入式Linux开发基础及高级应用

主要介绍嵌入式Linux开发应用程序的基本流程和知识,包括嵌入式Linux基本概念和开发流程、Bootloader工作原理、内核裁减配置和交叉编译、根文件系统制作、网络编程以及图形界面和数据库开发等知识。同时独立完成一个基于嵌入式LinuxGUI的应用编程大作业。嵌入式

Linux驱动理论及驱动程序开发实践

主要介绍嵌入式Linux上驱动程序开发规范,包括设备驱动程序概念、字符设备驱动程序、块设备与网络设备、网卡驱动以及常用嵌入式设备驱动开发等知识。同时独立实现两种嵌入式设备驱动程序的编写,包括驱动模块的调试和加载以及完整的项目开发文档的编写。嵌入式Linux项目团队开发实践锻炼

主要包括设计并实现一个真实和完整的嵌入式项目的开发流程,涉及到数据采集、网络通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。要求学员建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤最重要的是:手头要有一块嵌入式板子进行实践。❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤C语言《CPrimerPlus,5thEdition》【美】StephenPrata著TheCprogramminglanguage《C程序设计语言》PointersonC《C和指针》Ctrapsandpitfalls《C陷阱与缺陷》

ExpertCLanuage《专家C编程》

WritingCleanCode-----MicrosoftTechiniquesforDevelopingBug-freeCPrograms《编程精粹--Microsoft

编写优质无错C程序秘诀》

ProgrammingEmbeddedSystemsinCandC++《嵌入式系统编程》《C语言嵌入式系统编程修炼》《高质量C++/C编程指南》林锐Linux基础1、《Linux与UnixShell

编程指南》2、《鸟哥的

Linux

私房菜

基础学习篇(第二版)》3、《Linux程序设计.第3版》3、《AdvancedProgrammingintheUNIXEnvironment,2ndEdition》(APUE)4、《嵌入式Linux应用程序开发详解》Linux内核1、《深入理解Linux内核》(第三版)2、《Linux内核源代码情景分析》毛德操

胡希明著研发方向1、《UNIXNetworkProgramming》(UNP)2、《TCP/IP详解》3、《Linux内核编程》4、《Linux设备驱动开发》(LDD)硬件基础计算机组成原理1、《ARM体系结构与编程》杜春雷著英语基础1、《计算机与通信专业英语》系统教程1、《嵌入式系统――体系结构、编程与设计》2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操

胡希明著3、《BuildingEmbeddedLinuxSystems》理论基础1、《算法导论》2、《数据结构(C语言版)》3、《计算机组织与体系结构?性能分析》4、《深入理解计算机系统》【美】RandalE.BryantDavidO'Hallaron著5、《操作系统:精髓与设计原理》6、《编译原理》7、《数据通信与计算机网络》8、《数据压缩原理与应用》《unix环境高级编程》Stevens先生的《unix环境高级编程》如果对网络编程有兴趣的,可以学习一下Stevens先生的《UNIX网络编程》两卷可以再看看《TCP/IP详解》三卷)。《计算机编程艺术》对算法有兴趣得可以研究一下。《linux设备驱动程序》《深入理解Linux内核》Linux上的应用编程:《APUE》和《UNP》,前者锻炼基本功,后者学习网络编程。❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤不管做什么,学什么,一要心态好,二要态度好。所谓心态好就是不要着急、不用担心;所谓态度好是多分享、多讨论、学出自己的心得。学习靠自己,不要期望别人教你什么,学习要主动;不管水平高低,不要看不起自己,也不能看不起别人,学习要心态好;不能不思进取,也不用让自己为技术所累,给自己多一点技术之外的时间;耐心,刻苦,尝试,失败。学习的过程可能会是饱受挫折和孤独的。要知道为什么学?要知道学的是什么?要知道怎么学?要知道学了如何用?最后还要知道用的时候出了问题该如何解决?What

How

Why❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤2

LinuxC语言包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识重点讲解数据结构的基础内容,包括链表、队列、栈、树、哈希表、图等内容。函数

函数为程序员提供了最基本的代码复用能力,函数在调用返回时究竟发生了什么?局部变量如何分配空间?可变参数列表的机制如何?我们将在这个环节深入底层,去揭开函数调用的面纱。

函数的类型和返回值

函数的参数传递

函数调用过程中的栈帧结构

可变参数列表

递归函数调用3学时

指针

指针,它让C语言与众不同。如何判断指针的类型?指针的速度真的快么?指针运算和整数运算有何不同?指针和数组一样么,不一样么?我们将在这个环节用简单明了的技巧解决一系列含混的指针问题。

判断指针的类型

指针的运算

数组和指针的同异

指向函数的指针

指针与抽象3学时

预编译

如果说指针是C语言的灵魂,那么预编译就是C语言的生命。预编译使得C语言可以变化出多样的外观。预编译如何提高编码的效率?宏定义中有哪些陷阱?文件包含的时候发生了什么?我们将在这个环节用精确的语言来阐述完整的预编译的技巧。

对象宏和函数宏

宏定义技巧和常见错误

#和##运算符

条件编译

文件包含3学时

字符串

字符串处理,这大概是C语言最不擅长的事情。C语言的字符串处理有许多被遗忘的角落。在这一阶段,我们带领你重拾C语言的字符串处理函数,以充实你的C语言武器库。

C风格字符串

标准C字符串库函数一览

重点函数实现解析

C字符串处理范例3学时

链接

链接使得程序员可以复用二进制的编译结果。不同种类的变量被放到了哪里?如何控制代码在内存中的位置?PC程序员也许不是很关心的这些问题,但这却是嵌入式程序员的必经之路。我们将在这个环节补上知识链条中缺失的一环。

链接和elf文件格式概述

程序的存储映像

链接脚本和嵌入式程序的存储3学时

文件IO

一切都是文件。在我们的整个课程体系中,我们将从不同的角度来审视这一句话。在这个阶段,我们用C语言来审视UNIX世界中的这个基本价值观。

流和IO重定向

文本文件与二进制文件

用标准C库进行文件操作标准C和系统调用

主要介绍在嵌入式开发编程中C语言的重要概念和编程技巧中的重点难点,以复习串讲和实例分析的形式,重点介绍包括函数与程序结构,指针、数组和链表,库函数的使用等知识。主要包括整数算法训练,递归和栈编程训练,位操作训练,指针训练,字符串训练和常用C库函数编程接口实践,强化对Linux下基本编程开发的理解和编码调试的能力。❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤

❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤编程规范的问题:一般较为正规的软件公司都会有自己的一套完成的编程规范,那么你遵守就好;如果你是自己学习的话,可以选择一个较为通用的规范,最好的方法就是看别人是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论