linux自学

嵌入式开发入门书籍推荐(10本) 书中详细讲解了实时操作系统的原理和应用、中断和中轮询、定时器和任务、电力管理、系统设计和优化等诸多方面内容,对于新手和有经验的开发者都非常适合。这本书讲述了嵌入式系统的硬件和软件概念、系统及应用程序的设计和开发方法、嵌入式系统的实时性、中断处理、嵌入式操作系统和嵌入式软件的测试等。《嵌入式系统》是一本比较实用的嵌入式开发技术书籍,作者Jim Cooling介绍了嵌入式实时操作系统(RTOS)、各种RTOS、各种嵌入式操作系统、中断、硬件和时钟、嵌入式Linux,以及如何在以上方面设备磨练嵌入式技能。 阅读详情
嵌入式书籍推荐
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内核,学习编程,读一些优秀代码也是有必要的。    

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

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

http://www.cnblogs.com/phinecos/category/58701.html

嵌入式学习的书单推荐 以上是一些优秀的嵌入式学习书单推荐。选择适合自己的学习材料对于学习嵌入式系统非常重要。每一本书籍都有其独特的优势和特点,读者可以根据自己的学习目标和兴趣选择合适的书籍。同时,我们也要注意不断实践和探索,结合实际项目和项目经验,不断提升自己的嵌入式技术水平。希望本文的推荐能够帮助大家在嵌入式学习的道路上取得更好的成果。 阅读详情

相关推荐

谈谈我的学习工作经历,自学linux去中兴上班

作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下。 在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目。它们是纯C、纯数学、纯逻辑的题目,不涉及界面这些东西,很适合煅

622

学习嵌入式必读十本书,从C语言到ARM

嵌入式开发必读书籍

学益得的博客 1万+

Carla-编译CarlaUE4提示HoloLens.Automation项目缺少Windows程序集?

编译CarlaUE4提示HoloLens.Automation项目缺少Windows程序集?不妨看看这个!

DSK_981029的博客 2573

嵌入式书籍推荐

嵌入式书籍推荐 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)着

Jerry Liu 4890

STM32移植LVGL(LittleVGL)

**STM32移植LVGL(LittleVGL)**

qq_53000374的博客 1万+

微机原理与接口技术第六版周荷琴课后习题答案及解析(期末重点)

第二章 1.8086/8088CPU可直接寻址多少个内存(字节)单元?多少个I/O端口?它们的外部数据总线各有多少根? 8086/8088CPU使用的是20位地址总线,因此可以直接寻址2的20次方个内存单元(即1,048,576),每个单元大小为1字节,因此可以直接寻址2的20次方个字节的内存。 8086/8088CPU有64K个I/O端口,每个端口占用1字节的地址空间,因此可以直接寻址6...

Wmicheng的博客 1万+

嵌入式开发的一些经典书籍

数据结构与算法分析》(Mark Allen Weiss):这本书着重介绍了常见的数据结构和算法,包括链表、栈、队列、二叉树、散列表、图论等,强调了算法复杂度分析和性能优化的重要性,并提供了大量的示例程序和应用案例。《数据结构与算法(C++描述)》(Adam Drozdek):这本书介绍了常见的数据结构和算法,包括数组、链表、栈、队列、树、图等,使用C++语言进行描述和实现,并提供了大量的习题和解答。

嵌入式之斋 9858

禾赛XT16 vs XT32激光雷达实测对比:选16线还是32线?看完这篇不纠结

本文深度评测禾赛XT16与XT32激光雷达的性能差异与应用选择。通过实测数据对比,分析16线与32线激光雷达在点云密度、动态场景适应性及与IMU协同工作等方面的表现,帮助用户根据自动驾驶、机器人等不同应用场景做出最优选型决策。

table的专栏 944

Linux难学?大神告诉你,Linux到底该怎么自学!

就Linux这个学习曲线,如果不是有人带,分分钟会被自己劝退!不过,要是你换个思路,不妨跟着这里的节奏,试试看?

一个专注于嵌入式IoT领域的架构师,深耕IoT领域多年,深度掌握IoT领域的相关技术栈,包括但不限于RTOS内核的实现及其移植、硬件驱动移植开发、网络通讯协议开发、编译构建原理及其实现、底层汇编及编译原理、编译优化及代码重构、嵌入式IoT系统的架构设计等。 8324

ROS自定义地图实战:从CAD到导航的完整流程

本文详细介绍了如何将CAD图纸或手绘草图高效转换为ROS机器人可直接使用的导航地图。通过解析PGM与YAML标准格式,提供从图像处理、尺度校准到集成AMCL与move_base导航栈的完整实战流程,帮助开发者跳过繁琐的SLAM建图,实现快速、精准的自定义地图部署。

weixin_29083475的博客 496

工业机器人关节拆装流程_一文读懂模块化直驱电机及机器人关节模组

私信“干货”二字,即可领取138G伺服与机器人专属及电控资料!如果说芯片是智能行业最为重要的核心元件,那么电机几乎可以说是支撑了整个自动化和大工业生产以及现代社会最为重要的部件,全世界90%的能源是由电机发出来的,而70%是由电机消耗调的,电机可以说是整个人类社会能源循环的占有绝对地位的产品。普通伺服电机伺服电机其实已经算是电动机中比较高端的类型,特别是永磁同步类型的伺服电机,由于其启动快速,惯量...

weixin_32159771的博客 2155

Linux自学之路

--前言-----   这篇文章是一年前写的,最初发表在润物网上,现在看起来有点太简单了,没想到会被复旦bbs收入精华区,看来对新手还是有点作用的,所以这次新版成立就贴过来了,如有疏漏也没时间改了,但如果谁发现有错误还请帮忙指出来,不然不知道要害多少新手呢。 ---前言结束-------       一年前,我连Linux听都没听说过,只因各种媒体上都在鼓吹这个操作系统,我怀着好奇心在书店

zjswxx123的专栏 792

NPC 三电平逆变器中点电位平衡算法详解

最常用:零序电压注入(简单、计算量小)最可靠:虚拟空间矢量调制(VSVPWM)及其改进形式(全范围平衡)趋势:结合模型预测控制(MPC)或智能算法(模糊、神经网络)进一步提升动态性能和鲁棒性。NPC 三电平逆变器中点电位平衡算法的 C# 实现示例(零序电压注入法 + 闭环补偿)在 NPC(Neutral Point Clamped)三电平逆变器中,中点电位平衡最常用且易于软件实现的方案是零序电压注入法。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 325

linux自学和培训班区别,参加linux专业培训好还是自学linux好

学计算机的同学在学习过程中应该都会接触到linux这门课程,当然也有行业巨头也在使用linux操作系统,所以linux成为很多IT从业者必备的知识技能,很多人会参加培训,也有人会选择自学,那到底学linux是自学好还是参加培训好呢?有些人选择自学linux,总认为入门是比较容易,但随着学习的深入,每深入学习一步就需要付出更多的努力,如果没有专业的指导可能很难找到正确的方向,而且还很浪费时间,所以选...

weixin_39684495的博客 432

全面解读AI Infra:架构、生态与未来趋势

文章摘要 大模型时代下,AI基础设施(AI Infra)成为关键技术基建,涵盖从数据准备到模型服务的全栈技术体系。文章系统解构了AI Infra的四层架构(硬件资源层、资源管理调度层、开发框架层、平台工具层),并分析了全球AI Infra生态图谱,包括云计算巨头、芯片厂商等全栈服务商,以及中国特色的多元竞合格局。通过对比Data Infra与AI Infra的核心差异,指出AI Infra更关注智能应用的规模化与自动化。文章还探讨了从传统数据设施向AI基础设施的转型路径,强调自主可控、软硬协同等发展趋势,为

技术引领业务创新 610

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

我的Linux(ubuntu)自学笔记分享

** 我的Linux(ubuntu)自学笔记分享 本人自学Linux有了好长一段时间,从最开始的无从下手、一窍不通到现在已经有很大的进步了。所以分享一下学习方法,第一最好买一本Linux书系统的学一下;第二要学会记笔记,经常回顾和使用自己接触过的简单命令,才能达到熟能生巧;第三遇到不会的Linux概念等,立刻去百度,让自己的接触面广一点;第四,可以加一个Linux qq群和大...

qq_44821149的博客 2614

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux应用开发自学之路

  前言         在 「关于我 」那篇博文里,朋友们应该知道了我不是科班出身,是由机械强行转行到Linux应用开发方向。下面我就详细向大家介绍自己这一路上的转行历程,希望对大家有所启发。   我是学机械专业的,对于机械专业我还是很感兴趣,而且当年这个专业也是我自己选择的。本科时成绩没排第一,但也排专业前列。硕士时成绩一直是专业第一,还拿过国家奖学金。由此可见,我还是挺热爱机...

码到成功 7万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

linux系统可以写入光盘吗_linux可以自学吗?自学能不能学会?

Linux相对来说入行门槛低,简单易学,不怕0基础,不怕学历低、不怕没经验,所以很多想要进入IT行业的人,会选择不太难得Linux,那linux可以自学吗?自学能不能学会?今天我们就一起来探讨一下这个问题。其实按理来说,大多数同学会想Linux不难,那我自学是不是也一样可以顺利就业,其实不然,因为虽然说Linux可以自学,但是自己学到的东西离就业还是有一定差距的。而且单单来说自学,自制力就是一项很...

weixin_39969232的博客 176

关于自学linux操作系统报告

Linux操作系统基础教程-安俊秀主编-人民邮电出版社 为Linux自学4小时制作

共同学习,心怀感激。 1222

Ubuntu Linux完全自学教程

Ubuntu Linux完全自学教程 【下载地址】UbuntuLinux完全自学教程 《Ubuntu Linux完全自学教程》是专为初学者设计的实用指南,帮助您轻松掌握在虚拟机中使用Ubuntu Linux的核心技能。教程内容全面,从基础知识到简单Shell操作,逐步引导您深入理解这一强大操作系统。无论您是Linux新手...

gitblog_06700的博客 390
上一篇: 感悟
下一篇: corba知识
下雨不打伞126
博客等级 码龄13年 4粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值