吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Firefly-PX3-SE主板Buildroot開發

firefly ? 來源:firefly ? 作者:firefly ? 2019-12-04 08:33 ? 次閱讀
Buildroot開發
SDK目錄

SDK工程目錄介紹:

工程目錄下有 buildroot、 app、 kernel、 u-boot、 device、 external、prebuilts、rockimg、tools 等目錄。

  • buildroot:用于生成根文件系統、交叉編譯工具以及相關工具和應用的管理;
  • app:存放上層應用 app;
  • external :相關庫,包括音頻視頻網絡等;
  • kernel::kernel 代碼;
  • device/rockchip/px3-se:存放開機初始化腳本,存放第三方庫、 bin、 alsa、wifi等配置文件;另還存放編譯腳本;
  • prebuilts:存放編譯 kernel 需要的 gcc 和交叉編譯工具 toolschain;
  • rockimg:存放編譯輸出固件;
  • tools:存放平臺工具。
Buildroot開發

當前Buildroot版本為Buildroot 2016.08.1

buildroot目錄介紹
  • buildroot/package/:下面放著應用軟件的配置文件,每個應用軟件的配置文件有Config.in和soft_name.mk其中soft_name.mk(這種其實就Makefile腳本的自動構建腳本)文件可以去下載應用軟件的包。
  • buildroot/output/:是編譯出來的輸出文件夾,里面的build/目錄存放著解壓后的各種軟件包編譯完后的現場。host/目錄放著制作好的編譯工具鏈,target/ 目錄是用來制作rootfs的,里面放著Linux系統基本的目錄結構,以及各種編譯好的應用庫和bin可執行文件。Images/目錄下就是最終生成的可燒寫到板子上的各種image。
  • buildroot/dl/:存放下載的源碼包及應用軟件的壓縮包
  • buildroot/fs/:放各種文件系統的源代碼
  • buildroot/fs/skeleton/:放生成文件系統鏡像的地方,及板子里面的系統
  • buildroot/linux/:存放著Linux kernel的自動構建腳本。
  • buildroot/configs/:放置開發板的一些配置參數
  • buildroot/docs/ :存放相關的參考文檔。
  • buildroot/arch/ :目錄存放CPU架構相關的配置腳本,如arm、mips、x86 ,這些CPU相關的配置,在制作工具鏈,編譯boot和內核時很關鍵。
配置Buildroot

整個Buildroot是由Makefile腳本和Kconfig配置文件構成的。你可以和編譯Linux內核一樣。

$ make menuconfig

配置界面如下:

在Target packages里面添加和裁剪一些工具,按需求定制系統功能,常用到的qt5、ssh、vsftpd、wpa_supplicant、pppd等都可在里面配置。

需要了解的是:

  • 進行編譯時,buildroot根據配置,會自動從網絡獲取相關的軟件包,包括一些第三方庫,插件,實用工具等,放在dl/目錄。
  • 軟件包會解壓在output/build/目錄下,然后進行編譯。
  • 如果要修改軟件包的源碼,可以通過打補丁的方式進行修改,補丁集中放在package/目錄,buildroot會在解壓軟件包時為其打上相應的補丁。
編譯Buildroot

Buildroot配置好后,可以直接運行make進行編譯。

但是SDK下的app、device等目錄將不會被編譯到,所以配置完后,最好回到SDK根目錄,執行./build_all.sh進行編譯。

如果在開發過程中,針對output/build/某個包源碼進行了修改,需要單獨重新編譯該軟件包,直接編譯Buildroot是不起效果的。

Buildroot在編譯某個包的時候,會將編譯的過程,通過一些標志文件記錄下來,保存在對應的軟件包源碼的目錄里,這些標志文件分別有:

.stamp_configured .stamp_downloaded .stamp_extracted .stamp_patched .stamp_staging_installed .stamp_target_installe

這些標識文件主要控制這個軟件包的下載,解壓,打包,配置,編譯,安裝等。具體詳細說明可參考:

docs/manual/rebuilding-packages.txt

也可以直接看mk文件,了解原理:

package/pkg-generic.mk

要想重新執行哪一個步驟,相應的就要刪掉其對應的標志文件。假如你想重新編譯某軟件包源碼,只需刪掉該目錄下的.stamp_built和.stamp_target_installed,然后再編譯整個Buildroot就可以了。

當然,Buildroot有更快捷的實現方法。

  • 執行make show-targets顯示出本次配置所要編譯所有的目標,即packages。
  • 執行make 將構建并安裝該軟件包及其依賴項。

同時我們還可以通過make -,對軟件包單獨調用構建中的某一步驟,如下:

Package-specific: <pkg> - Build and install <pkg> and all its dependencies <pkg>-source - Only download the source files for <pkg> <pkg>-extract - Extract <pkg> sources <pkg>-patch - Apply patches to <pkg> <pkg>-depends - Build <pkg>'s dependencies <pkg>-configure - Build <pkg> up to the configure step <pkg>-build - Build <pkg> up to the build step <pkg>-graph-depends - Generate a graph of <pkg>'s dependencies <pkg>-dirclean - Remove <pkg> build directory <pkg>-reconfigure - Restart the build from the configure step <pkg>-rebuild - Restart the build from the build step

因此,如果我們想重新編譯xxx軟件包,執行make xxx-rebuild即可。

關于make的更多用法,可通過make help獲得。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210399
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6086

    瀏覽量

    35615
  • Firefly
    +關注

    關注

    2

    文章

    538

    瀏覽量

    7132
  • Buildroot
    +關注

    關注

    1

    文章

    48

    瀏覽量

    1418
收藏 人收藏

    評論

    相關推薦

    ROC-RK3568-PC的Buildroot開發案例分享

    ROC-RK3568-PC 的 Buildroot 開發為例進行闡述。  交叉編譯 Qt-5.12.2  若您想在 Firefly 官方發布的 Buildroot 系統上進行 Qt
    發表于 10-25 17:08

    fireflyPX3-SE開發板 介紹

    采用PX3-SE四核處理器,主頻高達1.3GHz,工業級的穩定性,工作溫度-20℃ ~ 80℃。Firefly-PX3-SE采用底板和核心板組合方式,核心板具有多種配置可選,輕松控制成本,極低的成本與優秀的性能讓產品極具性價比
    的頭像 發表于 11-15 14:36 ?1773次閱讀
    fireflyPX<b class='flag-5'>3-SE</b><b class='flag-5'>開發</b>板 介紹

    Firefly-PX3-SE主板FAQ方案

    FAQ 開機異常卡死或重啟 可能是電源電流不夠,請使用電壓為 5V,電流為 2.5A~3A 的電源 系統用戶名和密碼 用戶:root 密碼:123 多U盤掛載問題 目前Firefly-PX3-SE
    的頭像 發表于 11-29 09:29 ?1189次閱讀
    <b class='flag-5'>Firefly-PX3-SE</b><b class='flag-5'>主板</b>FAQ方案

    Firefly關于PX3-SE程序SSH使用介紹

    SSH是很常用的工具,幾乎是每一臺Linux電腦的標準配置,因此我們為了開發方便,在Buildroot中默認配置好了SSH,聯網即用。
    的頭像 發表于 11-29 09:43 ?1812次閱讀
    <b class='flag-5'>Firefly</b>關于<b class='flag-5'>PX3-SE</b>程序SSH使用介紹

    Firefly-PX3-SE系統ADB介紹

    ADB,全稱 Android Debug Bridge,是 Android 的命令行調試工具,可以完成多種功能,如跟蹤系統日志,上傳下載文件,安裝應用等。
    的頭像 發表于 11-29 10:03 ?1202次閱讀
    <b class='flag-5'>Firefly-PX3-SE</b>系統ADB介紹

    Firefly關于PX3-SE系統Qt介紹

    Firefly-PX3-SEBuildroot系統,目前支持三種Qt版本
    的頭像 發表于 11-29 09:49 ?2620次閱讀
    <b class='flag-5'>Firefly</b>關于<b class='flag-5'>PX3-SE</b>系統Qt介紹

    Firefly-PX3-SE主板音頻輸入輸出介紹

    Firefly-PX3-SE有三路音頻輸出、兩路音頻輸入。
    的頭像 發表于 12-02 15:15 ?1998次閱讀

    Firefly-PX3-SE--WIFI模塊及以太網簡介

    關于Firefly-PX3-SE網絡的使用,目前在設置app里面只能使用WiFi以及WIFI熱點功能,以太網功能暫時還沒添加。
    的頭像 發表于 12-02 16:56 ?1501次閱讀

    Firefly-PX3-SE編譯根文件系統簡介

    編譯根文件系統 準備工作 編譯 Buildroot 對機器的配置的要求
    的頭像 發表于 12-04 08:32 ?1514次閱讀

    Firefly-PX3-SE核心板MaskRom模式

    MaskRom 模式是設備變磚的最后一條防線。強行進入 MaskRom 涉及硬件操作,有一定風險,因此僅在設備進入不了 Loader 模式的情況下,方可嘗試 MaskRom 模式。
    的頭像 發表于 12-03 15:48 ?1081次閱讀
    <b class='flag-5'>Firefly-PX3-SE</b>核心板MaskRom模式

    Firefly-PX3-SE主板啟動介紹

    Firefly-PX3-SE 有靈活的啟動方式。
    的頭像 發表于 12-04 08:36 ?1606次閱讀

    Firefly-PX3-SE燒錄升級固件

    本文介紹了如何將主機上的固件文件,通過 Micro USB OTG 線,燒錄到開發板的閃存中。
    的頭像 發表于 12-04 08:39 ?2555次閱讀

    Firefly-PX3-SE主板串口介紹

    Firefly-PX3-SE 開發板的調試串口與 TF 卡接口有信號引腳復用,因此無法同時使用。
    的頭像 發表于 12-04 08:49 ?1742次閱讀
    <b class='flag-5'>Firefly-PX3-SE</b><b class='flag-5'>主板</b>串口介紹

    fireflyROC-RK3308B主板CC-Buildroot開發簡介

    Buildroot開發 Buildroot開發基礎 Buildroot版本
    的頭像 發表于 12-20 09:18 ?2299次閱讀
    fireflyROC-RK3308B<b class='flag-5'>主板</b>CC-<b class='flag-5'>Buildroot</b><b class='flag-5'>開發</b>簡介

    Core PX3 SEJ固件Buildroot系統

    電子發燒友網站提供《Core PX3 SEJ固件Buildroot系統.txt》資料免費下載
    發表于 09-16 10:42 ?0次下載
    Core <b class='flag-5'>PX3</b> SEJ固件<b class='flag-5'>Buildroot</b>系統
    新澳门百家乐官网软件下载| 百家乐八卦九| 新2百家乐官网娱乐城| 亿博娱乐| 博雅德州扑克下载| 东京太阳城王子酒店| 龍城百家乐的玩法技巧和规则 | 帝王百家乐官网新足球平台| 足球系统出租| 大发888新老虎机| 大发888现金存款| 大发888攻略| 大发888游戏平台 送1666元礼金领取lrm| 澳门百家乐娱乐场开户注册| 百家乐微笑打法| 大发888游戏好吗| 大发888玩法技巧| 大发888真钱娱乐游戏博彩| 大发888pt| 佳豪国际娱乐| 澳门百家乐官网加盟| 拉斯维加斯国际娱乐| 云阳县| 百乐坊百家乐官网游戏| 百家乐官网投注秘笈| 狮威百家乐官网娱乐| 玩百家乐官网怎么能赢呢| 百家乐投注方法| 威尼斯人娱乐场五星| 百家乐网址| 百家乐官网海滨网现场| 百家乐娱乐城返水| 九州百家乐的玩法技巧和规则| 面对面棋牌游戏| 百家乐官网食杂店| 永利高百家乐怎样开户| 大发888下载大发888游戏平台| 百家乐官网大小是什么| 如何玩百家乐官网的玩法技巧和规则 | 澳门百家乐赌技术| 大发888娱乐城客服lm0|