关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
分享 | 0基础,我是如何学习嵌入式开发的?
[复制链接]
作者:
襄垣战队收人
版块:
›
嵌入式操作系统
›
其他嵌入式相关
发布时间:
2018-8-6 15:36:12
1732
0
返回列表
襄垣战队收人
当前离线
新手上路
新手上路, 积分 36, 距离下一级还需 14 积分
新手上路
新手上路, 积分 36, 距离下一级还需 14 积分
积分
36
发消息
楼主
电梯直达
襄垣战队收人
发表于 2018-8-6 15:36:12
|
只看该作者
|
倒序浏览
|
阅读模式
说在前面:
嵌入式的学习方法千千万,达妹发这篇文章的目的,不是让大家照搬这个学习方法,而是借鉴它的长处,总结出自己的学习方法。
另外自学都有个前提条件,就是有个特别牛逼的老师,不管这个老师是师兄师姐还是老师朋友,在自学的道路上有人指点迷津,辨别方向,才能走到最后。如果没有一个牛逼的老师带领,很可能,你会拐上一条岔路上越走越远,也可能很努力了结果=0。
我2000年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工作,但在毕业前夕有个进入it的机会,我本想进去的,家里人极力反对,阻力可想而知。就这样一张报纸一杯茶的日子我混了三年,几乎下班后有种很空虚和恐慌的感觉。
没事的时候我就在网上查资料,思考“学什么好”这个职场人考虑最多的哲学问题,最后确定学嵌入式吧,听说跟硬件相对比较紧密!而我 在大学里多少学习了数字电路,单片机等,所以多少也有所利用,不会真的一无所知。当然在这之前也自学过数据结构,计算机组成原理等。C 语言在大学就学了。
我知道自己的基础差,于是我就拿操作系统,数据库、数据结构、c++来看,机关有这个好处,空余时间多,于是平常就看书,很痛苦,没有人请教。
另外就上网到论坛上去,我就到各个专业的技术论坛,其实是电子论坛和嵌入式论坛。我几乎没有发帖,几乎把几个大型的出名的论坛的帖子翻遍了,虽然有很多重复的,我才知道嵌入式是个什么东东。这些帖子对我以后的学习产生了极大的影响。
最关键两点:
1、嵌入式是什么?
2、嵌入式需要哪些知识?
知道了这两点,好办!我就开始规划学习路线。计算机的基本理论不能丢,于是重点看组成原理,数据机构,操作系统、c++.同时论坛上了解到,实时操作系 统ucos是一个很好的嵌入式操作系统,对初学者很好。于是我就买了一本书,但是代码在电脑里调不通,网上也有很多相同的问题,我就看书,分析代码,一遍 不行就两遍,三遍,这样才看了入了门,才知道什么是进程。
我想起了大学时一个同学跟我说过了一句话:大学里最重要的不是学到了什么,最重要的是学会怎么学!大概是这个意思。
我一般都是都从网上下资料,有人问:下了那么多资料,怎么看的完和消化的了呢?
我是这样对待这个问题的:
1、 网上资料比较零散,不系统,但是如果把差不多的东西收集起来看就相对完整了,(嵌入式的图书就是这两年特别多,简直是向外涌!以前想买本嵌入式,特别是嵌入式linux的不多。)
2、 对于像我这种入门的来说,很多看不懂,没关系,反复看,我个人对学习方法的一个总结是:重复是最好的老师!
3、 即使有的用不上,也可以收集以后用的上时查阅。
但是我并非什么都要,目前我的技术路线是嵌入式linux,所以像wince之类基本上不收集。
总之,我在学校里我充分利用时间来学习,我看到一些同学整天的挂在网上打游戏,发些无关痛痒的帖子,浪费时间呀!我真的很痛心!
我学习嵌入式的方法
1.
学习linux根据我在论坛的了解,我选择学习嵌入式linux,刚好我们学校也重视嵌入式linux,从实验室到课程安排都是关于嵌入式linux方面,天时地利!这里我把学习linux的经验和教训说说。
可以这样说,在论坛里说道学习linux差不多就学习linux内核。于是我电脑里安装了linux就开始看linux内核方面的书了。我记得来学校以 前就买到一本陈莉君的讲linux内核的第一版,现在有第二版了。我就开始看那本说,大家说linux内核情景分析不错,我就买了上下册,后来又买了 《深入理解linux内核》,最后也买了毛德操的《嵌入式系统》也是分析linux内核代码的,主要讲arm相关的。
看内核期间是个 非常痛苦的过程,看情景分析有种在森林中找出路,其间我组织了一些同学学习内核,几乎没有几个能坚持下来的。我认为我是坚持下来了。情景分析在看第一、第 二遍是几乎没有摸到门道,我分析有三个方面的原因:
1、自己的基础差,这是最关键的。
2、内核本身很难。
3、没有交流和高人指点。
到了第三遍时我才摸到门,才差不多知道个linux的大概脉络,很多细节也是稀里糊涂。
学习linux总结,这里声明一下,我指的嵌入式主要是偏向软件的嵌入式。学习嵌入式的重点和难点关键在操作系统,如果没有掌握操作系统,我认为很难把握一个嵌入式系统。即使在做嵌入式开发中,作应有层的开发几乎可以不知道操作系统也可以开发,我认为那是浮在表面的。很难深入和提高自己的层次。声明:一孔之见!不可深究!
在学习linux内核过程中犯了一个极其严重路线错误:对linux几乎不懂就开始学习内核。
我个人推荐一个学习路线是:使用linux—〉linux系统编程开发——〉驱动开发和分析linux内核。
而我差不多相反,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。
关于要不要学习内核的问题,我的回答如下:不一定。如果你是喜欢钻研的那你进入内核会满足你的欲望。同时对你以后的嵌入式系统的开发有很好的影响。如果 你想从事嵌入式linux系统开发,最好对内核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别 的话,如什么拳法,什么刀法等,那么linux 内核应该是一个人的内功的反应。
怎么开始学linux内核:
最好有三件宝物:《深入理解linux内核》《情景分析》和源代码。
先看《深》,那主要讲原理,好像市场上有本讲原理性并且更浅,《linux内核设计与实现》听说不错。如果没有学习操作系统的,像我这样的,最好先看看 操作系统原理的书。看了几遍后,就看情景分析,最好对着《深》看。两本交叉看,《深》是纲,《情》是目。最后深入代码。
2.
学习嵌 入式linux学习嵌入式,我认为两个重点,cpu和操作系统,目前市场是比较流行arm,所以推荐大家学习arm.操作系统很多,我个人对开始学习的人,特别不是计算机专业的,推荐学习ucos.那是开源的,同时很小。学习很好。为什么选linux,我不想讲太多,网上这方面的太多,但是我在工作中发 现,做linux的技术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,一旦解决自己又长进了! 相对来说开发周期长,难度大。现在资料也逐渐丰富起来,难度也降低了些!
至于怎么学习,这是他的特色地方,必须有块开发板,我是同学里最早买学习板的,虽然花钱,我认为值。对我实习和工作产生了很大的影响。
如果没有开发板,那是纸上谈兵。我认为教育投资是效益最有保障的!我实习拿3k,很多同学拿 1-2k,当然比我高的也有。虽然我现在没有毕业,但一家公司就签了。从事目前流行的高档的消费电子的研发。虽然现在工作环境和待遇比较满意,但是,我发现我很 差,特别是代码能力,我希望平常大家少玩游戏,多编程。编程才是硬道理!
3.
学习板和培训你可以不接受培训,但是不能不买开发板。如果你想学习嵌入式一定要买块学习板,最好买块arm9的,贵些也值。可以跑高级操作系统。这 个不要什么品牌公司的,一般不会出什么问题,市场上的板子一般是三星的2410,基本上是抄的。如果是做产品那要注意些。一般的公司一般要2000,加 lcd要3000甚至更多。我接触到有的板只要1200,加lcd也就2000,差别比较大,我认为学习都够啦。
对于培训,如果有条件最好参加,主要是嵌入式相对别的不同,自己摸索很费时,如果有高手指点非常的好,进步快。特别是认识做这些的朋友。我接受过培训,认识个朋友。在以后 的工作中帮我很多,在这里谢谢他!
我记得哈佛的一个MBA的学生这样说,大意是:
在哈佛学到什么不重要,最重要的是这些未来各大公司的高级管理人员是我的同学!
真是有远见!
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
8月达内C/C++、嵌入式训练营
价值580元的课程,
微信报名:0元
长按下方
二维码
报名
长按二维码免费报名
全程大咖级讲师亲授,
解析行业趋势、就业前景,
帮你轻松入门,更快一步成为技术大牛!
推荐阅读
嵌入式上半年就业最高薪16000元
2018上半年达内C/C++学员毕业最高薪15000元
从达内C++学员到新创公司CEO,创业3年企业估值上亿
学C++有前(钱)途吗?好找工作吗?
C++适合哪些人学习?0基础可以学C++吗?
0基础学习嵌入式难吗?多久能学会?
阅读原文
报名参加免费训练营
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
IBM致内核维护者:“你100%是IBM的员工”
•
如何在内核中操作某个文件?
•
华为鸿蒙(python程序员)总结的一整套python学习路线,内含python学习视频 ...
•
硬件产品经理技术知识(一)嵌入式系统
•
Rust引入Linux内核开发?Google:支持!
•
天下数据:为什么云主机发生故障率更低?
•
Linux5.14内核主线预计可与RaspberryPi400兼容
•
风河正在引领RTOS进入“现代化”创新期
•
关于鸿蒙系统HarmonyOS,我有话说
•
如何才能成为一名DevOps工程师?
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
IT业界资讯
生活交流*灌水区*工程师滋润生活*
linux
招聘&找工作
vxWorks
快速回复
返回顶部
返回列表