韦东山老师百度贴吧问答精彩集锦 (3)

5、韦老师好,我玩过51、stm32单片机,有这些基础,然后现在想开始学arm、linux这些,想问在以后看视频学完后,怎样可以提高我的实践应用水平呢?

:2个办法:一是看视频时,看完一个视频就关掉,尝试自己写出代码;二是学完后,换一个板子写出代码。如果换了板子还可以把视频中的程序写出来,绝对可以直接参加工作。换,比如选TI、全志的,这是为了练手;Linux驱动=软件框架+硬件操作;我们的视频已经讲清楚了软件框架,这个通用;视频中也演示了怎么操作2440硬件,换板子就是要练习怎么操作其他板子的硬件,并练习框架。

 

6、学了51了想入手嵌入式,原本想继续学32但看了你回复其他人的贴,我应该怎么走接下来的路?因为是一路踏踏实实走下来的,感觉51和c学的都还过得去,

答:就我本人的经历:
51单片机-->周立功的ARM7-->最后上手了ARM9开始LINUX学习。
现在很多人还是用这套路线:
51单片机-->STM32-->再换一个板子学习LINUX。
这条路线不能说错,但是今时不同往日,现在有更好的选择;再用老路线效率太低。

我先说200x年左右嵌入式Linux的教程状况:
2005年左右,嵌入式Linux才兴起,那时wince还占主流;市面上嵌入式Linux的书是很缺乏的,不要说好书,连相关的书都没有。
市面上能找到的,只有周立功的ARM7书、开发板,使用IAR这些工具开发单片机程序,就跟现在的STM32一样。
那时学习LINUX的人,只能靠论坛: 倒闭了,转型了;以前你们可以在这些论坛上看到我以"dswei"为名疯狂发贴,现在看起来都是些弱智问题。

周公的书,再结合杜春蕾的<ARM体系结构与编程>让我对ARM的架构有所了解,
然后开始自学之路:我2005年闭门自学了半年LINUX,然后才到中兴工作。
你看,那时没有更好的教程,学习ARM7是为了熟悉ARM架构;
现在有了更好的教程,再去学习STM32的话,效率就太低了。

理由如下:
1.WINDOWS下好的IDE封装了很多细节,而这些细节在学习LINUX时很重要
STM32使用iar,keil, mdk等工具,你直接写main函数、直接用C函数写中断。
那么,你只学会了怎么调用函数、只学会了怎么看芯片手册操作寄存器,你无法学习这些:
① 程序从第1条命令开始怎么执行?
② 程序如何布局、怎么写链接脚本
③ 如何重定位代码段、数据段、如何清除BSS段
④ 中断发生时,怎么保护现场、怎么调用C语言写的中断函数、怎么恢复现场


2. 学习STM32时,你无法接触到LINUX;我们后续学习LINUX时,需要用到UBUNTU这些PC LINUX开发环境,在UBUNTU下写程序跟使用IDE写程序有很大不同。
在ubuntu下开发单片机程序,你可以:
① 编译器的各类选项由你控制
② 源文件的管理由你写的Makefile控制
③ 你在WINDOWS下编程,再上传到ubuntu来编译,这套流程跟工作时是一样的


3. 最重要的一点:
STM32无法运行LINUX,你学习LINUX时需要再换一套板子。
STM32的知识对学习LINUX有一丁点帮助,
但是我直接使用能运行LINUX的板子来学习LINUX裸机开发,再回头看STM32那简直是小菜一碟。
学习LINUX裸机/单片机开发的所得,远超 STM32单片机开发

 

 

以上回复基于这个假设:嵌入式Linux是目前嵌入式发展的大方向。如果你觉得单片机可以打天下,那当我没说。
就技术来说,会嵌入式LINUX的人,肯定会单片机。Linux中用到的u-boot,就是单片机程序的集大成者。而单片机再牛的人,入门LINUX还至少需要半年,很多概念、观念完全不同。

我在2005年已经用单片机自己写了操作系统,你们可以在百度上搜mmuos ,应该可以看到这句话:mmuos 这是一个不到2000行的操作系统,巧妙地利用ARM9 CPU的内存管理单元(MMU)实现进程的切换。
那时我对单片机已经很熟很熟很熟了,还是要闭关学习半年LINUX。

我开发产品时,会基于性价比选择方案,该用单片机就不会用LINUX,该用LINUX就不会用单片机。
小米智能插座用的就是单片机,如果强上LINUX只能亏本;
智能网关只能用LINUX,用单片机你永远做不出来,在网络方面单片机永远是阉割版。大疆无人机就是单片机+LINUX的组合。

我不希望51单片机、STM32的从业者来攻击我,就单片机领域,重点在于丰富的实际经验,怎么更快、更稳定、更精确、成本更低地解决问题,一个经验丰富的单片机工程师工资也不会低。实时性单片机的强项,是LINUX的弱点,两都都懂,饭碗才牢靠。比如:一个机器手臂中有一大堆单片机,LINUX可能只是主控。

技术归技术,市场归市场,
就技术来说,嵌入式Linux包含了单片机。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdswz.html