对比STM32,ARM9研究方向的猜想

欢迎转载,请注明出处,本文地址:http://blog.csdn.net/jk050802/article/details/8583733。

联系邮箱:yinfork@foxmail.com


2013年的寒假,受老师的邀请,去到东莞实习了10天。虽然不是第一次去,但是这次的体会和上次有了很大的不同。这篇文章本来想从东莞回来就写了,但是一直拖到现在才写。

在东莞,我工作位置的旁边是一个约27岁的大学生,他的职位大概是嵌入式工程师,他每天都在使用上了ucos2的STM32芯片进行编程。刚好我在学ARM9+LINUX,于是有时候我们也私下讨论了一下STM32和ARM9的那些事儿。

STM32是这几年很火的,有哈佛架构,性价比高,开发使用的函数库齐全等优点,这个芯片我本来也想在大一下的时候买块开发板来学,不过后来项目需要,所以学了ARM9。

在讲之前,问一个问题。假设有这样的一个项目,让你做一个数字示波器的控制和显示部分的模块,而采集模块和保护由其他芯片完成。问你应该采用ARM9还是STM32?(本文的ARM9代表冯诺依曼架构的芯片,而STM32代表的是哈佛架构的芯片)

个人觉得可能用STM32会实际很多。主要原因如下:

1.             芯片成本高。STM32的芯片大概十几元一片,而且像单片机一样,几乎一块芯片就可以做出一个最小系统。对比ARM9,不但要买相对比较贵的ARM9芯片,还要买上Nand flash和nor flash才能做出最小系统。TQ2440的核心板淘宝就买到200多了。

2.             做PCB的复杂。据说采用ARM9芯片的TQ2440的开发板中,它的最小系统用到6层板。据说做6层板,一次开模费就要1K多了。而且假如不按照TQ2440,选用自己的硬件方案来做最小系统,不知道又要画多少次板才行。

3.             对于项目,假如采用普通的界面(如仪器类界面)加普通的外设(如按键,串口等),真的要上Linux吗?上Linux系统的确会增加不少难度。从驱动编写,到Qt程序编写,再到系统移植等,从内核到应用层,这对于不少人来说,的确有不少难度。假如功夫不到家,还可能开发周期延长,甚至做出来的产品还不如用STM32做得好。而这方面STM32虽然是有点瑕疵,但是也做得不错。

4.             采用ARM9比STM32需要更多的人手。对于ARM9,假设上了Linux系统,又要做驱动,又要做界面,还要搞系统移植,每一项都是挺有挑战性的。大型项目用STM32可能就做不来了,但是小型项目,STM32的确不需要太多人手就能完成。而且,聘请一个嵌入式Linux的工程师也是价格不菲的。

以上就是我觉得ARM9的不足之处了。从上面看出来,假如用ARM9去开发一个用51单片机,或者用STM32就能完成的项目,真的有点大材小用了。所以,我觉得学ARM9,就应该研究一些STM32等哈佛架构的芯片无法比拟的方向。哈哈,假如别人用STM32或者AVR甚至51就能完成大部分功能,要你的ARM9干什么啊。

学ARM9,其实好多时间就是在学Linux。因为Linux这个操作系统真的很强大了,比ucos要丰富得多。因此,下面我觉得学ARM9可以研究的一些方向:

1.      网络通信类。众所周知,世界上绝大部分的超级计算机和服务器都是采用Linux的。这归功于Linux优秀的网络栈。Linux的网络栈的出错几率小,支持的网络协议丰富。通信协议从互联网的到如今流行的wifi,蓝牙等都能够支持。网络这方面是STM32等哈佛架构的单片机无法比拟的。

2.      文件管理类。Linux有虚拟文件系统,支持绝大部分的文件系统,可以对磁盘里面的文件进行很好的管理。因此假如一些如MP4,PDA等需要对多文件操作的项目,更多会采用ARM9。

3.      绚丽的多界面类(或游戏机类)。普通的界面(如示波器等),用STM32是可以完成的。但是对于复杂的界面,用Linux就好多了。在Linux上,可以用Qt等软件制作特殊的绚丽的界面。此外,太多的界面也会让STM32吃不消。多界面会使程序的空间增大得很快,对于Linux那样,采用虚拟内存管理,1G的程序可以在只有128M的物理内存的机器上跑。但是STM32就不行了,没有MMU就没有虚拟内存的功能(暂时看来是没有MMU),假如128M的物理内存的机器就只能跑不超过128M的程序。况且,STM32有128M的内存吗?

4.      多种芯片的支持。Linux的可移植性好,假如一个项目需要换另外一种CPU,只要移植好Linux和相应的驱动,应用层基本不用改。但是移植Linux也是不容易的。

ARM9最大的优势就是可以跑Linux系统。假如能够真正发挥出Linux系统的优势,真的能让STM32等哈佛架构的单片机感到望尘莫及。但是STM32等哈佛架构的芯片,对于大部分中小型普通类控制项目,也是很有优势的。

既然选择了,就要风雨兼程。选择了STM32,就要挖掘STM32独特的优势,学精它;选择了ARM9,就要发挥出嵌入式Linux的优势。学东西最怕就是见到一样好就学一样,祝大家能够放下浮躁的心,学到自己喜欢的东西。学精一门总比样样都学而学而不精要好。

                                                                                                                                            Yin

                                                                                                                                     20130216

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值