树莓派与嵌入式开发的关系
树莓派是一款基于Linux系统的单板机电脑。它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件刺激在学校的基本的计算机科学教育。树莓派被赋予的希望是,能够帮助全世界的孩子学习编程,并能够了解计算机是如何工作的。
树莓派是最有名的卡名式电脑,在全世界有很多的玩家,那么它可以用来当做ARM开发板,进行嵌入式开发与学习吗?下面我们从两个方面讨论一下。
树莓派能不能做为嵌入式的ARM开发板?
树莓派的特点是:具有强大的运算性能,全面的软件支持,以及开源硬件的易用性。
虽然树莓派是开源硬件,但是实际上它的底层Bootloader和核心数据手册是闭源的。这对于应用开发没有影响,但如果是想要借助此学习ARM Linux底层开发这些的话,就不适合了。
硬件资源对比
下面就以一块常见的友善电子的ARM开发板NanoPi S2同树莓派3B进行比较。
核心硬件资源差不多,因为NanoPi S2板载8GB eMMC价格上要贵几十块,体积大小上树莓派要大3/1。
NanoPi S2
Raspberry Pi 3B
树莓派能不能进行嵌入式开发与学习?
下面从91创客学堂的嵌入式职业培训课程进行分析比较。
课程内容 |
树莓派 |
NanoPi S2 |
备注 |
嵌入式应用开发(阶段一)
C语言编程基础
不需要
不需要
Linux环境
嵌入式开发基础
适用
适用
开发板Linux环境
Linux系统编程
适用
适用
开发板Linux环境
阶段一项目
适用
适用
开发板Linux环境
嵌入式底层系统开发(阶段二)
ARM汇编程序设计
不需要
不需要
RVDS软件
ARM裸机开发
不适用
适用
ARM开发环境
Linux内核移植
不适用
适用
Bootloader
Linux驱动开发
适用
适用
开发方式不同
阶段二项目
适用
适用
开发板Linux环境
嵌入式图形应用开发(阶段三)
C++语言编程基础
不需要
不需要
Linux环境
Qt程序设计
适用
适用
开发板Linux环境
阶段三项目
适用
适用
开发板Linux环境
那么从上面比较看树莓派不适合最底层的裸机程序、bootloader内核移植的开发,驱动程序开发树莓派可以使用标准的Linux驱动程序架构也可以使用第三库快速开发,三个阶段的项目都可以在树莓派上进行开发。
结论:
1.树莓派是属于嵌入式开发板的比较特殊的一种,底层Bootloader和核心数据手册是闭源。拿其做原型,修改硬件进行开发不可行。
2.树莓派非常适合嵌入式开发学习入门,软件资源丰富,开发快速。现在裸机开发,Bootloader移植的机会很少,如果只做嵌入式应用开发,树莓派就足够。
3.树莓派自2012年推出以来全球销量已达1250万块,世界第三大计算平台。