嵌入式系统高级C语言编程PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:凌明编著
- 出 版 社:北京:北京航空航天大学出版社
- 出版年份:2011
- ISBN:9787512403086
- 页数:322 页
第1章 概述 1
1.1 C语言的历史和特点 1
1.2一个小测验 5
1.3如何学好嵌入式系统中的C语言编程 8
1.3.1真正深刻地认识存储器 8
1.3.2认识和理解嵌入式C编程环境 9
1.3.3认识和掌握C语言中的常见陷阱 9
1.3.4掌握C语言程序设计过程中的调试方法 9
1.4推荐的参考书目 10
1.4.1 C语言的初级教材 10
1.4.2 C语言进阶书籍 10
1.5思考题 11
第2章C语言的关键字与运算符 12
2.1 C语言的关键字 12
2.1.1数据类型关键字 13
2.1.2控制语句关键字与相关语句 16
2.1.3存储类型关键字 23
2.1.4其他类型关键字 31
2.2 C语言的运算符 35
2.2.1运算符中需要注意的问题 36
2.2.2运算符的优先级 39
2.2.3表达式求值 41
2.2.4运算符的词法分析 42
2.3 C语言的指针 43
2.3.1指针的3个要素 44
2.3.2指针的类型 45
2.3.3指针的初始化 47
2.3.4指针的运算 47
2.3.5指针与字符串 48
2.4思考题 50
第3章C语言的函数 52
3.1 C语言的函数 52
3.1.1函数的声明、原型与返回值 52
3.1.2函数的参数 54
3.1.3可变参数的函数 55
3.1.4递归函数 56
3.2标准库函数 58
3.2.1输入与输出:〈stdio.h〉 59
3.2.2字符类别测试:〈ctype.h〉 66
3.2.3字符串函数:〈string.h〉 67
3.2.4数学函数:〈math.h〉 68
3.2.5实用函数:〈stdlib.h〉 70
3.2.6断言:〈assert.h〉 72
3.2.7可变参数表:〈stdarg.h〉 72
3.2.8非局部跳转:〈setjmp.h〉 73
3.2.9标准库函数与系统调用 73
3.3声明 76
3.4作用域与链接属性 77
3.4.1代码块作用域 77
3.4.2文件作用域 78
3.4.3函数作用域 79
3.4.4原型作用域 79
3.4.5链接属性 80
3.5 C的预编译处理 81
3.6思考题 82
第4章 编译、汇编与调试 83
4.1嵌入式软件开发流程与工具 83
4.1.1嵌入式软件开发的一般流程 83
4.1.2编译器简介 86
4.1.3链接器简介 87
4.1.4嵌入式软件开发的调试环境 89
4.1.5 ARM处理器的开发工具 98
4.2基于C语言软件项目中的文件关系 100
4.2.1 C语言项目中的文件依赖关系 100
4.2.2 Make文件 101
4.3 C代码与汇编 105
4.3.1 ATPCS 105
4.3.2 C与汇编的混合编程 109
4.3.3 ARM编译器对局部变量和入口参数的处理 111
4.4思考题 114
第5章 存储器与指针 116
5.1再论C语言中的指针 116
5.1.1指针与数组 116
5.1.2函数指针 120
5.2 C语言中的内存陷阱 127
5.2.1局部变量 128
5.2.2动态存储区 130
5.2.3函数的指针参数 137
5.3堆栈 141
5.3.1堆栈的作用 142
5.3.2函数调用栈帧与中断栈帧 144
5.3.3堆栈的跟踪与调试 146
5.4动态内存分配 148
5.4.1算法 148
5.4.2 malloc()函数 152
5.4.3 free()函数 157
5.5利用链表构建复杂数据结构 162
5.5.1 ASIX Window的数据结构 162
5.5.2 ASIX Window的窗口创建函数 164
5.5.3 ASIX Window的窗口删除函数 169
5.6思考题 174
第6章中断与设备驱动 178
6.1设备驱动简介 178
6.1.1设备驱动、Boot Loader与BSP 178
6.1.2设备驱动程序的结构 180
6.2中断与中断处理 185
6.2.1中断的重要性 185
6.2.2中断的分类与处理过程 185
6.2.3 C语言中的中断处理 186
6.2.4中断处理程序的编写 187
6.3函数的可重入问题 197
6.3.1什么是函数的重入 197
6.3.2函数可重入的条件 199
6.3.3不可重入函数的互斥保护 200
6.3.4重入函数的伪问题 202
6.4设备驱动案例——键盘驱动 203
6.4.1 5×5键盘的硬件原理 203
6.4.2键盘设备驱动实例 204
6.5启动代码——UBOOT分析 211
6.5.1系统启动与BootLoader 211
6.5.2 UBOOT技术实现分析 214
6.6思考题 218
第7章 编码风格 220
7.1简介及说明 220
7.2语言规则 224
7.2.1基础 224
7.2.2数据 228
7.2.3说明与表达式 230
7.2.4函数 231
7.2.5源文件 235
7.3风格指导 237
7.3.1程序的书写 237
7.3.2命名 240
7.4思考题 243
第8章 代码的调试 244
8.1 Bug与Debug 244
8.1.1初学者的困惑 245
8.1.2 Debug的手段和工具 246
8.2 Bug的定位与修正 248
8.2.1关注代码的层次与接口 248
8.2.2关注内存的访问越界 249
8.2.3关注边界情况 254
8.2.4 Bug的修正 255
8.3其他的方法和工具 256
8.3.1利用断言 256
8.3.2代码检查(Code Review) 258
8.3.3编译器的警告与Lint工具 259
8.3.4好的代码风格 260
8.4思考题 260
第9章ASIX Window GUI设计详解 262
9.1 ASIX Window概述 262
9.2 ASIX Windows底层软件平台的实现 263
9.2.1 ASIX OS对ASIX WIN在系统调用上的支持 264
9.2.2 ASIX GPC图形库的设计 267
9.2.3 ActiveArea和笔中断的设计 272
9.3 ASIX WIN系统任务管理模块的设计 276
9.4 ASIX WIN消息处理模块的设计 279
9.4.1 ASIX WIN消息机制的设计 280
9.4.2 ASIX WIN消息机制的应用流程 282
9.5 ASIX WIN窗口类管理模块的设计 284
9.6 ASIX WIN窗口及控件的实现 287
9.6.1 ASIX WIN窗口的实现 287
9.6.2 ASIX WIN控件的实现 291
9.7思考题 295
附录A C﹢﹢/C代码审查表(C语言部分) 296
附录B部分课后思考题解答 299
附录C嵌入式C语言测试样卷与参考答案 309
附录D UB4020MBT开发板简介 319
参考文献 321
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《物联网与嵌入式技术及其在农业上的应用》马德新 2019
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《音乐语言的根基》张艺编著 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《认知语言学视野的抽象方位结构研究》曹爽著 2019
- 《激活语言思维》李蒨,王宏年,汤青编著 2017
- 《汉语言文学本科专业核心课程研究导引教材 古代汉语》马蓝婕责任编辑;(中国)魏宜辉 2019
- 《英语教师语言意识研究》秦莉,赵春贺著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019