当前位置: 嵌入式研究室 > 课程介绍 > 保五万年薪课程 >
机器人(UP-Robot)全真实战项目职业培训 保五万就业
■课程描述:“嵌入式系统 设计”是为有志于从事嵌入式系统开发的 人员进行岗前培训的一门综合课程,课程设置面向实际应用中所需的知识和技能。通过本课程的学习,学生能够深入理解嵌入式系 统的组成、体系结构,学会嵌入式系统软件的设计、开发和调试,掌握常用的嵌入式系统硬件电路和接口技术,学会用c语言和汇编语言编写嵌 入式系统软件,还能学会与嵌入式系统应用密切相关的通信、传感器、驱动、电机控制等知识。通过本课程学习的学生,将具备基 本的嵌入式系统开发技能,掌握产品设计的方法,有能力参加很多种使用嵌入式系统的机电产品的开发。
教学过程中理论教学与实验项目相结合,以机器人为平台开展实验,实验项目生动有 趣,入门简 单,无学习障碍,上手快。教学和实验内容由低到高,便于学生系统地逐步掌握嵌入式系统的架构和开发要领。 理论知识教学和实验教学相互交叉,便 于学生在动手实践中学会理论知识,能不断体验到成就感,不断激励自己深入地学习。
■教学目标:为学生提供教学实践平台,促进嵌入式系统等相关专 业课程的教学。提供课程设计、毕业设计、课外活动和竞赛活动的平台,拓 展学生的实践活动范围。开展“信息类专业能力等级考试”培训课程和等级考试项 目,为社会输送合格的人才。研究多机器人协调课题,提供多个智能机器人之间信息共享、相互通信、协同作业等展示项目。
2、掌握嵌入式系统开发的过程、方法、工具、环境和技巧,学会嵌入式系 统软件的设计、开发和调试;
■教材及学前参考书籍:
教材:专用培训教材
学前参考书籍: 《嵌入式系统设计原理》,Wayne Wolf著,孙玉芳、梁彬、罗保国、谢谦等 译,机械工业出版社 。 ARM体系结构与编程,杜春雷著,清华大学出版社
嵌入式实时操作系统uC/OS-II(第二版),Jean J. Labrosse著,邵贝贝等译,北京航空航天大学出版社
注:全程课程将涉及单片机、 ARM9、ARM11(可选)、及上列机器人系列任何一个机器人实验平台
(1)2个学生一组,可 供40个学生同时做实验。
(2)5台机器人安装无线数传模块,可供进行多机器人协调项目的研究。
行业:高级智能工控领域、嵌入式智能控制领域、玩具研发领域
岗位:嵌入式开发工程师、嵌入式底层驱动工程师、嵌入式软件工程师、单片 机开发工程师、
■培养对象
希望掌握机器人技术、智能嵌入式底层编程技术的学 员;以及希望从事嵌入式开发的爱好者、工程师、程序员、已及相关行业的工程技术人员;有志于从事嵌入式核心研发的软件开 发技术人员和正在学习计算机、软件、通信专业、电子专业的学生,以下是主要应用方向
■全真项目设计:ARM7、ARM9、ARM11(可选)、猎豹系列机器人
■课程大纲:(共17周授课,每天面授6小时)
1. Linux 基础
a. 系统安装
b. 帮助系统
c. 文件管理
d. 用户组
e. 文本处理与编辑
2. Linux常用命令
a. 查找
b. 压缩
c. 输入/出重定向
d. 管道
e. 启动脚本
f. 软件安装
g. x-window
3. Linux网络配置
a. TCP/IP简介
b. 网卡配置
c. DNS配置
d. nfs
e. ssh
1. Bash Shell初步
a. 变量
b. 运算符
c. 流程控制
d. 环境变量
2. Bash Shell进阶
a. 文件操作
b. 函数
c. 输入输出
a. 指法练习程序
b. 汉诺塔游戏
1. C语言基础
a. C语言的特点
b. 数据类型
c. 运算符
d. 表达式
e. 关系运算符
f. if 语句
g. switch 语句
h. 循环语句
2. 函数
a. 函数的声明和定义
b. 形参与实参
c. 递归
3. 数组
a. 数组的定义
b. 整型数组
c. 字符数组
d. 字符串
e. 数组名的意义
f. 多维数组
4. 指针
a. 指针的定义
b. 指针运算符
c. 指针的加减
d. 动态内存分配
e. 堆与栈
5. 数组指针
a. 指针数组
b. 数组指针
6. 预编译与VT控制码
a. 声明与头文件
b. 静态链接库
c. 动态链接库
d. ANSI VT控制码
7. 组合数据类型
a. 结构体
b. 结构体指针
c. . 枚举
d. 共用体 (联合)
8. 指针高级应用
a. 二级指针
b. 三级指针
c. 多级指针
d. 函数指针
e. C语言与面向对象
9. 文件操作
a. 标准I/O (fopen)
10. 辅助开发工具
a. Makefile的编写
b. GDB的使用
c. CVS与配置管理
四、数据结构 (7天)
1. 单向链表
a. 链表的创建
b. 链表的遍历
c. 结点的添加、删除
d. 基于函数指针的查找
2. Linux内核链表
a. 双向链表
b. Linux内核链表的创建
c. List结构的作用
d. 有头与无头链表
3. 排序及查找
a. 冒泡排序
b. 快速排序
c. 选择排序
d. 查入排序
4. Hash表
a. Hash算法
b. Hash表的创建
c. 遍历
5. 队列和堆栈
a. 数组存储
b. 链式存储
6. 树与二叉树
a. 数组存储
b. 链式存储
c. 权值的概念
d. Huffman树
e. Huffman编码
7. 广义表
a. 组合链表的应用
b. 广义表
单片机控制部分
1. 成绩管理系统(STL实现)
2. 模板库的实现(MyTL)
1. 封装
a. 分立
b. 插件机
c. 浸焊
d. 波峰焊
e. 贴片
f. 点胶机
g. 贴片机
h. 回流焊
i. 各种常见封装、手焊注意事项、热风枪和烙铁的选择
2. 电阻
a. 分立电阻
b. 碳膜 金属膜与精度的关系
c. 封装间距与功耗的关系
d. 贴片电阻
e. 常见封装大小与功耗的关系,颜色与精度的关系
f. 电阻的几种用途
g. 电位器
h. 排阻
i. 压敏电阻
3. 电容
a. 独石电容
b. 瓷片电容
c. 电解电容
d. 铝电容,钽电容
e. 正负极
f. 涤纶电容
g. 耐压值
h. 常见的几种用途及选型
i. 稳压
j. 高低频滤波、退耦
k. 隔直通交
l. 定时
4. 电感
5. 二极管
a. 稳压管
b. 整流管
c. 发光二级管
6. 三极管
a. 极性
b. 工作状态
7. 集成运放及其电路设计
8. 继电器
9. 固态继电器SSR
10. ULN2003/ULN2008
11. 光耦
a. 电平匹配
b. 隔离干扰、高压
c. 高速通讯
12. 光电管
a. 反射型
b. 对射型
13. 晶振
a. 有源
b. 无源,起震电路,频率的选择
14. 电源
a. 线性电源
b. 变压器
c. 整流桥
d. 三端稳压器
e. 开关电源模块
f. 线性电源与开关电源的优缺点
a. 时序图
b. 真值表卡诺图(看情况,可从简
c. 高阻态
d. 锁存
e. 缓冲,增强驱动
3. 74系列芯片
4. CD4000系列芯片,计数器分频器
三:PCB Layout(3天)
1. 基本概念
a. PCB板材,盎司,工厂的加工能力
b. 各层及其含义,反向绿漆层
c. 焊盘和过孔
d. 走线
e. 布局
2. 常见软件
a. Cadence
b. Pads
c. altium(原protel)
3. Altium
a. netlist,altium有图形化工具
b. 规则设置. 布局
c. 元件库,封装库
d. 操作方法和最常用的快捷键
e. 拼板的技巧,阵列粘贴
f. 输出gerber
1. 51汇编和C
2. 复位、电源管理、看门狗 CAT1161/SP791/MAX691/DS1832
3. LED显示,八字数码管
4. AD/DA,PID控制
5. RS232/RS485,MAX232/MAX485电平转换
6. IIC/SPI
7. 实时时钟,日历,PCF8563/SD2000/DS1302
8. CAN bus
9. PWM
10. CPLD,VerilogHDL/VHDL,3分频,与51的通信
智能ARM9/ARM11嵌入式芯片部分
1. 嵌入式系统移植
a. 仿真器的使用
b. Bootloader的烧写
c. 内核的烧写
d. 根文件系统的制作
e. 文件系统的烧写
f. NFS文件系统
g. 开发板串口通信
2. ARM体系结构
a. IP核、芯片与开发板
b. 处理器结构
c. 处理器模式
d. 寄存器
e. 流水线结构
f. C语言内嵌汇编格式
3. ARM指令系统
a. 算术逻辑指令
b. 指令对状态寄存器的影响
c. 比较分支指令
d. 数据总线与地址总线
e. 内存访问指令
f. 指令位图
g. 识别机器指令
4. ARM过程调用标准
a. LDM/STM
b. 反汇编
c. APCS
d. C语言函数与汇编的互相调用
5. ARM 汇编与GPIO
a. AT&T汇编语法详解
b. gas工具的使用
c. label标签的作用
d. 数据与代码的分布
e. 链接脚本ld-script
f. 的外围器件结构
g. GPIO操作
6. 时钟与UART
a. 总线标准
b. 频率分配与设置
c. Watchdog计时操作
d. RTC时钟操作
e. UART操作
7. ARM中断体系
a. 异常向量表
b. ARM模式切换
c. ARM中断控制器
d. 软中断
e. Linux系统调用的实现
8. Nand Flash
a. Flash原理
b. Nand控制器原理
c. 时序分析
9. SDRAM
a. 物理地址分布
b. SDRAM原理与时序
c. 内存控制器的物理连接
d. 地址对齐
e. SRAM访问
f. 软中断
g. Linux系统调用的实现
10. 内存管理单元(MMU)
a. MMU的原理
b. ARM协处理器指令
c. section模式
d. small page模式
e. I & D TLBs
f. I & D Cache
g. 哈佛结构的原理与实现
11. 触摸屏与ADC
a. ADC原理
b. 触摸屏接口与控制
12. LCD
a. 图形显示原理
b. LCD控制器
c. LCD时序
13. 音频与DMA
a. 音频硬件原理
b. UDA1341
c. L3总线
d. 音频总线时序
e. DMA原理与应用
14. 网卡
a. 逻辑链路层与MAC层
b. CS8900原理与时序分析
15. Bootloader开发
a. u-boot的配置、编译
b. u-boot启动过程分析
c. ARM-Linux的启动要求
d. ARM-Linux kernel的ld-sript分析
e. u-boot到ARM-Linux的跳转代码分析
10. 网络设备驱动
a. ARM-Linux的配置、编译
b. ARM-Linux启动代码分析
c. ARM-Linux 地址映射;
d. Busybox的配置、编译
2. 内核配置与内核模块
a. 内核配置编译
b. 补丁的制作
c. 内核补丁
d. 内核Makefile
e. Kconfig的编写
f. 模块的编译与加载
g. 导出符号
h. 引用计数
i. 内核空间与用户空间的区别
j. Printk
k. 模块参数
3. 设备驱动初步
a. Linux的VFS简介
b. 设备文件与设备号
c. 字符设备
d. cdev结构
e. 用户空间的操作与设备操作关系
f. open、release、read、write、lseek、ioctl等
4. 进程调度
a. 定时器中断
b. task_struct的作用
c. thread_info
d. 抢占与非抢占
e. 进程睡眠
f. 等待队列
g. 阻塞I/O与非阻塞I/O
h. select/poll
5. 并发控制
a. 原子操作
b. 自旋锁
c. 禁用抢占
d. 中断屏蔽
e. 信号量
f. completion
6. 内存管理
a. 虚拟地址空间与MMU
b. 内核页管理机制
c. 内核内存分配
d. 高端内存
e. Vmalloc
f. 统一编址与独立编址
g. I/O端口与I/O内存
h. I/O静态映射
i. mmap
7. 内核计时
a. 内核计时jiffies
b. Timer
c. Tasklet
d. work_struct
e. Linux信号
f. async的实现
g. RTC时钟驱动
8. 中断系统
a. 中断机制
b. 异常向表相关代码分析
c. 中断号的确定
d. 上半部与下半部
e. 中断共享
9. 设备驱动模型
a. kobject、kset、class、subsystem与sysfs的原理和关系
b. udev的原理与移植
c. bus_type
d. device与device_driver原理
e. platform_device的应用
10. 触摸屏驱动
a. ARM-Linux Input设备详解
b. 触摸屏控制
11. LCD驱动
a. Frame Buffer驱动详解
b. LCD控制
12. 音频设备驱动
a. OSS驱动详解
b. I2S控制
13. 块设备驱动
a. 块设备的注册
b. 块设备的I/O的特点
c. /O请求
14. 网卡驱动
a. 设备注册
b. 驱动层数据收发
c. 地址解析
15. ARM-Linux裁剪与移植
16. 新版内核移植
17. 驱动整合
1. ARM嵌入式系统集成开发环境实验
a. 实验一 ADS集成开 发环境试验
b. 实验二 JTAG调试 下载试验
c. 实验三 串口下载程序 试验
2. 通迅系统实验
a. 实验四 串口通信实验
b. 实验五 CAN总线通信实验
c. 运动控制系统实验
d. 实验六 直流电机驱动及 差动运动控制实验
e. 实验七 步进电机控制实 验
f. 实验八 编码器数据采集 实验
g. 实验九 PID速度闭环控制实验
h. 实验十 PID位置闭环控制实验
i. 实验十一 走正方形实验
j. I/O口驱动实验
k. 实验十二 数字输入实验
l. 实验十三 数字输出实验
m. 传感器系统实验
n. 实验十四A/D数据采集与 转换实验
o. 实验十五 红外传感器测距 实验
p. 实验十六 基于PSD的避障实 验
q. 实验十七 数字罗盘数据采 集与数据滤波实验
r. 实验十八 用数字罗盘数据 校正航向实验
s. 嵌入式操作系统μC/OS-II实验
t. 实验十九μC/OS-II移 植实验
u. 实验二十 网络通信实验
实验一 运动伺服 控制系统参数整定实验
实验二 运动伺服 控制系统应用试验
实验三 伺服控制 系统可靠性试验
实验四 基于PSD的自主漫 游实验
实验五 机器人跟 人走实验
实验六 基于数字 罗盘的导航系统应用实验
实验七 自主定位 实验
实验八 图像监控 实验
实验九 基于总线 的智能控制实验
实验十 智能巡检 实验
项目1、 基本操作技能等级考试
项目2、 传感器采集与处理等级考试
项目3、 工业总线通讯等级考试
项目4、 控制系统等级考试
项目5、 嵌入式软件及实时系统







