树莓派与嵌入式开发的关系
树莓派是一款基于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驱动程序架构也可以使用第三库快速开发,三个阶段的项目都可以在树莓派上进行开发。