作者:奥芯软件方案
链接:https://www.zhihu.com/question/316443959/answer/628644826
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
密不可分的单片机
ARM嵌入式和单片机学习有着密不可分的关系,可以抛开复杂的软件结构,先掌握硬件操作。ARM与单片机是有着许多区别的,相比来说ARM要比单片机复杂的多。据某位知乎大神表示,往往单片机只需要对一个寄存器赋值即可初始化,而在ARM下就要调用库函数,另外,每个引脚其功能都多了许多,相应的配置也会更为麻烦。但如果有了丰富的ARM的项目经验就会发现,其实它的应用配置也是千篇一律,有章可循的。
著名专家韦东山也曾强调,不要再用老方法学习单片机和ARM。他表示,学习单片机是没有前途的。一是因为单片机太简单,工作十年与两年技能差别不大所以企业更偏向选择薪资较低的新人,二是因为单片机的价格优势正在逐渐消失,目前智能保持微弱的优势就是稳定性这一特点。如果单片机和Linux都想学,在单片机->bootloader->Linux系统/驱动->APP(QT)这条学习线路上可以使用同一套开发板。首选三星(SAMSUNG)S3C2440、S3C6410、S5PV210、Exynos4412;其次是德州仪器 (TI) AM437X、AM335X;然后是飞思卡尔(freescale),iMX6;还有其它国产芯片:全志、瑞芯微。
ARM的学习方法
学习嵌入式难点不是在学,而是很多人就在入门这一关就卡死了。觉得学的没头绪,是因为你学习方法不对,首先,你应该要有目标,要学到什么程度,要从什么开始学起。
据知乎大神讲解,在学习初期第一先看关于ARM芯片的Mannual;第二找一本关于内核的不错的书,比如,想学Cortex-M3的话,《The Definitive Guide to the Cortex-M3》是很不错的。看这书的时候不需要全部掌握,只需要当做一本参考手册来读就好,知道在开发过程中遇到什么问题来这里哪一章找解决方法即可;第三买一块开发板(上文所推荐的),参考板子带的全程进行调试;第四自己跟项目,或者自己搞点开发,例如开发一个小智能小车之类的,学习需要投入。
Linux作为重要工具,在不明白Linux的情况下,ARM的学习也将面临瓶颈。目前嵌入式Linux领域稀缺的Linux移植到某个新型号的开发板上,能写Linux驱动程序的人,熟悉Linux内核裁减和优化人。现在公认的Linux的入门书籍是“鸟哥的私房菜” ,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇。
|