哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

一、痛點(diǎn)直擊:Buildroot系統(tǒng)的兩難困境

打開RK3506 Buildroot終端,執(zhí)行編譯命令常出現(xiàn)如下報(bào)錯(cuò):

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

這是嵌入式開發(fā)中的高頻場(chǎng)景——Buildroot為實(shí)現(xiàn)輕量化,采用極致精簡(jiǎn)設(shè)計(jì),核心限制包括:

1.無本地編譯工具:未預(yù)裝gcc、make等開發(fā)套件,無法直接在板端完成編譯;

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

3.文件系統(tǒng)只讀:rootfs分區(qū)默認(rèn)以只讀模式掛載,文件傳輸與運(yùn)行需手動(dòng)切換權(quán)限。

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

二、核心原理:SDK工具鏈的適配優(yōu)勢(shì)

交叉編譯是嵌入式開發(fā)的標(biāo)準(zhǔn)解決方案:在x86架構(gòu)PC端,通過適配ARM架構(gòu)的編譯器,生成可在RK3506上直接運(yùn)行的二進(jìn)制文件。

瑞芯微官方SDK自帶的交叉工具鏈,相比通用工具鏈具備三大核心優(yōu)勢(shì):

1.硬件深度適配:與SDK內(nèi)核源碼、驅(qū)動(dòng)模塊同源,可原生支持RK3506GPIO、CAN等硬件接口調(diào)用;

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

3.環(huán)境一致性:編譯參數(shù)與板端固件完全匹配,從源頭規(guī)避架構(gòu)不兼容、庫依賴缺失等問題。

三、實(shí)操3步曲:從編譯到運(yùn)行全流程

前置準(zhǔn)備

?硬件:RK3506開發(fā)板(需處于聯(lián)網(wǎng)狀態(tài))、PC(建議采用Ubuntu 22.04系統(tǒng));

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

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

1.解壓SDK并進(jìn)入目錄

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

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

1.配置環(huán)境變量(關(guān)鍵步驟)

SDK工具鏈默認(rèn)位于prebuilts目錄,通過環(huán)境變量激活:

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

1.驗(yàn)證工具鏈激活

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

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

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

1.創(chuàng)建test.c程序

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

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

1.執(zhí)行交叉編譯

需添加-static參數(shù)實(shí)現(xiàn)靜態(tài)編譯,避免板端因缺失依賴庫報(bào)錯(cuò):

$CROSS_COMPILEgcc test.c -otest-static -Wall#或者使用絕對(duì)路徑/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

各參數(shù)功能:

?-o test:指定輸出可執(zhí)行文件名為test;

?-static:將所有依賴庫打包進(jìn)程序,實(shí)現(xiàn)獨(dú)立運(yùn)行;

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

1.驗(yàn)證編譯結(jié)果

通過file命令確認(rèn)程序適配ARM架構(gòu):

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

第三步:推送程序到板端并運(yùn)行

關(guān)鍵前提:切換板端文件系統(tǒng)為讀寫模式

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

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

adb push F:sharerk3506_gatewaytest/

1.板端運(yùn)行程序:

cd/userdata/chmod+xtest# 賦予執(zhí)行權(quán)限./test
方法2SCP網(wǎng)絡(luò)傳輸(無ADB時(shí)適用)

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

scp test root@board_ip:/userdata/# 符合SDK文件傳輸標(biāo)準(zhǔn)

1.板端運(yùn)行流程同上,最終輸出結(jié)果:

wKgZO2kah36Adb1EAABDa7IoIVA643.png

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

問題現(xiàn)象

原因分析

解決方法

工具鏈激活失?。?/span>command not found

環(huán)境變量路徑錯(cuò)誤

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

編譯報(bào)錯(cuò):undefined reference to xxx

動(dòng)態(tài)庫依賴缺失

編譯時(shí)添加-static參數(shù),或在Makefile中指定庫路徑

板端運(yùn)行:exec format error

編譯器架構(gòu)不匹配

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

推送文件:Read-only file system

未切換讀寫模式

板端執(zhí)行mount -o remount,rw /,或推送至/userdata等默認(rèn)可讀寫分區(qū)

ADB推送失?。?/span>device not found

板端未開啟ADB

1.板端執(zhí)行adb start-server;2.確認(rèn)PC與板卡處于同一局域網(wǎng)

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

若需批量燒錄設(shè)備,可將程序納入SDK編譯體系,生成固件時(shí)自動(dòng)集成該程序:

1.SDK中創(chuàng)建應(yīng)用目錄:

cd~/rk3506_sdk/packagemkdirmy_test &&cdmy_test

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

2.編譯新固件:

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

1.燒錄新固件后,可直接在板端執(zhí)行test命令調(diào)用程序。

六、總結(jié)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3847

    瀏覽量

    85425
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    758

    瀏覽量

    23907
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1107

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Buildroot?MQTT-Modbus?網(wǎng)關(guān)開發(fā),實(shí)現(xiàn)設(shè)備遠(yuǎn)程監(jiān)控方案-米爾RK3506

    在工業(yè)物聯(lián)網(wǎng)與智能家居場(chǎng)景中,遠(yuǎn)程設(shè)備監(jiān)控的核心痛點(diǎn)是工業(yè)總線協(xié)議與物聯(lián)網(wǎng)協(xié)議的兼容性問題。基于RK3506Buildroot系統(tǒng)開發(fā)的MQTT-Modbus網(wǎng)關(guān)產(chǎn)品,通過協(xié)議橋接技術(shù)完美解決這一
    的頭像 發(fā)表于 12-18 08:05 ?3745次閱讀
    <b class='flag-5'>Buildroot</b>?MQTT-Modbus?網(wǎng)關(guān)開發(fā),實(shí)現(xiàn)設(shè)備遠(yuǎn)程監(jiān)控方案-米爾<b class='flag-5'>RK3506</b>

    米爾瑞芯微多核異構(gòu)低功耗RK3506核心板重磅發(fā)布

    。?下面詳細(xì)介紹這款核心板的優(yōu)勢(shì)。 新一代入門級(jí)國產(chǎn)工業(yè)處理器RK3506,3核A7+單核M0多核異構(gòu)瑞芯微RK3506系列處理器是一款專為工業(yè)和商業(yè)應(yīng)用設(shè)計(jì)的高性能芯片,集成了3個(gè)Cortex-A7
    發(fā)表于 05-16 17:20

    【米爾RK3506國產(chǎn)開發(fā)板評(píng)測(cè)試用】1、硬件介紹、SDK開發(fā)環(huán)境和QT開發(fā)環(huán)境搭建

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

    【米爾RK3506國產(chǎn)開發(fā)板評(píng)測(cè)】3、實(shí)時(shí)補(bǔ)丁以及EtherCAT IGH移植

    ,--host參數(shù)根據(jù)使用的工具編譯器前綴進(jìn)行調(diào)整。 導(dǎo)入Buildroot工具的環(huán)境配置
    發(fā)表于 10-27 10:09

    ROC-RK3568-PC的Buildroot開發(fā)案例分享

    本章節(jié)?! 〗徊?b class='flag-5'>編譯工具  Firefly 提取了 Buildroot 的交叉編譯工具
    發(fā)表于 10-25 17:08

    fireflyAIO-3399J編譯Buildroot固件簡(jiǎn)介

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

    RK3568 編譯sdk技巧

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

    觸覺智能RK3506核心板,工業(yè)應(yīng)用之RK3506 RT-Linux實(shí)時(shí)性測(cè)試

    觸覺智能RK3506核心板,工業(yè)應(yīng)用方案分享之RT-Linux實(shí)時(shí)性測(cè)試
    的頭像 發(fā)表于 04-27 19:27 ?2189次閱讀
    觸覺智能<b class='flag-5'>RK3506</b>核心板,工業(yè)應(yīng)用之<b class='flag-5'>RK3506</b> RT-Linux實(shí)時(shí)性測(cè)試

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

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

    RK3506開發(fā)板Linux開發(fā)板極致性價(jià)比之選

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

    RK3506開發(fā)板QT Creator開發(fā)手冊(cè),交叉編譯工具與QT應(yīng)用示例,入門必備

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

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

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

    基于米爾RK3506 Buildroot的MQTT-Modbus網(wǎng)關(guān)開發(fā):實(shí)現(xiàn)設(shè)備遠(yuǎn)程監(jiān)控新方案

    在工業(yè)物聯(lián)網(wǎng)與智能家居場(chǎng)景中,遠(yuǎn)程設(shè)備監(jiān)控的核心痛點(diǎn)是工業(yè)總線協(xié)議與物聯(lián)網(wǎng)協(xié)議的兼容性問題?;??RK3506 Buildroot? 系統(tǒng)開發(fā)的? MQTT-Modbus? 網(wǎng)關(guān)產(chǎn)品,通過協(xié)議橋接
    的頭像 發(fā)表于 11-25 17:41 ?3187次閱讀
    基于米爾<b class='flag-5'>RK3506</b> <b class='flag-5'>Buildroot</b>的MQTT-Modbus網(wǎng)關(guān)開發(fā):實(shí)現(xiàn)設(shè)備遠(yuǎn)程監(jiān)控新方案

    技術(shù)分享 | RK3506如何交叉編譯frp wireguard

    RK3506擁有著不錯(cuò)的性價(jià)比以及與之相匹配的性能優(yōu)勢(shì),非常適合用來做邊緣計(jì)算網(wǎng)關(guān)、小型數(shù)據(jù)收集端點(diǎn)等。今天給大家?guī)韮煽顑?nèi)網(wǎng)穿透工具的交叉編譯移植,方便在RK3506上搭建相關(guān)應(yīng)用。
    的頭像 發(fā)表于 12-25 17:29 ?750次閱讀
    技術(shù)分享 | <b class='flag-5'>RK3506</b>如何交叉<b class='flag-5'>編譯</b>frp wireguard

    觸覺智能RK3506 SDK2.0發(fā)布,20余項(xiàng)升級(jí)優(yōu)化與bug修復(fù)

    觸覺智能RK3506核心板/開發(fā)板SDK與軟件資料迎來更新,SDK版本號(hào)為“rk3506_linux6.1_v1.2.0”。軟件資料也同步進(jìn)行升級(jí),版本號(hào)為2.0,網(wǎng)盤資料路徑為:EV
    的頭像 發(fā)表于 03-14 07:13 ?602次閱讀
    觸覺智能<b class='flag-5'>RK3506</b> <b class='flag-5'>SDK</b>2.0發(fā)布,20余項(xiàng)升級(jí)優(yōu)化與bug修復(fù)
    任丘市| 炉霍县| 北海市| 汉川市| 临安市| 富蕴县| 凤山县| 汪清县| 扎囊县| 临海市| 温宿县| 嵊州市| 左贡县| 额尔古纳市| 开封市| 托克逊县| 大余县| 若羌县| 江源县| 辰溪县| 周至县| 神池县| 通许县| 博白县| 武功县| 深泽县| 西丰县| 沾化县| 来凤县| 乡城县| 石阡县| 伽师县| 中西区| 司法| 大城县| 永康市| 淄博市| 方城县| 平果县| 荣昌县| 蓝山县|