99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階7 向系統(tǒng)中添加一個(gè)系統(tǒng)調(diào)用

北京迅為電子 ? 2025-05-21 14:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工藝,搭載一顆四核Cortex-A55處理器和Mali G52 2EE圖形處理器。RK3568支持4K解碼和1080P編碼,支持SATA/PCIE/USB3.0外圍接口。RK3568內(nèi)置獨(dú)立NPU,可用于輕量級(jí)人工智能應(yīng)用。RK3568支持安卓11和linux系統(tǒng),主要面向物聯(lián)網(wǎng)網(wǎng)關(guān)、NVR存儲(chǔ)、工控平板、工業(yè)檢測(cè)、工控盒、卡拉OK、云終端、車載中控等行業(yè)。

?

嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)(驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇_全新升級(jí))_基于RK3568

迅為RK3568開發(fā)板瑞芯微Linux安卓鴻蒙ARM核心板人工智能AI主板

wKgZPGgtbxiAWMdfAAmTGVPl-U4395.png

進(jìn)階7向系統(tǒng)中添加一個(gè)系統(tǒng)調(diào)用

在上個(gè)章節(jié)中我們學(xué)習(xí)了系統(tǒng)調(diào)用的概念,本章節(jié)我們以實(shí)踐的形式向系統(tǒng)中添加一個(gè)系統(tǒng)調(diào)用。

7.1內(nèi)核添加自定義服務(wù)

我們?cè)诨A(chǔ)篇-第8章 將驅(qū)動(dòng)編譯進(jìn)內(nèi)核實(shí)驗(yàn)的基礎(chǔ)上進(jìn)行本章節(jié)的實(shí)驗(yàn)。我們修改helloworld.c驅(qū)動(dòng),如下所示,并確保helloworld驅(qū)動(dòng)編譯進(jìn)了內(nèi)核源碼中。

wKgZPGgtbxiAA9GLAAAvvPtd9zE560.png

#include

#include

SYSCALL_DEFINE0(helloworld){

printk("This is helloworld syscall\n");

return 0;

}

AI寫代碼

Cpp

7.2添加系統(tǒng)調(diào)用號(hào)

然后在Linux源碼kernel/include/uapi/asm-generic/unistd.h文件中添加系統(tǒng)調(diào)用號(hào)。如下圖所示:

wKgZO2gtbxiAIkYIAADwATQz9yc274.png

最后,重新編譯內(nèi)核源碼,燒寫內(nèi)核鏡像。

7.3系統(tǒng)調(diào)用測(cè)試

本應(yīng)用程序?qū)?yīng)的網(wǎng)盤路徑為:iTOP-RK3568開發(fā)板【底板V1.7版本】\03_【iTOP-RK3568開發(fā)板】指南教程\02_Linux驅(qū)動(dòng)配套資料\04_Linux驅(qū)動(dòng)例程\53_SYSCALL。

編寫完成的應(yīng)用程序syscall.c代碼如下所示:

wKgZPGgtbxiACKXoAABT4BCed-A499.png

#include

#include

#include

#include

#include

#include

#include

#define __NR_helloworld 435

int main(int argc,char **argv){

syscall(__NR_helloworld);

return 0;

}

AI寫代碼

cpp

下面進(jìn)行應(yīng)用程序編譯,因?yàn)闇y(cè)試APP是要在開發(fā)板上運(yùn)行的,所以需要aarch64-linux-gnu-gcc來編譯,輸入以下命令,編譯完成以后會(huì)生成一個(gè)app的可執(zhí)行程序,如下圖(圖143-2)所示:

aarch64-linux-gnu-gcc syscall.c -o syscall

wKgZO2gtbxiAPNJUAABTWhoaQhw252.png

編譯好的內(nèi)核鏡像boot.img在iTOP-RK3568開發(fā)板【底板V1.7版本】\03_【iTOP-RK3568開發(fā)板】指南教程\02_Linux驅(qū)動(dòng)配套資料\04_Linux驅(qū)動(dòng)例程\53_SYSCALL”目錄下。燒寫內(nèi)核鏡像,啟動(dòng)開發(fā)板。

然后將編譯好的syscall程序拷貝到開發(fā)板上,然后運(yùn)行程序,如下圖所示:

wKgZPGgtbxiAMuvjAACXXt8JImI504.png

如上圖所示,在運(yùn)行應(yīng)用程序之后,打印“This is helloworld syscall” 成功調(diào)用自定義的系統(tǒng)調(diào)用,至此,向系統(tǒng)中添加一個(gè)系統(tǒng)調(diào)用實(shí)驗(yàn)結(jié)束。

聲明:本文內(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)投訴
  • 驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    12

    文章

    1918

    瀏覽量

    86955
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4392

    瀏覽量

    222839
  • RK3568
    +關(guān)注

    關(guān)注

    5

    文章

    585

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    RT-Thread驅(qū)動(dòng)開發(fā)指南進(jìn)階篇-動(dòng)手驅(qū)動(dòng)先楫未適配的外設(shè)LCD

    經(jīng)過上的《《RT-Thread設(shè)備驅(qū)動(dòng)開發(fā)指南》基礎(chǔ)--以先楫bsp的hwtimer設(shè)備為例》闡述,可以大致了解到RT-thread設(shè)
    的頭像 發(fā)表于 02-25 11:04 ?3970次閱讀
    RT-Thread<b class='flag-5'>驅(qū)動(dòng)</b>開發(fā)<b class='flag-5'>指南</b><b class='flag-5'>進(jìn)階篇</b>-動(dòng)手<b class='flag-5'>驅(qū)動(dòng)</b>先楫未適配的外設(shè)LCD

    迅為RK3568開發(fā)板驅(qū)動(dòng)指南Linux通用SPI設(shè)備驅(qū)動(dòng)

    迅為RK3568開發(fā)板驅(qū)動(dòng)指南Linux通用SPI設(shè)備驅(qū)動(dòng)
    的頭像 發(fā)表于 01-23 11:02 ?2853次閱讀
    迅為<b class='flag-5'>RK3568</b>開發(fā)板<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>Linux<b class='flag-5'>中</b>通用SPI設(shè)備<b class='flag-5'>驅(qū)動(dòng)</b>

    迅為RK3568驅(qū)動(dòng)指南GPIO子系統(tǒng)實(shí)戰(zhàn):實(shí)現(xiàn)動(dòng)態(tài)切換引腳復(fù)用功能

    迅為RK3568驅(qū)動(dòng)指南GPIO子系統(tǒng)實(shí)戰(zhàn):實(shí)現(xiàn)動(dòng)態(tài)切換引腳復(fù)用功能
    的頭像 發(fā)表于 05-22 14:27 ?878次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>GPIO子<b class='flag-5'>系統(tǒng)</b>實(shí)戰(zhàn):實(shí)現(xiàn)動(dòng)態(tài)切換引腳復(fù)用功能

    文檔更新 | 迅為RK3568驅(qū)動(dòng)指南-第十七篇(串口)

    實(shí)驗(yàn) 進(jìn)階6 內(nèi)核運(yùn)行ko文件實(shí)驗(yàn)——系統(tǒng)調(diào)用 進(jìn)階7
    發(fā)表于 09-24 10:42

    迅為iTOP-RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南-第十八 PWM

    自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn) 進(jìn)階6 內(nèi)核運(yùn)行ko文件實(shí)驗(yàn)——系統(tǒng)調(diào)用 進(jìn)階7
    發(fā)表于 10-29 10:13

    iTOP-RK3568開發(fā)板驅(qū)動(dòng)指南第五-中斷

    _字符設(shè)備基礎(chǔ) 第三期_并發(fā)與競(jìng)爭(zhēng) 第四期_高級(jí)字符設(shè)備進(jìn)階 第五期_中斷 第六期_平臺(tái)總線 第七期_設(shè)備樹 第八期_設(shè)備樹插件 第九期_設(shè)備模型 第十期_熱插拔 第十一期_pinctrl子系統(tǒng) 未完待續(xù),持續(xù)更新...嗶哩嗶
    發(fā)表于 09-04 10:53

    更新 | 持續(xù)開源 迅為RK3568驅(qū)動(dòng)指南第十一篇-pinctrl子系統(tǒng)

    《iTOP-RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南》更新,本次更新內(nèi)容對(duì)應(yīng)的是驅(qū)動(dòng)(第十一期_pinctrl子系統(tǒng)-全新升級(jí))視頻,后續(xù)資料會(huì)不斷更
    發(fā)表于 10-18 11:12

    USB HID設(shè)備應(yīng)用(進(jìn)階篇

    Freescale的USB HID設(shè)備應(yīng)用(進(jìn)階篇
    發(fā)表于 12-07 18:19 ?0次下載

    RK3568驅(qū)動(dòng)指南驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)

    RK3568驅(qū)動(dòng)指南驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)
    的頭像 發(fā)表于 01-31 14:58 ?1592次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>|<b class='flag-5'>驅(qū)動(dòng)</b>基礎(chǔ)<b class='flag-5'>進(jìn)階篇</b>-<b class='flag-5'>進(jìn)階</b>8 內(nèi)核運(yùn)行ko文件總結(jié)

    RK3568驅(qū)動(dòng)指南驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    RK3568驅(qū)動(dòng)指南驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)
    的頭像 發(fā)表于 02-20 14:10 ?1162次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>|<b class='flag-5'>驅(qū)動(dòng)</b>基礎(chǔ)<b class='flag-5'>進(jìn)階篇</b>-<b class='flag-5'>進(jìn)階</b>5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    迅為RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南-輸入子系統(tǒng)

    迅為RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南-輸入子系統(tǒng)
    的頭像 發(fā)表于 02-23 15:11 ?1591次閱讀
    迅為<b class='flag-5'>RK3568</b>開發(fā)板<b class='flag-5'>驅(qū)動(dòng)</b>開發(fā)<b class='flag-5'>指南</b>-輸入子<b class='flag-5'>系統(tǒng)</b>

    RK3568驅(qū)動(dòng)指南|第十二 GPIO子系統(tǒng)-第135章 GPIO子系統(tǒng)與pinctrl子系統(tǒng)相結(jié)合實(shí)驗(yàn)

    RK3568驅(qū)動(dòng)指南|第十二 GPIO子系統(tǒng)-第135章 GPIO子系統(tǒng)與pinctrl子
    的頭像 發(fā)表于 05-23 13:47 ?376次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>|第十二<b class='flag-5'>篇</b> GPIO子<b class='flag-5'>系統(tǒng)</b>-第135章 GPIO子<b class='flag-5'>系統(tǒng)</b>與pinctrl子<b class='flag-5'>系統(tǒng)</b>相結(jié)合實(shí)驗(yàn)

    迅為RK3568驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)

    迅為電子RK3568開發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)
    的頭像 發(fā)表于 05-28 15:24 ?420次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>GPIO子<b class='flag-5'>系統(tǒng)</b> GPIO操作函數(shù)實(shí)驗(yàn)

    迅為RK3568開發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    迅為RK3568開發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
    的頭像 發(fā)表于 05-29 14:05 ?464次閱讀
    迅為<b class='flag-5'>RK3568</b>開發(fā)板<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>GPIO子<b class='flag-5'>系統(tǒng)</b>GPIO子<b class='flag-5'>系統(tǒng)</b>API函數(shù)的引入

    RK3568驅(qū)動(dòng)指南|第十二 GPIO子系統(tǒng)-第130章 GPIO的調(diào)試方法

    RK3568驅(qū)動(dòng)指南|第十二 GPIO子系統(tǒng)-第130章 GPIO的調(diào)試方法
    的頭像 發(fā)表于 06-03 11:32 ?538次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>|第十二<b class='flag-5'>篇</b> GPIO子<b class='flag-5'>系統(tǒng)</b>-第130章 GPIO的調(diào)試方法