嵌入式书籍推荐

2023-05-16

嵌入式书籍推荐
Linux基础
1、《Linux与Unix Shell 编程指南》
C语言基础
1、《C Primer Plus,5th Edition》【美】Stephen Prata着
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程序开发详解》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操 胡希明著
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
5、《Linux高级程序设计》 杨宗德著
硬件基础
1、《ARM体系结构与编程》杜春雷着
2、S3C2410 Datasheet
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统――体系结构、编程与设计》
2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系统原理与实例开发》 杨宗德著
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着
5、《操作系统:精髓与设计原理》
6、《编译原理》
7、《数据通信与计算机网络》
8、《数据压缩原理与应用》
这是别人推荐的一些书籍,我也在学嵌入式方面的东西,原来的基础还没你好,不过希望这些书籍对你有帮助。
下面是一些牛人的嵌入式学习经验,可以参考一下:
1、基础知识:
目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。
汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。
主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。
2、学习linux:
目的:深入掌握linux系统。
方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
3、学习嵌入式linux:
目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。
4、深入学习:
A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。
C、网络与信息安全技术:如加密技术,数字证书CA等。
D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。
说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。
注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的!
技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
-----------------------------------------------------------------------------------
需要学习的东西多。
(1)、window环境编程;
(2)、Linux环境编程;
(3)、单片机
3、最后也是最重要的一点,你得有坚韧不拔之志和一颗平常之心。
(1)、自信 坚强 积极 勤快 (注:好的自信是自觉的!)
(2)、成功其实就是成为最好的您自己
嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,东雪终将化去,春风定会吹来。具体步骤如下:
1、《C语言》第二版 谭浩强 ; 《C程序设计语言》第二版 徐宝文译 机戒工业出版社
你能区分开指针数组和数组指针吗?你知道函数指针吗?
你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?
2、《数据结构》C语言版 黄国愉、叶乃青编 清华大学出版社
你能合上书本,用C语言实现书中的单链表、双链表数据结构吗?
3、《实用C++程序设计》第二板 中国电力出版社 Steve_Oualline著
此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解。
4、学习单片机,最好能找个前辈带一带。
你能用51单片机做出一样实际的东西吗?即使它再简单!
要注意加深对中断的理解。
5、学习ARM单片机。
(1)、细读《ARM微控制器基础与实战》周立功编写 (注:即使你不用书中的开发板)
(2)、细读相关芯片的原版英文文档。如:arm920TE.pdf S3C2410_1.2.pdf
6、学习uCOS!!操作系统。
(1)、细读《嵌入式实时操作系统uC/OS-!!》第二版 召贝贝译
你能把uCOS!!移植到自己的平台上吗?
(2)、能编写在uCOS!!操作系统环境下运行的针对具体硬件的驱动程序
7、熟悉Linux环境,学习Linux环境编程,学习交叉编程
(1)、细读《linux命令大全.pdf》
(2)、细读《GNU Make 使用手册(中译版).pdf》
(3)、学习创建交叉编程环境.
8、学习Linux操作系统。
(1)、《UNIX环境高级编程》
(2)、细读“joyfire 笔记”,可在“www.qianrushi.com”网站的好书下载栏目获取
(3)、细读《linux内核完全注释》
(4)、细读《understanding the linux kernel 2》
(5)、利用源代码阅读利器工具”Source Insight”进行真正的linux内核原码刨析
(6)、最后进行内核移植,并能编写在linux操作系统环境下运行的针对具体硬件的驱动程序
9、学习Linux设备驱动编写。可参考《Linux设备驱动程序》
10、复习C++,学习用QT进行图形界面编程
(1)、细读《QT编程宝典》
(2)、学会通过查看QT电子文档进行QT GUI实地编程
(3)、学习交叉编程.(其实就是把命令qmake变为tmake)
11、当然,你也可学习一下PCB的制作和设计一个自己的CPU(即软壳)
至此,你已学完嵌入式的整流程!但谨记:一个有思想的人才真是一个力量无边的人;有容乃大,能予方强!

嵌入式书籍推荐    

Linux基础    

1、《Linux与Unix Shell 编程指南》    

C语言基础    

1、《C Primer Plus,5th Edition》【美】Stephen Prata着    

2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着    

3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)    

4、《嵌入式Linux应用程序开发详解》    

Linux内核    

1、《深入理解Linux内核》(第三版)    

2、《Linux内核源代码情景分析》毛德操 胡希明著    

研发方向    

1、《UNIX Network Programming》(UNP)    

2、《TCP/IP详解》    

3、《Linux内核编程》    

4、《Linux设备驱动开发》(LDD)     

5、《Linux高级程序设计》 杨宗德著   

硬件基础    

1、《ARM体系结构与编程》杜春雷着    

2、S3C2410 Datasheet    

英语基础    

1、《计算机与通信专业英语》    

系统教程    

1、《嵌入式系统――体系结构、编程与设计》    

2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着    

3、《Building Embedded Linux Systems》     

4、《嵌入式ARM系统原理与实例开发》 杨宗德著   

理论基础    

1、《算法导论》    

2、《数据结构(C语言版)》    

3、《计算机组织与体系结构?性能分析》    

4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着    5、《操作系统:精髓与设计原理》    

6、《编译原理》    

7、《数据通信与计算机网络》   

8、《数据压缩原理与应用》 这是别人推荐的一些书籍,我也在学嵌入式方面的东西,原来的基础还没你好,不过希望这些书籍对你有帮助。

下面是一些牛人的嵌 入式学习经验,可以参考一下:

1、基础知识: 

目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。 

科目:数字电 路、计算机组成原理、嵌入式微处理器结构。 汇编语言、C/C++、编译原理、离散数学。 数据结构和算法、操作系统、软件工程、网络、数据库。 

方法: 虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。 主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。

2、学习linux: 

目的:深入掌握linux系统。    

方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深 是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。 

主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景 分析和源代。 

3、学习嵌入式linux: 目的:掌握嵌入式处理器其及系统。 

方法:

(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要 重复x86。    (2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。    

(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。    

主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。

4、深入学习:    

A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。   

B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。    

C、网络与信息安全技术:如加密技术,数字证书CA等。   

D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。    

说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺 术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。    

注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实 践。    不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意 做但必须要做的!    

技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在 创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很 大)。 --------------------------------------------------------------------------------------------------------------------- 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式书籍推荐 的相关文章

  • tensorflow学习笔记(四十五):sess.run(tf.global_variables_initializer()) 做了什么?

    当我们训练自己的神经网络的时候 xff0c 无一例外的就是都会加上一句 sess run tf global variables initializer xff0c 这行代码的官方解释是 初始化模型的参数 那么 xff0c 它到底做了些什么
  • 使用 spacy 进行自然语言处理(一)

    介绍 自然语言处理 NLP 是人工智能方向一个非常重要的研究领域 自然语言处理在很多智能应用中扮演着非常重要的角色 xff0c 例如 xff1a automated chat bots article summarizers multi l
  • 威联通ContainerStation部署Oracle11g

    文章目录 前言部署过程详解使用docker compose文件创建容器临时开启NAS的SSH远程访问通过SSH客户端远程连接NAS进入容器创建用户拷贝容器中的数据库相关文件至宿主机在ContainerStation中修改docker com
  • 十六进制数据与字符串的相互转换

    span class hljs keyword public span span class hljs keyword static span String span class hljs title bytesToHexString sp
  • 贪心算法详解

    前言 贪心算法是动态规划的一种特殊情况 xff0c 需要满足更为苛刻的条件 xff1a 贪心选择 算法种类时间复杂度暴力算法指数级别动态规划多项式级别贪心算法线性级别 什么是贪心选择性质呢 xff0c 简单说就是 xff1a 每一步都做出一
  • Android驱动程序开发实例精讲-0_Android系统HAL驱动开发经典案例详解(基于Android4.0)

    Android系统HAL驱动开发经典案例详解 xff08 基于Android4 0 xff09 目的 xff1a 通过学习一个LED点灯的简单功能 xff0c 掌握Linux驱动程序与HAL硬件抽象层之间的调用方法 xff0c 同时掌握JN
  • 使用putty连接到虚拟机centos被拒绝解决方法

    今天用putty去ssh本地的虚拟机中的centos系统 xff0c 发现连接被拒 xff0c 跳出了这个错误 因为是第一次用putty连接到自己电脑上的虚拟机 xff0c 碰到这个错误 xff0c 我首先想到是不是centos中的防火墙没
  • libvlc 使用mediaplayer 播放rtsp

    环境 ubuntu18 04 vlc3 0 6源码 从 github上下载的vlc 源码 xff0c 默认配置 xff0c 默认编译 xff0c 用命令 vlc rtsp 192 168 43 129 10086 stream 竟然无法播放
  • c语言下,关闭socket的两种方式

    c语言关闭socket的两种方式 一 shutdown include lt sys socket h gt int shutdown int sockfd int how how的方式有三种分别是 SHUT RD xff08 0 xff0
  • 文件系统(七)—图解进程文件操作

    学习文件系统 xff0c 我们的目标是如何实现一个简单的文件系统 xff1f 磁盘上需要什么结构 xff1f 它们需要记录什么 xff1f 如何访问 xff1f 对于这些问题 xff0c 我们就需要理解文件系统的基本工作原理 xff0c 可
  • 解决Docker ADD/COPY 报ADD failed: stat /var/lib/docker/tmp/docker-builder****: no such file or director

    意思就是说 ADD source target 命令找不到source的文件 搜了大致有以下情况 xff1a 没有source文件 xff0c 或者source文件跟Dockerfile不在同一目录 xff0c 或者命令docker bui
  • Qt各个版本和插件的下载方法

    Qt及其插件的下载 网址 xff1a http master qt io 1 输入网址 后 2 点开archive后 3 打开qt后 xff0c 出来的是qt的版本 4 下载5 2版本为例 xff0c 打开5 2 后 5 里面有两个版本5
  • Centos7 安装Docker以及图形管理界面

    Docker的安装 1 确保系统中没有旧版本 如果安装过的话 xff0c 没有安装则忽略此步 yum span class token operator span y remove docker docker common docker s
  • Android汽车服务篇(三) CarPropertyService下篇

    一 简介 上篇文章介绍了Android汽车服务篇 二 CarPropertyService上篇 我们继续看一看看CarPropertyService 这个服务也是很重要的 绝大部分与车辆硬件功能相关联的属性 如空调 车舱功能 车辆传感器等都
  • PPTV面试算法思考-最长对称子字符串

    题目 最近在微信公众号里看看到了一个PPTV的面试算法题 xff0c 感觉难度适中 xff0c 想试下 题目的内容为求一个字符串的最长对称子字符串 如 xff1a 输入 输出 abba 4 abad 3 acccbaa 3 我的算法1 自己
  • mardown语法详解

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • C++

    由于见到论坛上不少找书的 xff0c 于是就稍稍汇总总结了一下 xff0c 作为本人即将推出的 C 43 43 资源大汇 系列文章的引子 本文只是初稿 xff0c 其中有不少的纰漏 笔误 打误 xff08 打字错误 xff09 希望各位纠正
  • Tx2 设置静态IP的两种方法

    Tx2设置静态ip的两种方法 Tx2静态ip设置可通过桌面右上角的有线连接配置中的ipv4的配置来设置 xff1b Tx2静态ip设置的第二种方法是通过间接修改ipv4的配置来设置 xff1b 用ifconfig来查看你使用的是哪个网络设备
  • 七 Gazebo学习总结之传感器的添加

    本文展示的是使用者怎么直接通过Gazebo其他模型来创建复杂的模型 xff0c 以及使用 lt include gt 和 lt joint gt 标签来连接一个复杂模型的不同部分 1 增加一个激光器 a 进入先前教程的模型目录中 cd ga
  • STM32、FreeRTOS—— SVC 和 PendSV

    问 I went through the xTaskStartSechudler function which ends up triggering the SVC instruction and i came to know that i

随机推荐

  • MYNTEYE-SDK-ROS-Kinetic-VINS-Mono环境搭建到运行(Ubuntu 16.04)非常详细

    一 首先安装ROS环境 1 确保系统软件处于最新版 xff1a sudo apt get update 2 打开终端 xff0c 输入命令 wget https raw githubusercontent com oroca oroca r
  • win7关机一直卡在正在关机

    win7关机一直卡在正在关机 尝试用win7系统准备工具 xff08 sysprep xff09 来恢复到系统的初始状态 步骤 xff1a 1 win 43 R打开运行窗口 xff1b 2 在窗口中输入 xff1a sysprep xff0
  • Jetson TX2学习笔记(一):软硬件基础环境配置

    拿到了Jetson TX2套件 xff0c 在给套件安装开发环境时踩了很多坑 上网查阅的资料也都没能解决问题 xff0c 这里把成功安装步骤一一记录下来 xff0c 同时将所遇到且网上未提及的问题也进行一下分析 先说一下 xff0c Jet
  • 启动Docker,出现“Got permission denied while trying to connect to the Docker daemon socket“的情况

    启动docker时 xff0c 出现 Got permission denied while trying to connect to the Docker daemon socket 的情况 解决方法 xff1a docker守护进程启动
  • 【matlab调用m文件方法】

    matlab如何调用m文件 matlab调用m文件方法
  • kubernetes(k8s)介绍安装和部署实战

    kubernetes 基本介绍 kubernetes xff0c 简称 K8s xff0c 是用 8 代替 8 个字符 ubernete 而成的缩写 是一个开源 的 xff0c 用于管理云平台中多个主机上的容器化的应用 xff0c Kube
  • latex与mathtype的对应

    在latex中一些特殊的字体在用mathtype实现的时候需要找到相应的字体 xff0c 就是说latex实现的所有特殊的字体 xff0c 实现 xff0c 在mathtype中都能找到相应的对应 例如下面的文本对应 R E u
  • 深度学习 优化算法

    深度学习优化算法 优化算法概念动量框架 SGDMomentumNAGAdaGradRMSProp AdaDeltaAdamNdam参考 优化算法 概念 优化算法的功能是通过改善训练方式来最大化或者最小化损失函数 模型内部有些参数 xff0c
  • AVStream AVCodecContext AVCodec

    AVStream 表示成一个流媒体 xff0c 每个AVStream对应一个AVCodecContext xff0c 存储该音视频流使用解码器的相关数据 xff0c 每个AVCodecContext中对应一个AVCodec 包含该音视频的解
  • 2022 年 GIS 就业状况

    2022 年 GIS 就业状况 我们生活在数字时代 xff0c 通过进行在线研究选择我们的道路 xff0c 比如选择假期 选择大学或追求职业 如果您正在考虑进入 GIS 领域或在 GIS 领域进一步发展 xff0c 那么这份报告一定会有所帮
  • Eigen使用方法

    看了这边博客之后总结一下https blog csdn net augusdi article details 12907341 xff0c 感谢原作 xff01 看了之后学到了好多 xff01 1 矩阵定义 不管是向量还是矩阵 xff0c
  • Linux C 书籍推荐

    建议学习路径 xff1a 首先先学学编辑器 xff0c vim emacs什么的都行 然后学make file文件 xff0c 只要知道一点就行 xff0c 这样就可以准备编程序了 然后看看 C程序设计语言 K amp R xff0c 这样
  • Lidar与imu外参标定

    目录 网上资料 方案1 方案2 Lidar与IMU的相对旋转 实现 总结 附录 xff1a 最近由于工作需要 xff0c 花了几天时间了解激光与imu的标定方法 xff1b 因为项目需要 xff0c 且这里是个人认识的一个整理 xff0c
  • ROS的tf包中坐标变换的方法

    1 setRotation函数的参数 在坐标变换的时候常有这样的写法 xff1a tfTutorialsAdding a frame C 43 43 transform setOrigin tf Vector3 0 0 2 0 0 0 tr
  • 转载-自定义ros消息 vector

    原创 xff1a https blog csdn net m zhangjingdong article details 79617966 1 我在ros程序包中新建一个msg文件夹 xff0c 用于存储msg消息相关定义 xff0c 之后
  • 学神的“诞生”-2014清华大学本科生特等奖学金答辩观后感

    清华的特奖与交大的竢实扬华 偶然间在学堂在线上留意到有这样的一场现场答辩 xff0c 很想知道最高学府的最高荣誉花落谁家 xff0c 得此殊荣的又是些怎样的 学神 xff0c 几点感受记录之 1 经历 gt gt 证书 清华的学生更注重大学
  • qt中 美化 问题列表

    1 QTabWidget 中tab xff0c tab bar xff0c pane属性分布 2 使用qss美化时 xff0c tab标签上和pane中都能美化成功 xff0c 但tab最右侧的tab bar却始终没有成功 设置控件的背景
  • AttributeError: module 'cv2.cv2' has no attribute 'createLBPHFaceRecognizer'

    AttributeError module cv2 cv2 has no attribute createLBPHFaceRecognizer 在某一次做人脸识别的小demo的过程中遇到了这个问题 下面直接上产生问题的源代码 span cl
  • CAN总线ACK响应问题

    CAN总线的应答位 xff08 ACK xff09 用来表示节点已经收到有效的帧 任何节点如果准确无误地接收到帧 xff0c 则要向总线上发送显性位 xff0c 该显性位将掩盖发送节点输出的隐性位 xff0c 使总线上表现为显性 如果发送节
  • 嵌入式书籍推荐

    嵌入式书籍推荐 Linux基础 1 Linux与Unix Shell 编程指南 C语言基础 1 C Primer Plus xff0c 5th Edition 美 Stephen Prata着 2 The C Programming Lan