女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

基于RK3576的線進程系統操作

ljx2016 ? 來源:ljx2016 ? 作者:ljx2016 ? 2025-05-12 16:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 多線程介紹

進程線程概念是操作系統與普通單片機最大的區別,多任務系統可以將系統資源分塊,使得不同任務相互獨立運行,且在宏觀層面觀察,多個應用像同一時間運行一樣,例如瀏覽網頁的同時,也可以播放音樂,這就是引入進程線程的關鍵點。

2. 快速上手

如果您初次閱讀此文檔,請閱讀:《入門指南/源碼管理及編程介紹/源碼工程管理》,按需管理自己工程源碼(注:此文檔必看,并建議采用【遠程掛載管理】方式,否則有代碼丟失風險?。。。?。

2.1 源碼工程下載

先在PC虛擬機定位到nfs服務目錄,再在目錄中創建存放源碼倉庫的管理目錄:

cd ~/nfsroot
mkdir GitHub
cd GitHub

再通過git工具,在管理目錄內克隆遠程倉庫(需要設備能對外網進行訪問)

git clone https://github.com/EASY-EAI/EASY-EAI-Toolkit-3576.git
wKgZPGghrpuAEaYYAAFHkLhl81w763.png

注:

* 此處可能會因網絡原因造成卡頓,請耐心等待。

* 如果實在要在gitHub網頁上下載,也要把整個倉庫下載下來,不能單獨下載本實例對應的目錄。

2.2 開發環境搭建

通過adb shell進入板卡開發環境,如下圖所示。

wKgZO2ghrpyAATTDAAC7JgRVz1M502.png

通過以下命令,把nfs目錄掛載上nfs服務器。

mount -t nfs -o nolock : /home/orin-nano/Desktop/nfs/
wKgZPGghrpyAC3DEAAD6_a7KK6A442.png

2.3 例程編譯

然后定位到nfs的掛載目錄,再在目錄中創建存放源碼倉庫的管理目錄:

cd /home/orin-nano/Desktop/nfs/GitHub

進入到對應的例程目錄執行編譯操作,具體命令如下所示:

cd EASY-EAI-Toolkit-3576/Demos/common-system_opt/
./build.sh
wKgZO2ghrpyADU61AAHg_3S23jc934.png

2.4 例程運行及效果

執行下方命令,運行示例程序:

./Release/test-thread-opt

執行效果如下所示。

wKgZPGghrpyAT-ZeAAD543eSkOo887.png

API的詳細說明,以及API的調用(本例程源碼),詳細信息見下方說明。

3. 時間操作API說明

3.1 引用方式

EASY EAI api庫位于本倉庫的easyeai-api目錄中。為方便客戶在本地工程中直接調用我們的EASY EAI api庫,此處列出工程中需要鏈接的庫以及頭文件等,方便用戶直接添加。

描述 CMake寫法 Makefile寫法
api.cmake ${common_root}/system_opt/api.cmake
頭文件目錄 ${SYSTEM_OPT_INCLUDE_DIRS} -I ../../easyeai-api/common/system_opt
源文件目錄 ${SYSTEM_OPT_SOURCE_DIRS} ../../easyeai-api/common/system_opt
庫文件目錄
庫鏈接參數 ${SYSTEM_OPT_LIBS}

API源代碼路徑為EASY-EAI-Toolkit-3576/easyeai-api/common/system_opt/。用戶可通過源代碼了解接口實現,甚至可對源碼進行修改。

3.2 線程任務原型

線程任務原型如下所示,線程任務是程序執行的最小單體,定義如下所示。

typedef void *(*ThreadEntryPtrType)(void *);

3.3 創建線程函數

創建線程函數原型如下所示。

int32_t CreateNormalThread(ThreadEntryPtrType entry, void *para, pthread_t *pid);

原型如下所示。

函數名:CreateNormalThread()
頭文件 easyeai-api/common/system_opt/system_opt.h
輸入參數 entry:線程體執行函數
para:傳入線程提的參數,用作共享變量
pid:傳入新建的pthread_t類型對象
返回值 創建失敗返回-1
創建成功返回0
注意事項 pid變量用于存放線程系統分配的線程號,如果填NULL會導致程序退出

3.4 執行shell命令 - 調用system()

執行shell命令函數原型如下所示。

int32_t exec_cmd_by_system(const char *cmd);

本函數通過調用system()實現,原型如下所示。

函數名:exec_cmd_by_system()
頭文件 easyeai-api/common/system_opt/system_opt.h
輸入參數 *cmd:shell命令
返回值 對于fork失敗,system()函數返回-1。如果exec執行成功,也即command順利執行完畢,則返回command通過exit或return返回的值。
注意事項 建議監控一下system()函數的執行完畢后的errno值,爭取出錯時給出更多有用信息;
system()非阻塞方式注意點:’&’轉后臺,同時將輸出重定向。否則變為阻塞方式;

3.5 執行shell命令 - 調用popen()

執行shell命令函數原型如下所示。

int32_t exec_cmd_by_popen(const char *cmd, char *result);

本函數通過調用popen()實現,可獲取執行結果,原型如下所示。

函數名:exec_cmd_by_popen()
頭文件 easyeai-api/common/system_opt/system_opt.h
輸入參數 *cmd:shell命令
*result:執行shell命令語句后,返回的結果將存進該段內存中
返回值 調用失敗返回-1
調用成功返回0(result被正確寫入)
注意事項 如果 cmd 執行失敗,子進程會把錯誤信息打印到標準錯誤輸出,父進程就無法獲取。
若需要捕獲錯誤信息,可以重定向子進程的錯誤輸出,讓錯誤輸出重定向到標準輸出(2>&1),這樣父進程就可以捕獲子進程的錯誤信息了。
如:exec_cmd_by_popen("ls 2>&1", result);

4. 線程操作API使用案例

線程操作API使用案例代碼路徑為:

EASY-EAI-Toolkit-3576/Demos/common-system_opt/test-thread-opt.c,線程創建案例由兩部分組成,線程執行主體和創建線程操作。

線程執行主體如下所示。

void *testThreadBody(void *arg)
{
	int *share_para = (int *)arg;
	
	while(1)
	{
		printf("[tesThread] --- share_para = %dn", *share_para);
		if(*share_para > 10){
			printf("[tesThread] --- exitn");
			break;
		}
		sleep(1);
	}
	
	pthread_exit(NULL);
}

創建線程操作如下所示,pId變量用于存放進程ID,share_para變量是保存輸入參數。

pthread_t pId;
int share_para = 0;
if(0 == CreateNormalThread(testThreadBody, &share_para, &pId)){
	while(1){
		printf("[mainThread] --- n");
		share_para++;
		sleep(1);
	}
}

審核編輯 黃宇

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

    關注

    6067

    文章

    44989

    瀏覽量

    650348
  • 操作系統
    +關注

    關注

    37

    文章

    7147

    瀏覽量

    125572
  • 源碼
    +關注

    關注

    8

    文章

    671

    瀏覽量

    30323
  • rk3576
    +關注

    關注

    1

    文章

    173

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于RK3576開發板的PWN使用說明

    RK3576開發板使用PWN教程及Demo
    的頭像 發表于 05-07 14:07 ?1274次閱讀
    基于<b class='flag-5'>RK3576</b>開發板的PWN使用說明

    基于RK3576開發板的RTC使用說明

    文章主要展示RK3576開發板的RTC信息和快速上手例程
    的頭像 發表于 05-07 15:04 ?811次閱讀
    基于<b class='flag-5'>RK3576</b>開發板的RTC使用說明

    基于RK3576開發板的人臉識別算法

    RK3576開發板展示人臉識別算法例程和API說明
    的頭像 發表于 05-07 16:48 ?1932次閱讀
    基于<b class='flag-5'>RK3576</b>開發板的人臉識別算法

    【米爾RK3576開發板評測】+項目名稱【米爾RK3576開發板評測】一個視頻和你共同認識一下米爾RK3576開發板

    TOPS超強算力,8核CPU賦能AI 瑞芯微RK3576搭載了四核A72與四核A53處理器,主頻高達2.2GHz,確保了系統的高效運行和強大的計算能力。RK3576集成了6TOPS的NPU,支持多種深度
    發表于 12-18 20:50

    米爾RK3576RK3588怎么選?-看這篇就夠了

    在中國半導體產業的版圖中,瑞芯微作為國內SoC芯片領跑者,憑借其在處理器芯片設計領域的深厚積累和持續創新,推出很多智能應用處理器芯片,在嵌入式系統領域得到大規模的應用。RK3588和RK3576系列
    發表于 12-27 11:44

    【米爾RK3576開發板評測】+項目名稱值得購買的米爾RK3576開發板

    米爾依然是核心板加擴展板的模式,我拿到手的開發板,核心板已經通過LGA貼片,焊好了。 開發板做工很好,布線細致工整。 RK3576開發板 采用Rockchip RK3576第二代8nm高性能
    發表于 01-08 22:59

    探索 RK3576 方案:卓越性能與靈活框架,誠邀開發定制合作!

    各位技術愛好者、行業同仁們,今天要給大家重磅介紹一款極具潛力的芯片方案——RK3576,同時我們公司基于此芯片開發的主板更是有著出色表現,以下會為大家詳細展開。Block Diagram
    發表于 02-05 15:21

    適配多種系統,米爾瑞芯微RK3576核心板解鎖多樣化應用

    米爾電子發布的基于瑞芯微 RK3576 核心板和開發板,具備高性能數據處理能力、領先的AI智能分析功能、多樣化的顯示與操作體驗以及強大的擴展性與兼容性,適用于多種應用場景。目前米爾電子為
    發表于 05-23 16:07

    RK3576 vs RK3588:為何越來越多的開發者轉向RK3576?

    瑞芯微(Rockchip)最新發布的 RK3576 一經推出,就吸引了大量原本關注 RK3588 的開發者。RK3588 作為旗艦級芯片,性能固然強大,但 RK3576 憑借其超高的能
    發表于 05-30 08:46

    Mpp支持RK3576

    想問下,https://github.com/rockchip-linux/mpp這里面支持RK3576么,看介紹沒有提到說支持RK3576 目前是買了個rk3576的機頂盒,搭載了安卓14,想做安卓視頻硬解。
    發表于 06-13 15:35

    RK這2款旗艦芯片RK3588 PK RK3576,誰是最優選

    ,推出了很多智能應用處理器芯片,在嵌入式系統領域得到大規模的應用。RK3588 和 RK3576 系列作為瑞芯微(Rockchip)高性能處理器的代表,在性能、價格等方面存在差異。對于硬件產品開發而言
    發表于 07-10 18:24

    新品體驗 | RK3576開發板

    前言:RK3576作為瑞芯微第二代8nm高性能AIOT平臺,一經推出便獲得了極大的關注。廣州眺望電子科技有限公司是一家專注于嵌入式處理器模組研發與應用的國家高新技術企業,目前公司已推出的相關型號有
    的頭像 發表于 11-01 08:08 ?1916次閱讀
    新品體驗 | <b class='flag-5'>RK3576</b>開發板

    米爾RK3576開發板特惠活動!

    近日,米爾電子發布基于瑞芯微RK3576核心板和開發板,RK3576作為國產熱門處理器,其高性能數據處理能力、領先的AI智能分析、強大的擴展性與兼容性受到廣大開發者的關注。
    的頭像 發表于 11-12 01:00 ?857次閱讀
    米爾<b class='flag-5'>RK3576</b>開發板特惠活動!

    RK3576單板發布倒計時:RK3399與RK3576對比

    好多人說RK3576RK3399的升級版,某種程度上也可以這么說,RK3576在強大的多媒體功能的基礎上,性能和接口都進行了升級 一、工藝 性能 rk3576采用 Rockchip
    的頭像 發表于 12-03 16:59 ?1286次閱讀
    <b class='flag-5'>RK3576</b>單板發布倒計時:<b class='flag-5'>RK</b>3399與<b class='flag-5'>RK3576</b>對比

    RK3588與RK3576區別解析

    以下是RK3576RK3588對比: 電魚電子SBC-RK3576單板 核心性能:RK3576為四核[email protected] + 四核[email protected] + M0協處理器,算力 58K
    的頭像 發表于 12-17 14:03 ?1755次閱讀
    <b class='flag-5'>RK</b>3588與<b class='flag-5'>RK3576</b>區別解析