• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

如何使用树莓派去进行linux嵌入式开发?

东方diy 2017-03-11 浏览量:5162
手里有一块树莓派3b+,如何用它进行linux嵌入式开发呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1、嵌入式包含的范围很广,最好详细讲讲你想学习哪部分,ARM Cortex这种比较底层的还是ARM9这种比较高级的。

    2、树莓派更像是一个玩具,主要帮助人们学习软件编程,并且提供部分硬件操控能力,所以树莓派并不是专业的学习嵌入式开发的设备。雪上加霜的是,RPi不是开源硬件,你无法拿到完整的硬件设计资料和手册。

    3、不过呢,对于硬件驱动开发和Linux内核开发还是可堪一用,但是由于bootloader不开源,而且固化在GPU的Rom里面,对于系统移植,简直了。

    4、如果仅仅是学着玩,可以参考知乎的两个帖子:

        https://www.zhihu.com/question/20031861

        https://www.zhihu.com/question/20113197​


    • 发布于 2017-03-12
    • 举报
    • 评论 1
    • 2
    • 0
xukejing 回复了 pATAq:回答较完整,树莓派的问题也解释的较详细,并且回答时间比较早,所以设为最佳 回复

其他答案 数量:9
  • 前面pATAq提到了树莓派并不开源,做嵌入式开发缺少必要的资料,所以只当是个玩具吧。如果只是linux上做做应用开发,这个不管是arm还是x86,原理都是相通的
    • 发布于2017-03-13
    • 举报
    • 评论 0
    • 1
    • 0

  • 讲真的可以去咱们社区树莓派板块看看各位大神帖,特别那些汇总贴,很有价值。因不是本人的就不擅自借鉴了,
    • 发布于2017-03-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 1.系统的内核定制和剪裁;

    2.驱动程序的开发;

    3.应用程序的开发;


    基本上有这三个大方向,从自己感兴趣的入手。


    • 发布于2017-03-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果嵌入式没有学过的话,建议看看国嵌的自学视频教学,盘搜搜一搜就找到了
    • 发布于2017-03-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 1. 你必须了解的是linux开发有两种

            内核相关开发(内核的裁剪,驱动的编写)

            用户层应用程序的开发(类似于你在windows下写代码一样)


    2.  建议

            从写用户层代码开始,熟悉linux平台下的命令和软件使用,这是入门

            写一些跟底层资源有关的代码,网口,gpio,定时器,spi,i2c

            如果有兴趣的话,研究下软件如何调用这些硬件的(驱动是怎么写的)

            然后走向了内核开发


    3.非常不建议上手就看驱动开发,大部分人会因此不想再碰linux的,因为有门槛,没有循序渐进。

    树莓派么,你装个raspbian就有linux环境啦

    • 发布于2017-03-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 嵌入式的开发一般分为两类:

    一类是嵌入式应用开发

    这类不需要动系统内核,UBOOT等,只需要在树莓上开发你相应的应用就可以了,比如树莓上有一排的管脚,有I2C,有SPI,有GPIO,学习操作这些管脚,然后上面有网口,可以编写SOCKET之类的应用层代码,还有QT,这类也很博大精神。


    另一类当然就是弄操作系统与底层的UBOOT了

    这个得需要有一定的基础,至少基本的内核知道,系统启动流程要清楚

    • 发布于2017-03-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 准备一张SD卡,烧写系统,进Linux系统,然后就能进行开发了。

    树莓派一般是针对GPIO那些进行操作的,它Linux能够直接与40针的IO扩展口进行通信,那些IO口也可以作为I2C或者UART那些进行复用,可以通过调用树莓派官方系统里面自带的函数对这些IO口或总线进行操作

    别的网口、WIFI、USB、音频,HDMI那些跟普通的电脑使用方法没区别

    你要是不需要对GPIO进行操作,那么用PC的虚拟机装一个Linux系统也是一样用的。

    还有,如果你只是想学底层的那些移植之类的,那建议用PC的虚拟机,性能更强,还方便简单

    • 发布于2017-03-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 上層開發: 各種APP的開發,可用的語言非常多,例如C/C++,Java,Python,Javascript,Pascal,Ruby,go等等語言,活用開源軟體的話,開發上彈性很大且門檻較低,能夠做出令人驚奇的應用,較多人投入


    底層開發: 純C語言的Kernel和Driver開發,門檻較高,需要有基礎OS相關知識,且Data structure和Alogrithm用的也很多,建議入門還是先從上層開發學起,有興趣再去碰底層


    樹莓派是很適合上層開發的,線上論壇也非常多資料和資源,所以先從Linux基礎指令學起,再來學Shell,和其他語言,但最基礎還是要懂C/C++比較好

    以上供參考

    • 发布于2017-03-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 实际上,树莓派上是可以进行嵌入式开发的,例如,你可以先去GitHub上下载树莓派仓库里面的linux仓库,然后先编译一遍内核,完成后,就可以利用生成的环境进行内核模块的编译了,和其他的嵌入式平台差不多,另外BCM2835之类的datasheet官方网站也可以下载到,操作GPIO也有很多人通过编写内核驱动,用户空间驱动,应用程序的思路配置过了,关键是你要去用心找资料。。。
    • 发布于2021-03-26
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何使用树莓派去进行linux嵌入式开发?