《嵌入式C语言自我修养:从芯片、编译器到操作系统》是一本专门为嵌入式读者打造的C语言进阶学习图书。本书的学习重点不再是C语言的基本语法,而是和嵌入式、C语言相关的一系列知识。作者以C语言为切入点,分别探讨了嵌入式开发所需要的诸多核心理论和技能,力图帮助读者从零搭建嵌入式开发所需要的完整知识体系和技能树。 《嵌入式C语言自我修养:从芯片、编译器到操作系统》从底层CPU的制造流程和工作原理开始讲起,到计算机体系结构,C程序的反汇编分析,程序的编译、运行和重定位,程序运行时的堆栈内存动态变化,GNU C编译器的扩展语法,指针的灵活使用,C语言的面向对象编程思想,C语言的模块化编程思想,C语言的多任务编程思想,进程、线程和协程的概念,从底层到上层,从芯片、硬件到软件、框架,几乎涵盖了嵌入式开发的所有知识点。 本书适合嵌入式学习者、开发者阅读学习,同样适合从事Linux下C语言开发工作的人员作为参考。阅读本书需要读者有一定的C语言基础,无论你是在校学生,还是需要充电学习的工程师,掌握了C语言的基本语法和编程技能后再阅读本书,学习效果会更佳。

作者

王利涛 

嵌入式工程师,培训讲师,多年嵌入式开发经验,包括芯片测试、BSP、驱动开发、USB子系统等,目前在开发“嵌入式工程师自我修养”系列在线视频教程,以及在个人博客“宅学部落”分享更多的嵌入式、Linux、AIoT技术。

查看全部
目录

作者介绍

内容简介

前言

第1章 工欲善其事,必先利其器

1.1 代码编辑工具:Vim

1.2 程序编译工具:make

1.3 代码管理工具:Git

第2章 计算机体系结构与CPU工作原理

2.1 一颗芯片是怎样诞生的

2.2 一颗CPU是怎么设计出来的

2.3 计算机体系结构

2.4 CPU性能提升:Cache机制

2.5 CPU性能提升:流水线

2.6 多核CPU

2.7 后摩尔时代:异构计算的崛起

2.8 总线与地址

2.9 指令集与微架构

第3章 ARM体系结构与汇编语言

3.1 ARM体系结构

3.2 ARM汇编指令

3.3 ARM寻址方式

3.4 ARM伪指令

3.5 ARM汇编程序设计

3.6 C语言和汇编语言混合编程

3.7 GNUARM汇编语言

第4章 程序的编译、链接、安装和运行

4.1 从源程序到二进制文件

4.2 预处理过程

4.3 程序的编译

4.4 链接过程

4.5 程序的安装

4.6 程序的运行

4.7 链接静态库

4.8 动态链接

4.9 插件的工作原理

4.10 Linux内核模块运行机制

4.11 Linux内核编译和启动分析

4.12 U-boot重定位分析

4.13 常用的binutils工具集

第5章 内存堆栈管理

5.1 程序运行的“马甲”:进程

5.2 Linux环境下的内存管理

5.3 栈的管理

5.4 堆内存管理

5.5 mmap映射区域探秘

5.6 内存泄漏与防范

5.7 常见的内存错误及检测

第6章 GNUC编译器扩展语法精讲

6.1 C语言标准和编译器

6.2 指定初始化

6.3 宏构造“利器”:语句表达式

6.4 typeof与container_of宏

6.5 零长度数组

6.6 属性声明:section

6.7 属性声明:aligned

6.8 属性声明:format

6.9 属性声明:weak

6.10 内联函数

6.11 内建函数

6.12 可变参数宏

第7章 数据存储与指针

7.1 数据类型与存储

7.2 数据对齐

7.3 数据的可移植性

7.4 Linux内核中的size_t类型

7.5 为什么很多人编程时喜欢用typedef

7.6 枚举类型

7.7 常量和变量

7.8 从变量到指针

7.9 指针与数组的“暧昧”关系

7.10 指针与结构体

7.11 二级指针

7.12 函数指针

7.13 重新认识void

第8章 C语言的面向对象编程思想

8.1 代码复用与分层思想

8.2 面向对象编程基础

8.3 Linux内核中的OOP思想:封装

8.4 Linux内核中的OOP思想:继承

8.5 Linux内核中的OOP思想:多态

第9章 C语言的模块化编程思想

9.1 模块的编译和链接

9.2 系统模块划分

9.3 一个模块的封装

9.4 头文件深度剖析

9.5 模块设计原则

9.6 被误解的关键字:goto

9.7 模块间通信

9.8 模块设计进阶

9.9 AIoT时代的模块化编程

第10章 C语言的多任务编程思想和操作系统入门

10.1 多任务的裸机实现

10.2 操作系统基本原理

10.3 中断

10.4 系统调用

10.5 揭开文件系统的神秘面纱

10.6 存储器接口与映射

10.7 内存与外部设备

10.8 寄存器操作

10.9 内存管理单元MMU

10.10 进程、线程和协程

参考文献

查看全部
书评
查看更多
请您登录后发表评论 登录 | 注册
我的评分:
提交
0/400