• 学习嵌入式的感想(来自分享)


    一.学会裸奔:从51出发。
    在这个阶段有三个目标:
    1.学会看原理图,熟悉掌握IIC,SPI等等协议(以后会发现不管MCU或是SOC怎么变但是这些协议还是一样的)。
    2.了解51单片机的工作原理,明白其是怎样执行程序的,内部资源有哪些(串口,DAC,ADC等)。
    3.熟悉C语言在单片机编程中的运用(了解C语言基本语法)。
    ---》这个阶段我推荐几个好的资源吧!
    1.霖峰的天狼心51单片机入门视频教程(免费的)。
    书籍我推荐
    1.北航的51单片机初级教程(原理性的东西比较多)。
    2.郭天祥的51单片机的书(实用型的东西比较多)。
    可能大家是觉得原理性的东西没用,我觉得非常有用,它能让你明白为什么这么做,而不仅仅教你这样做就好。

    二.初识操作系统:STM32与ucosII。
    在这个阶段有四个目标:
    1.了解一些高级协议如USB(圈圈教你学USB入门最佳),SD卡,TCP/IP(阅读uIP源码)等。
    2.初步接触ARM体系MCU(明白ARM和51的区别,它又是怎样取指、译指的。程序又是怎样烧写到内部的FLASH的。到底RAM是起怎么作用的)。
    3.接触操作系统,ucosII(麻雀虽小五脏俱全)是入门操作系统的神器(明白为什么用操作系统,怎样才能称得上操作系统,任务的切换、调度,怎样动态的分配内存等)。
    4.深入理解C语言,明白结构体(在stm32头文件中到处都是结构体以及结构体指针)怎们用,函数指针(stm32自带的USB协议到处都是函数指针)是什么一回事,链表(ucos的TCB和任务就绪表就是链表结构)用在什么地方。
    在这个阶段我推荐跟着原子学,可能大家会觉得我在拍马屁(这是原子的论坛)。为什么跟着原子学我就说说我的理由吧!
    1. 原子的源码是寄存器版本的跟51是无缝对接的,学了51的人很容易上手的。不像市面其他的开发板一开始就是库函数,其实都是MDK自带稍加修改而已。搞的 我是云里雾里。可能是我太菜了。当然库函数开发也是一种很好方法(只是个人认为不适合初学者,初学者总是会去找似成相识的感觉,或是站在以前的基础上学习 新知识)。
    2.原子的代码质量很高(里面涵盖c语言基本及一些高级用法),几乎上都是他自己实现的。特别是两个综合实验(怎样实现GUI,怎样实现程序的后台执行)是值得我们去研读的。
    3.原子是一个脚踏实地的工程师(实干精神)。为什么呢?因为他代码是一个一个敲出来的(不像本人太浮躁每样东西都学的是半桶水可能还没有吧!)。
    ---》我推荐几个好的资源吧!
    书籍我就不推荐了原子都推荐了。免费视频我推荐3个
    1.刘凯的STM32视频教程(免费)。
    2.刘洋的STM32视频教程(库函数版本的视频。后面是收费的,买他的开发板就可以免费看。讲的比较详细)。
    3.刘凯的ucosII视频教程(免费)只是梳理性的讲解知识点,最好是视频和书一起看。
    到了这里可能会有些朋友会有疑问有了STM32我为什么还要学51,我也只能回答你1+1=2.(基础很重要,冰冻三尺非一日之寒。)
    还是要吐槽一下哦,原子是个大牛,别希望大牛能手把手教你学STM32。

    三.深入ARM,初识LINUX,深入Linux。
    1.从裸机程序(不用集成开发环境能让你明白程序是怎样生成.bin的,从编辑到编译了解编译器到底是个什么东东)到Uboot(就是一个大型的裸机程序,拥有强大的文字交互能力)再到编译Linux内核再到写驱动(了解Linux内核的强大的数据结构)。
    2.从ARM9出发,深入了解ARM,进而了解电脑的工作原理(自从接触了ARM9(linux)我逐渐明白基本的电脑工作原理)。
    3.不得不说linux是个伟大的作品,开源让我们共同进步。
    4.gui子系统(这会我们最好奇的地方,我点点鼠标就能安装程序、运行程序。里面到底是什么原因)。人类是非常感性的,gui是人们最直观的感觉。在这个很重视产品体验的时代,不得不gui很重要。
    可能大家会疑问为什么有ARM cotex-A系列还学ARM9干嘛?
    这 也就好比有了STM32还要学51干嘛!ARM9资料最全,你学习中遇到的问题以前肯定有人遇到过这就能解决你的问题,学习东西总是从简单的入门,开发产 品总是挑选性价比最高的那个,款且ARM系列的SOC原理是相通的,正所谓一理通通百理(韦东山一位嵌入式大牛)。你如果是学习的话追“芯”是追不赢的。
    ---》这部分我推荐几个好的资源吧!
    1.国嵌的视频(免费的)框架性的东西只能是初步了解。
    2.韦东山的Linux视频(第一期免费,后面是收费的(二期280,三期180)对于学生来说比较贵)。
    至于书籍是无数了太多了我也推荐几本吧!
    1.Linux源码情景分析
    2.Linux驱动详解
    3.Linux完全开发手册
    我个人认为学习是循序渐进的一步一个脚印的来如果上部分没理解(到位)透彻的话到时候肯定要返工(本人就是这样的)

  • 相关阅读:
    四级英语day9
    123
    像程序员一样思考
    Kali
    OS X
    Effective Java
    DHU ACM OJ
    Ambari
    Hadoop
    Hadoop2
  • 原文地址:https://www.cnblogs.com/alanfeng/p/5097958.html
Copyright © 2020-2023  润新知