华嵌 嵌入式课程.docx

上传人:b****8 文档编号:9281853 上传时间:2023-02-04 格式:DOCX 页数:18 大小:22.34KB
下载 相关 举报
华嵌 嵌入式课程.docx_第1页
第1页 / 共18页
华嵌 嵌入式课程.docx_第2页
第2页 / 共18页
华嵌 嵌入式课程.docx_第3页
第3页 / 共18页
华嵌 嵌入式课程.docx_第4页
第4页 / 共18页
华嵌 嵌入式课程.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

华嵌 嵌入式课程.docx

《华嵌 嵌入式课程.docx》由会员分享,可在线阅读,更多相关《华嵌 嵌入式课程.docx(18页珍藏版)》请在冰豆网上搜索。

华嵌 嵌入式课程.docx

华嵌嵌入式课程

华嵌嵌入式就业班课程大纲(新)

Linux基础:

第1-4周上(周末班)

课程知识点

具体课程掌握知识点

与知识点相关的项目

与知识点相关的作业与实验

linux开发环境搭建

linux简介、vmware下安装redhat

完成vmware下安装linux

linuxC语言编程环境

linux基本命令ls、mkdir等介绍、编辑器Vim的使用、编译器Gcc调试器Gdb的使用。

编写、编译和调试一个C程序

linux文件和目录管理

文件类型和属性、通配符、压缩命令、文件的inode和链接文件、管道与重定向

完成ppt课后作业

linux进程管理

程序和进程的关系、进程的几个状态、后台执行、rpm软件包的安装

安装ftp服务器

shell脚本编程

熟悉bash,shell脚本的语法规则

完成ppt课后作业

linux启动详解和常用服务器配置

了解系统启动过程、运行等级与系统服务启动关系;NFS服务器、FTP服务器、samba服务器的配置和使用

完成NFS、FTP和samba三种服务器的搭建

linux网络配置和设备文件挂载

网络地址的几个概念、linux配置网络的方法、文件系统挂载

挂载cdrom,并安装vmwaretools

makefile的编写规则、autotools的使用

makefile的语法规则、autotools自动生成makefile的方法

完成ppt课后作业

C语言基础:

第1-6周期间学习

课程知识点

具体课程掌握知识点

与知识点相关的项目

与知识点相关的作业与实验

基本数据类型和格式化输入输出函数

数据在计算机的存储、原码补码、各种数据类型及存储方式、常量、转义字符,大端小端。

printf和scanf等基本输入输出函数

原码补码习题练习,大端小端练习,printf和scanf练习

运算符、表达式和语句

基本运算符,运算符的优先级,sizeof,自增自减运算符,类型转换,复合语句。

sizeof的使用练习,自增自减的分析,运算中隐式类型升级练习

控制结构和输入输出缓冲区

循环、分支跳转语句、逗号运算符和条件运算符。

标准输入输出函数的缓冲区介绍。

C语言语句分析,一些逻辑思维题目练习

函数和进程的内存布局

函数定义及返回值,取地址符&,函数参数值传递和地址传递,全局变量和static变量,static函数和内联函数,进程的内存布局,函数调用过程中的栈结构,递归函数的基本原理及函数调用分析

代码书写规范,递归函数的调用分析与实践

预处理指令和常用库函数

宏定义的书写规则,文件包含,条件编译。

宏和函数的区别,头文件的书写规则。

数学库和随机数函数,exit和atexit函数,断言。

库函数的使用,宏定义的习题,分析宏的利弊。

条件编译的使用。

数组和指针

一维和多维数组定义、初始化和使用及内存布局,多维数组是数组的数组,字符数组和字符串。

指针的基本概念,*解引用,指针的运算,数组和指针的异同(这块需要总结加实践),函数指针,复杂声明的分析。

指针练习题,结合函数练习指针的用法。

字符串和字符串函数

程序中定义字符串,字符串输入和输出函数,字符串处理函数,内存处理函数,malloc/free函数,内存泄露及段错误问题。

函数的使用和代码实现。

malloc/free函数的代码分析。

结构体和链表

结构体定义、初始化及使用,结构体与指针,结构体作为函数参数,typedef定义新类型,类型对齐及结构体填充,链表练习;共用体

malloc和free功能的模拟实现

结构体代码分析,结构体对齐的代码分析,链表练习题。

位运算

优先级,结构体的位字段。

位运算常考题练习

文件输入输出函数

命令行参数,文件打开与关闭,读写,定位操作,文件缓冲区设置函数。

待定

常用文件操作函数的练习题目

(C实验配42课时左右)

数据结构:

第5-9周学习

课程知识点

具体课程掌握知识点

与知识点相关的项目

与知识点相关的作业与实验

链表

顺序表、单向链表、双向链表、双向循环链表的设计及应用场景

几种链表及相关操作的实现及测试,链表练习题目。

栈和队列

栈和队列的概念,顺栈和循环队列的设计思路及应用场景。

用分治法设计递归算法

栈和队列的四种实现。

相关练习题目。

递归算法的练习。

二叉树

二叉树的相关概念,前中后序遍历算法,层次遍历算法的介绍。

二叉排序树插入和删除结点算法。

用回溯法设计递归算法。

二叉排序树的相关算法的实现。

递归算法的练习

查找

顺序查找和折半查找,哈希表

折半查找和哈希表的实现。

相关练习题。

排序

各种内部排序算法的思路及性能分析。

三种简单排序,快速排序、堆排序、归并排序。

快排、堆排、归并排序的实现。

相关练习题

学生自测题

针对各种数据结构,提供头文件和测试代码,方便学生编程。

(数据结构实验配36课时左右)

ARM开发板实验:

第6-8周学习

课程知识点

具体课程掌握知识点

通过开发板的使用手册来初步的了解开发板的功能

1.开发环境的搭建

2.u-boot,kernel,filesystem的烧写

3.熟悉开发板(NFS,挂载,应用程序)

编译uboot,kernel,filesystem

1.uboot的介绍及编译

2.kernel的介绍及编译

3.filesystem的介绍及编译

添加硬件模块便对硬件模块进行操作

1.实现led流水灯

2.对设备的应用程序操作

(ARM实验分为前后两部分,18课时在嵌入式基础课前,12课时在嵌入式基础课结束阶段)

嵌入式基础:

第9-12周学习

课程知识点

具体课程掌握知识点

与知识点相关的项目

与知识点相关的作业与实验

嵌入式系统的基础知识及开发板硬件设计

1、嵌入式系统概述

2、开发板的介绍

3、基于ARM技术的嵌入式系统硬件架构

4、ARM外围硬件设计

5、嵌入式系统硬件平台选型

6、常用处理器芯片

7、常用嵌入式操作系统

8、ARM处理器及芯片选型

9、嵌入式系统的组成和开发流程介绍

开发环境的搭建linux环境下的开发环境和windows下的keil或ADS

1、集成开发平台(ADS、IAR、KEIL)

2.针对arm-linux的交叉编译调试环境

3.调试、烧录工具选择和配置

在windows下开发环境的安装,并实现流水灯的实验

引导机制

NORFLASH

NANDFLASHRAM

Keil或ADS下的开发与环境使用分析

1、CodeWarrior集成开发环境

2、Armcc/armlink使用法详解

3、调试器及调试工具(axd/jtag)

4、辅助开发工具(fromelf/armprof/nmake/Makefile)

5、参数设置选项

6、内存地址重映射(memoryremap)

7、堆栈初始化(stack&heap)

8、RO/RW/ZI段地址分配

9、系统呼叫机制(SoftWareInterrupt)

ARM的指令系统

1、ARM指令概述与特点

2、ARM寻址方式

3、ARM/Thumb指令集

4、ARM汇编与C混合编程

5、中断与异常处理机制

对ARM指令可以利用开发环境进行理解

启动代码分析

1、Init启动代码分析

2、启动代码基本概念和执行流程

3、全局变量和局部变量的存储结构

4、程序的存储和加载过程

Arm接口实验

1、嵌入式系统常用接口电路介绍

2、UART接口

3、SPI接口

4、IIC接口

5、RTC6、时钟和电源管理

7、看门狗

8、结合包括常用接口、总线、模块介绍

1、ARM开发板-启动代码烧写实验2、ARM开发板-LED显示灯实验3、ARM开发板-蜂鸣器实验4、ARM开发板-中断按钮实验5、ARM开发板-定时器实验ARM开发板-串口通讯实验

1、ARM开发板-启动代码烧写实验2、ARM开发板-LED显示灯实验3、ARM开发板-蜂鸣器实验4、ARM开发板-中断按钮实验5、ARM开发板-定时器实验ARM开发板-串口通讯实验在有文件系统的情况下对设备进行实验

(配ARM实验的第二部分12课时)

高级编程:

第7-13周学习

课程知识点

具体课程掌握知识点

与知识点相关的项目

与知识点相关的作业与实验

linux文件I/O编程

1、Glibc简介

2、系统功能调用接口

3、标准I/O库接口

4、高级I/O

进程编程和进程通讯

1、进程的属性和状态

2、进程控制和调度

3、进程间的关系

4、信号(signal)处理

5、守护进程

6、管道(PIPE)

7、内存映射(MAPPEDMEMORY)

8、互斥锁、读写锁

一个计算机资源监控程序,该监控程序用来监控当前计算机每个进程的cpu和内存使用量。

把监控程序做成守护进程。

多线程编程

1、线程与进程的区别

2、Posix线程

3、线程的创建与结束

4、竞争和临界区概念

5、线程同步

IPC高级编程

1、线程间通信与进程间通信

2、posixIPC和systemVIPC

3、消息传递

4、同步

5、共享内存

网络编程

1、网络基本概念

2、路由概念

3、TCP/IP各个层次的主要协议和功能

4、UDP与TCP的区别

5、NTP协议实现

6、基于嵌入式LINUX的SOCKET编程

7、SERVER-CLIENT关系

8、如何抓包并分析内容

客户端/服务器编程

1、客户端与服务器概念

2、字节顺序

3、网络编程常用函数

4、socket概念及使用

聊天室和语音通信程序的实现

socket网络编程高级篇

1、最简单的TCPC/S

2、添加错误处理

3、处理SIGPIPE信号

4、使用fork进行并发处理

5、使用select与poll

tftp服务器的实现

Linux内核:

第14-16周学习

课程知识点

具体课程掌握知识点

与知识点相关的项目

于知识点相关的作业与实验

内核基本结构

1、简要介绍2.6内核

2、内核和2.4比较

3、最新内核技术介绍

4、Linux内核源代码结构

5、Linux内核启动流

6、Linux内核模块开发

进程管理

1、Linux进程管理

2、O

(1)调度器分析

3、内核锁机制分析

4、内核抢占技术分析

内存管理

1、内存管理与分配

2、Linux-i386的段式存储和页式管理

3、四级页表树

4、Linux的进程地址空间分布

5、VM的策略:

请求分页、写时复制,交换和页面置换(Token-based)

6、内核缓冲区管理:

slab分配器

7、页核心分配器和NUMA内存分配策略

8、页帧换出守护进程:

kswapd

9、Linux中断处理

中断和异常

1、内核中的定时

2、高精度定时

3、IA-32平台上的中断概述以及APIC介绍

4、Linux的硬件中断模型和内核出入口图

5、BottomHalf机制

6、软中断的实现

7、Tasklet

8、工作队列

9、Linux对异常的实现

10、Linux内核并发与同步

11、时间、定时、延缓操作等

 

Linux内核移植

1、嵌入式系统移植基本概念

2、Linux内核源代码结构

3、Linux内核选项解析

4、内核模块编译、使用方法

5、Linux内核移植平台相关代码分析

6、Linux内核的打印与调试

7、Linux启动过程源代码分析

8、常用调试方法和工具

9、动手修改Linux内核源代码

Linux驱动:

第16-18周学习

课程知识点

具体课程掌握知识点

与知识点相关的项目

与知识点相关的作业与实验

bootloader编程

1、Linux启动代码分析

4、启动代码的搬移过程

5、启动代码的初始化流程

6、bootloader简介和架构分析

7、boot常用命令

8、设置u-boot环境变量

9、配置编译u-boot

10、bootloader代码解析及使用

12、添加/修改bootloader功能模块

USB视频监控项目和IP电话

实验:

1、添加u-boot新命令

2、移植u-boot-1.3.4

3、修改Linux的启动logo

4、修改核心启动参数

5、添加硬件检测功能模块

字符驱动

1、字符设备驱动程序实现框架

2、典型驱动分析

3、用户空间与内核空间的数据传输

4、同步、互斥、阻塞、睡眠机制

5、Linux-2.6设备模型与sysfs文件系统

6、udev与devfs文件系统

7、fs_operation结构分析

8、中断机制

9、softirq机制

实验:

1、驱动开发编程环境与内核配置、编译

2、LED驱动程序设计

3、蜂鸣器驱动程序编写与测试

1、Poll和select操作

2、异步通知机制

3、1inux内核中断子系统

4、中断处理程序编写

5、驱动程序上/下半部处理与延缓执行机制

6、内核定时器与延迟机制

7、内核内存管理机制

8、ioctl型驱动

9、阻塞型驱动程序设计

实验:

2、串口驱动程序设计

5、编写驱动实现包含poll功能

7、驱动的测试程序编写

块设备驱动

1、块设备驱动程序的特点和工作原理

2、块设备驱动程序中两个关键结构体GEN_DISK与REQUEST

3、块设备驱动的设备文件接口概念

4、块设备驱动的文件系统接口概念

5、MTD设备的特点以及与块设备的关系

6、MTD设备驱动的框架及关键结构体分析

7、S3C2440中的NANDFLASH控制器驱动分析

8、块设备驱动的注册接口(register_blkdev)等

9、块设备驱动操作接口(open,release,ioctl等)

10、块设备驱动的request队列和request操作

实验:

1、实现RAMDISK驱动

2、移植S3C2410闪存控制器驱动

3、配置MTD内核选项

4、修改vdisk.c支持多个设备

5、移植嵌入式文件系统

代码分析(vdisk.c)

1、vdisk.c的注册接口

2、vdisk.c的open,release,ioctl

3、vdisk.c的request队列和request操作

LCDFramebuffer设备驱动程序开发

1、液晶/触摸屏工作原理

2、S3C2440液晶、触摸屏控制器工作原理

3、LCD屏驱动程序编写

4、Framebuffer帧缓冲显示技术

5、帧缓冲驱动程序原理

6、帧缓冲驱动程序的数据结构及结构分析

7、帧缓冲驱动程序的API

8、帧缓冲驱动程序的基本实现

9、使用高级图形库

实验

1、熟悉FRAMEBUFFER驱动的结构

2、熟悉FRAMEBUFFER中的重要数据结构

3、编写S3C2440彩色LCD控制器驱动程序

4、编写测试程序控制屏幕显示

6、熟悉触屏驱动程序

7、写触屏测试代码

网络设备驱动程序开发

1、常见网卡

2、网卡芯片所实现的协议层功能

3、cs8900网卡芯片手册导读

4、cs8900网卡硬件电路分析

5、LinuxTCPIP网络结构概述

6、套接字(SOCKET)简介

7、套接字缓冲区(SK_BUFF)

8、数据包传送与接收

9、NET_DEVICE结构分析

10、网络驱动的中断处理

11、网络设备驱动程序的基本实现

12、Linux网络设备结构

实验:

1、编写简单的虚拟以太网卡驱动程序

2、移植并编写CS8900A网卡驱动程序

3、cs8900与DM9000网卡驱动程序对比

4、配置网络参数,测试网卡驱动程序行为

USB设备原理

1.USB规范介绍

2.usbhost/client分类说明

3.usb四种传输类型及其作用

4.USB设备状态

5.USB描述符

6.USB请求

7.USB通讯数据格式

8.usb地址端点的使用

9.S3C2440USBdevice控制器

10.usb协议实现及其详解

11.编写usbtransfer固件程序

12.usb设备即插即用过程

实验:

在开发板上烧写并测试USB固件程序usbtransfer固件程序分析与编写使用usbview工具观察USB设备使用sysfs分析USB层次结构LINUX下编写usbtransfer设备驱动实现USB下载

1、USB摄像头采集实验

注:

从十四周开始,按课程安排插入安博的职业素养课(一周课时左右),简历指导课,模拟面试。

从十五周开始推荐就业。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1