学嵌入式为什么要学Linux?

首先,ARM只是一个32位处理器,可以像51单片机一样用汇编直接操作它的寄存器、RAM、ROM等内部资源,当然也可以用C语言!那么如果只是把ARM当做单片机来用,那就有点大材小用了,那也就没必要学什么linux了。

事实上,ARM是通常都是用来做比较复杂的系统的,而且一般都是多任务系统的,当任务比较多,程序比较大的时候,只用汇编和C可怕难以胜任,所以我们应该给ARM配一个操作系统,用来管理这些任务,那么对于ARM,我们可以作使用哪些操作系统呢?Windows XP行吗?当然不行,太大了,不适合做嵌入式,微软倒是推出了专门针对嵌入式系统开发的WinCE,可是这可不是免费的,而且不提供源码的,给你就像一个黑夹子,对于一般的嵌入式学习,就不太合适了?那么什么样的操作系统才能用于做嵌入式呢?嵌入式操作系统通常有Vxworks,WinCE,uC/OS,Linux/ucLinux等。而uC/OS、Linux因为其免费,而且开源,深受学习者和小公司的欢迎。

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

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

 

嵌入式 Linux 最主要的工作是让目标板能启动 Linux 系统,启动 Linux 系统的核心工作就是启动 Linux 内核,启动 Linux 内核的核心工作就是让这个 Linux 内核能支持你这个设备,Linux 内核能支持你这个设备的前提就是 Linux 内核经过你的改进后确实能启动,你改进内核的前提就是你会 Linux 内核。 你要是学嵌入式 WinCE ,你同样要学 WinCE ,和学 Linux 内核的主要学习内容一样。当然针对性不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值