打印

为什么学习嵌入式要学习linux

[复制链接]
1860|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yybj|  楼主 | 2011-7-16 20:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在网上看到很多有关作ARM的操作系统(OS)移植的**,多数是基于linux操作系统的,这就给我一个印象:是不是搞嵌入式一定要懂linux?带着这个问题,查阅了一点资料!对此有了一点认识:
首先,ARM只是一个32位处理器,可以像51单片机一样用汇编直接操作它的寄存器、RAMROM等内部资源,当然也可以用C语言!那么如果只是把ARM当做单片机来用,那就有点大材小用了,那也就没必要学什么linux了。
  事实上,ARM是通常都是用来做比较复杂的系统的,而且一般都是多任务系统的,当任务比较多,程序比较大的时候,只用汇编和C可怕难以胜任,所以我们应该给ARM配一个操作系统,用来管理这些任务,那么对于ARM,我们可以作使用哪些操作系统呢?Windows XP行吗?当然不行,太大了,不适合做嵌入式,微软倒是推出了专门针对嵌入式系统开发的WinCE,可是这可不是免费的,而且不提供源码的,给你就像一个黑夹子,对于一般的嵌入式学习,就不太合适了?那么什么样的操作系统才能用于做嵌入式呢?嵌入式操作系统通常有Vx works 、WinCE uC/OSLinux / ucLinux等。而uC/OSLinux因为其免费,而且开源,深受学习者和小公司的欢迎。

uC/OS操作系统内核很小,特别适合初学,而且它是占先式内核,是一个实时的操作系统,特别适合实时性要求较高的场合,其内核很小当然其功能当然也就没有linux强大,而且uC/OS的图形用户界面(GUI)还是刚有雏形,没有linuxGUI好,而它的GUI是收费的。这样的话只是linux是最好了,但是linux本身不是实时的操作系统,不适合实时性高的场合,于是ucLinux产生了,ucLinux是一个实时操作系统(RTOS),因此学习ARM+ucLinux的人较多。

  所以,如果只搞uc/OSARM,那就可以不学linux了,如果想学习ARM+ucLinux,要在ARM上移植linux,那么移植后,这个装有linuxARM处理器,当然只能运行linux环境下编译出来的应用程序(这里还有一个交叉编译的概念需要正确理解),所以理所当然要学linux。通常小红帽Red Hat Linux 使用比较广泛,那么不能在Windows下开发ARM+ucLinux吗?其实倒是可以在Windows使用虚拟机软件VMware装一个linux,但那样不如直接装个Linux来的爽快!

相关帖子

沙发
秋天落叶| | 2011-7-17 11:23 | 只看该作者
最主要还是因为它是完全开源的

使用特权

评论回复
板凳
hsbjb| | 2011-7-17 20:13 | 只看该作者
因为很多人都在学这个:lol

使用特权

评论回复
地板
-自己人| | 2011-7-26 20:43 | 只看该作者
搞嵌入式不一定就需要懂linux

使用特权

评论回复
5
火箭球迷| | 2011-7-27 14:25 | 只看该作者
最主要的原因应该是开放性

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

2496

帖子

1

粉丝