课程背景 |
在多年的嵌入式教学培训活动中,我们深刻认识到,高校教育仅仅只是把基本概念和一般编程知识教授给学生,毕业后在从事实际开发过程中才能更加系统和深入地认识到使用C语言编程的精髓,而大部分学生可能在职业生涯开始之后才能够重新认识到学习的重要性!可以说能否熟练使用C语言是区别优秀程序员和一般程序员的显著标志。基于此,亚嵌教育特别在2006年推出了《嵌入式C编程开发强化班》课程。本课程详细介绍了嵌入式C语言的难点和重点,深入剖析了在嵌入式开发中C语言的重要作用。强调了在嵌入式开发中C的独特地位和编程技巧,带领更多有志于投身嵌入式领域的技术人员迅速提升自己的C编程能力! |
|
质量保证 |
·所有课程内容均可免费重听,直到学员完全掌握为止。
·凡是亚嵌学员,在以后工作中遇到课程相关问题,可得到免费技术支持。
·雄厚的师资力量、经典的课程体系、丰富的教学经验确保教学质量。
·成绩优秀的学员可免费到亚嵌合作单位实习、就业。
|
行业需要 |
工业控制,军工企事业,电信/网络/通讯,航空航天,汽车电子行业,医疗仪器,仪器仪表与电子。
|
学习目标 |
·掌握嵌入式C语言中的重点、难点;
·掌握嵌入式C程序开发技巧; |
基础要求 |
·学员学习本课程应具备下列基础知识:
·熟悉C语言编程;
·熟悉嵌入式开发基本流程; |
课程教材 |
《AKAE 嵌入式C编程开发强化班讲义》 |
参考资料 |
《高质量C /C++编程指南》,林锐;
《从C到嵌入式C编程语言》,梁合庆等,北京航空航天大学出版社,2000; |
教师简介 |
汪中子老师:中科院计算所计算机体系结构专业博士后。AKA嵌入式小组发起人、组长,AKA嵌入式开放实验室主任,实时嵌入式系统设计专家,有多年VxWorks实时操作系统开发经验,完成多项复杂实时嵌入式系统设计和应用开发。5年实时嵌入式系统开发经验。
李明,清华大学计算机系硕士,亚嵌教育研究中心教学总监。AKA 嵌入式小组常委,SkyEye 嵌入式开源项目核心开发人员,清华大学信息技术研究院暨信息技术国家实验室系统工程师,从事微型无人直 升机项目课题研究。《源码开放的嵌入式系统软件分析与实践》书作者,具有五年的嵌入式开发经验, 三年的嵌入式行业培训经验。 |
|
|
开课情况 |
开课时间: 2天 (12学时)
上课地点:
中科院校区
学 费:
(公司)3800元;(个人)3200元;(学生)2600元
团体报名优惠:
两人报名9折,三人以上报名8折 为保证教学质量,本班为小班授课,15人为满,
报满15人即停止报名或顺延下一期,如您决定上课请及时填写报名表并办理报名手续。 |
(报名时需携带本人身份证复印件1张及本人一寸照片3张) |
|
教学大纲 |
课程安排 |
课程内容 |
第一天上午
(理论课3学时) |
·C语言程序设计精要和重点、难点剖析(一)
1) 基础知识简要归纳
2) C程序的编译、链接和运行
3) 函数库链接和载入
4) 动态链接的优点
5) 可执行文件格式,目标文件格式,程序执行过程剖析
·C语言程序设计精要和重点、难点剖析(二)
1) 变量类型,变量声明与定义,变量的可见范围与生存期
2) 函数声明与定义,函数与栈,参数传递
3) 函数的链接性质,函数被调用时的过程活动记录
4) 函数与变量声明,typedef / void / const ,难点综合分析 |
第一天下午
(理论课3学时) |
· C语言程序设计精要和重点、难点剖析(三)
1) 指针与数组,指针与数组的联系与差别
2) 函数声明与定义,函数与栈,参数传递
3) 函数的链接性质,函数被调用时的过程活动记录
4) 函数与变量声明,typedef / void / const ,难点综合分析
·C语言程序设计精要和重点、难点剖析(四)
1) 内存分配布置与程序运行时分析
2) CPU与内存 / 内存模型
3) 函数、变量在内存中的布置
4) 内存分配与回收
5) 程序运行时分析 |
第二天上午
(理论课3学时) |
·嵌入式C编程高级技巧与原理分析(一)
1) 嵌入式C语言的编程特点
2) 硬件平台特性
字节序(大小端)/ 中断处理 / 强制类型转换
3) 预处理与编译器
#define / #error / assert / 数据声明 const volatile / 内存访问操作
编译器优化 / 汇编语言与C混合编程 / C 内嵌汇编语法
4) 堆和栈
什么是堆/栈 / 运行时栈空间变化与数据分布 / 动态内存分配 |
第二天下午
(理论课3学时) |
·嵌入式C编程高级技巧与原理分析(二)
1) 链接脚本
link scripts 文件 / ELF 可执行文件的格式 / 代码段/数据段/BSS段含义
及位置
链接时的段布局 / load address & execution address / 生成二进制文件
的过程
2) 编程优化执行效率技巧
宏定义替代函数调用 / 使用寄存器变量 / 内嵌汇编 / 利用硬件特性 /
活用位操作
|
|
|
|