找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7908|回复: 2
打印 上一主题 下一主题
收起左侧

过来人分享如何学习单片机ARM/stm32的经历

[复制链接]
跳转到指定楼层
楼主
ID:79332 发表于 2015-5-8 17:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
虽然大学学的是应用电子技术,但是选择就业的时候还是觉得很迷茫,因为在大学里学的东西大家都懂

的,最后很多培训机构都来我们学校做讲座,到时候给我们洗脑,但我确实对嵌入式本身就有那么点儿

兴趣,然后决定先确定自学嵌入式吧,听说跟硬件相对比较紧密!而我在大学里多少学习了数字电路,

单片机等,所以多少也有所利用,不会真的一无所知。C 语言在大学就学了。哈哈这就是我的家底。

  我知道自己的基础差,于是我就拿各种书籍看,利用一切能利用的资源学习,很痛苦,没有人请教。
  另外就上网到论坛上去,我就到各个专业的技术论坛,其实是电子论坛和嵌入式论坛。我几乎没有发

帖,几乎把几个大型的出名的论坛的帖子翻遍了,虽然有很多重复的,我才知道嵌入式是真正的含义还

有相关的应用在哪里。这些帖子对我以后的学习产生了极大的影响。
  最关键两点:
  1、嵌入式是什么?
其实嵌入式简单的来说就是可裁剪的一台计算机。      
  2、嵌入式需要哪些知识?
学习嵌入式需要什么基础知识呢?至少要懂模电数电,最基本的外围电路需要看明白,才知道怎么写程

序,其次C语言非常重要,接着是ARM(ARM9/11或STM32),最后是Linux驱动内核,然后稍微的了解一些

应用层,方便后期的项目完善工作。

  知道了这两点,好办!我就开始规划学习路线。在论坛上了解到,实时操作系统 ucos是一个很好的嵌

入式操作系统,对初学者很好。于是我就买了一本书,但是代码在电脑里调不通,网上也有很多相同的

问题,我就看书,分析代码,一遍不行就两遍,三遍,这样才看了入了门(这部分花了我好长时间,并

且遇到问题找不到人来问),但总算知道什么是进程。原来看操作系统书时,根本就不知道进程是个什

么东西。
  在这段时间掌握的东西不多,但是,对我以后的影响很大,我想起了大学时一个同学跟我说过了一句

话:大学里最重要的不是学到了什么,最重要的是学会怎么学!大概是这个意思。
  进入我的避难所
  对我来讲,再次进入大学不再是大学,而是避难所。希望这次进入给我喘气和养精蓄锐的机会和时间

。我是这样认为和实践的。
  在学校我有三件事:上课,上图书馆,上网。
  对于上课,学校开了很多课程,非常好,很多是名人名师讲解,于是很多同学都想学,都去听。我也

考虑过,最后放弃。我是这样认为的,时间是有限的,什么都想学,什么都学不成。于是我把我自己学

的课进行了分化,一般的课程通过就行,重要的一定好好学。我希望不要什么争论学习课程多和少的问

题,这仅仅是我的看法。所以我的成绩应该是很差的。分数低。好在后来的单位没有要我的成绩单,否

则就惨了。
  我个人感觉是上图书馆的效率比在寝室里高多了,这是我的经验。
  上网,我给自己定了规矩:不玩游戏,不灌水,少看电影!因为时间对我来说太少和宝贵了,我没有

资格和资本来浪费这些。上网我就在几个重要的专业技术网站上逛,下载技术资料。我一个朋友最近开

了一个嵌入式学习的地方,有时间他们可以免费共享资料。

  有人会问,您下了那么多资料,怎么看的完和消化的了呢?
  我是这样对待这个问题的:
  1、
  网上资料比较零散,不系统,但是如果把差不多的东西收集起来看就相对完整了。
  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―〉linxu系统编程开发---〉驱动开发和分析linux内核。而我差不多相反

,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。
  关于要不要学习内核的问题,我的回答如下:不一定。如果你是喜欢钻研的那你进入内核会满足你的

欲望。同时对你以后的嵌入式系统的开发有很好的影响。如果你想从事嵌入式linux系统开发,最好对内

核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林

派别的话,如什么拳法,什么刀法等,那么linux 内核应该是一个人的内功的反应。

  怎么开始学linux内核:最好有三件宝物:《深入理解linux内核》《情景分析》和源代码。
  先看《深》,那主要讲原理,好像市场上有本讲原理性并且更浅,《linux内核设计与实现》听说不错

。如果没有学习操作系统的,像我这样的,最好先看看操作系统原理的书。看了几遍后,就看情景分析

,最好对着《深》看。两本交叉看,《深》是纲,《情》是目。最后深入代码。
  2、学习嵌入式linux
  学习嵌入式,我认为两个重点,cpu和操作系统,目前市场是比较流行arm,所以推荐大家学习arm。操

作系统很多,我个人对开始学习的人,特别不是计算机专业的,推荐学习ucos。那是开源的,同时很小

。学习很好。为什么选linux,我不想讲太多,网上这方面的太多,但是我在工作中发现,做linux 的技

术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,

一旦解决自己又长进了!相对来说开发周期长,难度大。现在资料也逐渐丰富起来,难度也降低了些!

  至于怎么学习,这是他的特色地方,必须有块开发板,我是同学里最早买学习板的,虽然化钱,我认

为值。对我实习和工作产生了很大的影响。
  如果没有开发板,那是纸上谈兵。有人说,那要1000-2000亚,的确是,兄弟,看长远的,对您的职业

和发展那点钱不算什么!有的人说我站着说话不腰痛,好吧,钱这东西对我影响很大,我在大学里扫厕

所,扫的不错,奖5元/月。兄弟你有过吗?我认为教育投资是效益最有保障的!我实习拿3k,很多同学

拿1 -2k,当然比我高的也有。虽然我现在没有毕业,但一家公司就签了。从事目前流行的高档的消费电

子的研发。对于我两年前一无所知的我,应该有质的变化,我感谢学校收了我这个废品。当然我也非常

的努力。说这么多并不是要炫耀我什么,实际上根本不值得炫耀,虽然现在工作环境和待遇比较满意,

但是,我发现我很差,特别是代码能力,我希望平常大家少玩游戏,多编程。编程才是硬道理!

  3、 学习板和培训
  你可以不接受培训,但是不能不买开发板。如果你想学习嵌入式一定要买块学习板,最好买块aA9的,

贵些也值。可以跑高级操作系统。这个不要什么品牌公司的,一般不会出什么问题。

  对于培训,如果有条件最好参加,主要是嵌入式相对别的不同,自己摸索很费时,如果有高手指点非

常的好,进步快。特别是认识做这些的朋友。我接受过培训,认识个朋友。在以后的工作中帮我很多,

在这里谢谢他!我记得哈佛的一个MBA的学生这样说,大意是:在哈佛学到什么不重要,最重要的是这些

未来各大公司的高级管理人员是我的同学!真是有远见!

我认识的一个朋友就在深圳市宝安区沙井街道华美居572(沙井赛格斜对面),叫镇鑫科技有限公司,听

说可以免费试听哦!有个群他们说后期会上传共享一些学习资料,群号是453087284

  目前市场是培训比较贵,但是我个人觉得只要适合自己,物有所值,那就没什么了,重要的是能学到

东西,为以后的道路做铺垫。 我不是帮别人打广告,只是我朋友这个人还是比较可靠,如果想要免费资

料也可以找他要990761465,姓叶,我不是托,以上纯属个人建议,呵呵。

  没有想到,一下写了这么多,其实还想写的,比如在中科院的一位老兄是怎样学习linux内核和看书的

,真的很感动。他的为人我很钦佩。也想介绍毛德操的《嵌入式系统》那本书,对学习arm
  linux的很好,也想介绍实习和工作的东西,太长了,耽误大家时间。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:79505 发表于 2015-5-13 11:19 来自手机 | 只看该作者
给楼主的精神点赞!
回复

使用道具 举报

板凳
ID:99174 发表于 2015-12-27 16:35 | 只看该作者
正准备学习,工作之余有3天热度。反复纠结中
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表