国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

RK3506 Buildroot無gcc/sudo?SDK工具鏈3步搞定C程序編譯運行

jf_44130326 ? 來源:Linux1024 ? 2026-02-10 16:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、痛點直擊:Buildroot系統的兩難困境

打開RK3506 Buildroot終端,執行編譯命令常出現如下報錯:

root@myd-yr3506:/# gcc -vbash:gcc:commandnotfoundroot@myd-yr3506:/# sudo apt install gccbash:sudo:commandnotfound

這是嵌入式開發中的高頻場景——Buildroot為實現輕量化,采用極致精簡設計,核心限制包括:

1.無本地編譯工具:未預裝gccmake等開發套件,無法直接在板端完成編譯;

2.無包管理與sudo:默認以root用戶登錄,無apt/yum等包管理工具,無法在線安裝軟件;

3.文件系統只讀:rootfs分區默認以只讀模式掛載,文件傳輸與運行需手動切換權限。

結合test.c程序與RK3506 SDK工具鏈,通過“PC端編譯、板端運行的三步流程可全程規避上述問題。

二、核心原理:SDK工具鏈的適配優勢

交叉編譯是嵌入式開發的標準解決方案:在x86架構PC端,通過適配ARM架構的編譯器,生成可在RK3506上直接運行的二進制文件。

瑞芯微官方SDK自帶的交叉工具鏈,相比通用工具鏈具備三大核心優勢:

1.硬件深度適配:與SDK內核源碼、驅動模塊同源,可原生支持RK3506GPIOCAN等硬件接口調用;

2.預編譯免安裝:工具鏈集成于SDKprebuilts目錄,無需額外下載與配置,開箱即可用;

3.環境一致性:編譯參數與板端固件完全匹配,從源頭規避架構不兼容、庫依賴缺失等問題。

三、實操3步曲:從編譯到運行全流程

前置準備

?硬件:RK3506開發板(需處于聯網狀態)、PC(建議采用Ubuntu 22.04系統);

?軟件:RK3506官方SDK(含prebuilts交叉工具鏈)、test.c程序。

第一步:激活SDK交叉編譯工具鏈(PC端)

1.解壓SDK并進入目錄

為避免編譯異常,建議將SDK存放于非中文、非共享目錄:

mkdir-p ~/rk3506_sdk &&cd~/rk3506_sdktar -zxf rk3506_linux6.1_sdk.tar.gz # 替換為實際SDK壓縮包名cdrk3506_linux6.1_sdk

1.配置環境變量(關鍵步驟)

SDK工具鏈默認位于prebuilts目錄,通過環境變量激活:

# 32位ARM工具鏈路徑(RK3506主流配置)TOOLCHAIN_PATH=$(pwd)/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-linux-gnueabihf/bin# 導出架構與編譯器前綴exportARCH=armexportCROSS_COMPILE=$TOOLCHAIN_PATH/arm-linux-gnueabihf-exportPATH=$TOOLCHAIN_PATH:$PATH

1.驗證工具鏈激活

執行以下命令,輸出版本信息即表示激活成功:

$CROSS_COMPILEgcc -v# 成功示例:gcc version 10.3.0 (GCC)

第二步:編譯目標test.c程序(PC端)

1.創建test.c程序

保存為test.c,示例代碼如下:

#include// 包含標準輸入輸出庫(printf 函數依賴)
// 程序入口函數(C 程序必須有且僅有一個 main 函數)intmain(void){ // 輸出 "Hello World!" 到終端,n 表示換行 printf("Hello World!n"); printf("rk3506 buildroot: Rockchip Linux 6.1 SDKn"); 
 return0; // 程序正常退出,返回 0(非 0 表示異常)}

1.執行交叉編譯

需添加-static參數實現靜態編譯,避免板端因缺失依賴庫報錯:

$CROSS_COMPILEgcc test.c -otest-static -Wall#或者使用絕對路徑/home/sc/MYD-YR3506/prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc test.c -otest

各參數功能:

?-o test:指定輸出可執行文件名為test

?-static:將所有依賴庫打包進程序,實現獨立運行;

?-Wall:開啟全部編譯警告,輔助排查代碼語法問題。

1.驗證編譯結果

通過file命令確認程序適配ARM架構:

sc@sc:/mnt/hgfs/rk3506_gateway$file testtest:ELF32-bitLSBexecutable,ARM,EABI5version1(SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3,forGNU/Linux3.2.0, with debug_info,notstripped

第三步:推送程序到板端并運行

關鍵前提:切換板端文件系統為讀寫模式

# 板端執行(通過串口或SSH登錄)mount-o remount,rw / # 重新掛載根目錄為讀寫模式(這一步不是必須的)
方法1ADB推送(常用方法,需板端開啟ADB

1.PC端推送文件至板端可讀寫分區(如/userdata/root):

adb push F:sharerk3506_gatewaytest/

1.板端運行程序:

cd/userdata/chmod+xtest# 賦予執行權限./test
方法2SCP網絡傳輸(無ADB時適用)

1.PC端通過SSH推送(替換board_ip為板卡實際IP):

scp test root@board_ip:/userdata/# 符合SDK文件傳輸標準

1.板端運行流程同上,最終輸出結果:

wKgZO2kah36Adb1EAABDa7IoIVA643.png

四、避坑指南:5個高頻問題解決方案

問題現象

原因分析

解決方法

工具鏈激活失敗:command not found

環境變量路徑錯誤

1.執行echo $PATH確認工具鏈bin目錄已加入;2.檢查SDK解壓路徑是否含中文/空格

編譯報錯:undefined reference to xxx

動態庫依賴缺失

編譯時添加-static參數,或在Makefile中指定庫路徑

板端運行:exec format error

編譯器架構不匹配

確認工具鏈前綴為arm-linux-gnueabihf-32ARM),而非aarch64-linux-gnu-64位)

推送文件:Read-only file system

未切換讀寫模式

板端執行mount -o remount,rw /,或推送至/userdata等默認可讀寫分區

ADB推送失敗:device not found

板端未開啟ADB

1.板端執行adb start-server2.確認PC與板卡處于同一局域網

五、進階技巧:將程序集成到SDK固件(批量部署)

若需批量燒錄設備,可將程序納入SDK編譯體系,生成固件時自動集成該程序:

1.SDK中創建應用目錄:

cd~/rk3506_sdk/packagemkdirmy_test &&cdmy_test

1.編寫Config.inmy_test.mk配置文件(需符合Buildroot包管理規范);

2.編譯新固件:

cd~/rk3506_sdk./build.sh lunch # 選擇板型配置./build.sh buildroot # 編譯包含程序的根文件系統

1.燒錄新固件后,可直接在板端執行test命令調用程序。

六、總結

RK3506 Buildrootgcc、無sudo”特性是輕量化設計的必然結果,通過SDK自帶交叉工具鏈,遵循激活工具鏈編譯程序推送運行三步流程,即可實現C程序的快速板端部署。核心邏輯在于利用工具鏈的硬件適配性,結合靜態編譯與讀寫模式切換,規避嵌入式系統精簡特性帶來的限制。

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

    關注

    117

    文章

    3846

    瀏覽量

    85226
  • 命令
    +關注

    關注

    5

    文章

    755

    瀏覽量

    23747
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1101

    瀏覽量

    51713
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Buildroot?MQTT-Modbus?網關開發,實現設備遠程監控方案-米爾RK3506

    在工業物聯網與智能家居場景中,遠程設備監控的核心痛點是工業總線協議與物聯網協議的兼容性問題。基于RK3506Buildroot系統開發的MQTT-Modbus網關產品,通過協議橋接技術完美解決這一
    的頭像 發表于 12-18 08:05 ?3627次閱讀
    <b class='flag-5'>Buildroot</b>?MQTT-Modbus?網關開發,實現設備遠程監控方案-米爾<b class='flag-5'>RK3506</b>

    米爾瑞芯微多核異構低功耗RK3506核心板重磅發布

    。?下面詳細介紹這款核心板的優勢。 新一代入門級國產工業處理器RK3506,3核A7+單核M0多核異構瑞芯微RK3506系列處理器是一款專為工業和商業應用設計的高性能芯片,集成了3個Cortex-A7
    發表于 05-16 17:20

    【米爾RK3506國產開發板評測試用】1、硬件介紹、SDK開發環境和QT開發環境搭建

    QT Creator 使用BuildRoot構建的工具中包含qmake,可以用于開發板QT應用程序。首先安裝QT Creator,在命令行中輸入以下指令安裝QT Creator。
    發表于 08-02 15:02

    【米爾RK3506國產開發板評測】3、實時補丁以及EtherCAT IGH移植

    ,--host參數根據使用的工具編譯器前綴進行調整。 導入Buildroot工具的環境配置
    發表于 10-27 10:09

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

    本章節。  交叉編譯工具  Firefly 提取了 Buildroot 的交叉編譯工具
    發表于 10-25 17:08

    fireflyAIO-3399J編譯Buildroot固件簡介

    -c 方法二 下載Linux_SDK.7z # 把壓縮包放在上一下載repo工具的目錄下 7z x Linux_SDK.7z # 更新代
    的頭像 發表于 12-24 11:11 ?3018次閱讀

    RK3568 編譯sdk技巧

    我司RK3568對外提供源代碼是以sdk的形式提供,包括但不僅限于uboot、kernel、buildroot、debian源碼。在編譯sdk
    的頭像 發表于 08-30 11:44 ?1785次閱讀
    <b class='flag-5'>RK</b>3568 <b class='flag-5'>編譯</b><b class='flag-5'>sdk</b>技巧

    RK3506到底有多香?搶先看核心板詳細參數配置

    RK3506到底有多香?觸覺智能已推出RK3506核心板,搶先了解核心板詳細參數配置!
    的頭像 發表于 01-18 11:33 ?3725次閱讀
    <b class='flag-5'>RK3506</b>到底有多香?搶先看核心板詳細參數配置

    觸覺智能RK3506核心板,工業應用之RK3506 RT-Linux實時性測試

    觸覺智能RK3506核心板,工業應用方案分享之RT-Linux實時性測試
    的頭像 發表于 04-27 19:27 ?1942次閱讀
    觸覺智能<b class='flag-5'>RK3506</b>核心板,工業應用之<b class='flag-5'>RK3506</b> RT-Linux實時性測試

    瑞芯微RK3506開發板必備攻略之Qt應用開發手冊(下),觸覺智能工控嵌入式方案商

    本文基于觸覺智能RK3506星閃開發板Buildroot系統進行演示,配套RK3506核心板(3核A7+M0多核異構)寬溫級59元/工業級68元BuildrootSDK安裝與環境搭建
    的頭像 發表于 06-19 17:49 ?1166次閱讀
    瑞芯微<b class='flag-5'>RK3506</b>開發板必備攻略之Qt應用開發手冊(下),觸覺智能工控嵌入式方案商

    RK3506開發板Linux開發板極致性價比之選

    RK3506開發板Linux開發板極致性價比之選瑞芯微RK3506開發板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux+RT-Thread系統支持,128MB超大
    的頭像 發表于 09-11 16:26 ?3453次閱讀
    <b class='flag-5'>RK3506</b>開發板Linux開發板極致性價比之選

    RK3506開發板QT Creator開發手冊,交叉編譯工具與QT應用示例,入門必備

    本文基于觸覺智能RK3506核心板/開發板介紹QTCreator交叉編譯配置與QT應用示例。如需購買開發板進行評估驗證簡介QTCreatorQtCreator?是由TheQtCompany開發的跨平臺集成開發環境(IDE),專為Qt框架設計,支持
    的頭像 發表于 09-30 16:26 ?3682次閱讀
    <b class='flag-5'>RK3506</b>開發板QT Creator開發手冊,交叉<b class='flag-5'>編譯</b><b class='flag-5'>工具</b><b class='flag-5'>鏈</b>與QT應用示例,入門必備

    如何讓RK3506流暢刷圖,用好RGA?

    本文基于觸覺智能RK3506核心板/開發板,介紹RGAIM2D進行圖像處理,包括相關編譯與測試方法。
    的頭像 發表于 10-29 10:00 ?1065次閱讀
    如何讓<b class='flag-5'>RK3506</b>流暢刷圖,用好RGA?

    基于米爾RK3506 Buildroot的MQTT-Modbus網關開發:實現設備遠程監控新方案

    在工業物聯網與智能家居場景中,遠程設備監控的核心痛點是工業總線協議與物聯網協議的兼容性問題。基于 ?RK3506 Buildroot? 系統開發的? MQTT-Modbus? 網關產品,通過協議橋接
    的頭像 發表于 11-25 17:41 ?3040次閱讀
    基于米爾<b class='flag-5'>RK3506</b> <b class='flag-5'>Buildroot</b>的MQTT-Modbus網關開發:實現設備遠程監控新方案

    技術分享 | RK3506如何交叉編譯frp wireguard

    RK3506擁有著不錯的性價比以及與之相匹配的性能優勢,非常適合用來做邊緣計算網關、小型數據收集端點等。今天給大家帶來兩款內網穿透工具的交叉編譯移植,方便在RK3506上搭建相關應用。
    的頭像 發表于 12-25 17:29 ?582次閱讀
    技術分享 | <b class='flag-5'>RK3506</b>如何交叉<b class='flag-5'>編譯</b>frp wireguard