全志科技T3/A40i核心模塊支持實(shí)時(shí)PREEMPTLinux,助力工業(yè)機(jī)器人控制!
盈鵬飛嵌入式基于全志科技T3/A40i處理器的工控板SBC-X40I,其接口資源豐富,可引出雙路網(wǎng)口、單路CANBUS、三路USB、一路RS485等通信接口,板載Bluetooth、WIFI模塊,同時(shí)引出LVDS LCD、TFT LCD、HDMI OUT、H/P OUT等音視頻多媒體接口,支持雙屏異顯、1080P@45fps H.264視頻硬件編碼、1080P@60fps H.264視頻硬件解碼,并支持SATA大容量存儲(chǔ)接口。

A40i核心板(CoM-X40I)可采用100%國(guó)產(chǎn)元器件方案,并經(jīng)過專業(yè)的PCB Layout和高低溫測(cè)試驗(yàn)證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境,應(yīng)用于能源電力、軌道交通、工業(yè)控制、工業(yè)網(wǎng)關(guān)、儀器儀表、安防監(jiān)控等典型領(lǐng)域。


Linux-RT內(nèi)核簡(jiǎn)介
盈鵬飛嵌入式提供的Linux-RT內(nèi)核應(yīng)用了開源的RT PREEMPT機(jī)制進(jìn)行補(bǔ)丁。PREEMPT_RT補(bǔ)丁的關(guān)鍵是最小化不可搶占的內(nèi)核代碼量,同時(shí)最小化必須更改的代碼量,以便提供這種附加的可搶占性。PREEMPT_RT補(bǔ)丁利用Linux內(nèi)核的SMP功能來添加這種額外的搶占性,而不需要完整的內(nèi)核重寫。Linux-RT內(nèi)核增加PREEMPT_RT補(bǔ)丁后,增加了系統(tǒng)響應(yīng)的確定性和實(shí)時(shí)性,但是代價(jià)是CPU性能降低。
Linux-RT內(nèi)核與普通Linux內(nèi)核相比,幾個(gè)主要的相同之處是:
(1) 具有相同的開發(fā)生態(tài)系統(tǒng),包括相同工具鏈、文件系統(tǒng)和安裝方法,以及相同的POSIX API等。
(2) 仍然存在內(nèi)核空間和用戶空間的劃分。
(3)Linux應(yīng)用程序在用戶空間中運(yùn)行。
Linux-RT內(nèi)核與普通Linux內(nèi)核在常規(guī)編程方式上的幾個(gè)主要不同之處是:
(1) 調(diào)度策略。
(2) 優(yōu)先級(jí)和內(nèi)存控制。
(3) 基于Linux-RT內(nèi)核的應(yīng)用程序使用了調(diào)度策略后,系統(tǒng)將根據(jù)調(diào)度策略對(duì)其進(jìn)行調(diào)優(yōu)。
Linux系統(tǒng)實(shí)時(shí)性測(cè)試
本章節(jié)主要介紹使用Cyclictest延遲檢測(cè)工具測(cè)試Linux系統(tǒng)實(shí)時(shí)性的方法。Cyclictest是rt-tests測(cè)試套件下的一個(gè)測(cè)試工具,也是rt-tests下使用最廣泛的測(cè)試工具,一般主要用來測(cè)試內(nèi)核的延遲,從而判斷內(nèi)核的實(shí)時(shí)性。
盈鵬飛嵌入式已經(jīng)提供了Linux-RT內(nèi)核,可直接燒寫到SBC-X40I主板上,終端運(yùn)行信息如下:

Cyclictest工具簡(jiǎn)介
Cyclictest常用于實(shí)時(shí)系統(tǒng)的基準(zhǔn)測(cè)試,是評(píng)估實(shí)時(shí)系統(tǒng)相對(duì)性能的最常用工具之一。Cyclictest反復(fù)測(cè)量并精確統(tǒng)計(jì)線程的實(shí)際喚醒時(shí)間,以提供有關(guān)系統(tǒng)的延遲信息。它可測(cè)量由硬件、固件和操作系統(tǒng)引起的實(shí)時(shí)系統(tǒng)的延遲。
為了測(cè)量延遲,Cyclictest運(yùn)行一個(gè)非實(shí)時(shí)主線程(調(diào)度類SCHED_OTHER),該線程以定義的實(shí)時(shí)優(yōu)先級(jí)(調(diào)度類SCHED_FIFO)啟動(dòng)定義數(shù)量的測(cè)量線程。測(cè)量線程周期性地被一個(gè)到期的計(jì)時(shí)器(循環(huán)報(bào)警)所定義的間隔喚醒,隨后計(jì)算有效喚醒時(shí)間,并通過共享內(nèi)存將其傳遞給主線程。主線程統(tǒng)計(jì)延遲值并打印最小、最大和平均延遲時(shí)間。
參考鏈接:https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start?s[]=cyclictest。
編譯Cyclictest工具
盈鵬飛嵌入式提供Cyclictes的代碼-rt-tests.tar.gz,您可以直接在我們的開發(fā)環(huán)境下直接編譯。
Host#tar -zxf rt-tests.tar.gz
請(qǐng)先確保已參考Linux系統(tǒng)使用手冊(cè)編譯過LinuxSDK,構(gòu)建A40i處理器對(duì)應(yīng)的GCC編譯器。進(jìn)入解壓生成的rt-tests源文件目錄執(zhí)行如下命令,使用LinuxSDK開發(fā)包目錄下的GCC編譯器進(jìn)行案例編譯。編譯完成后,將在當(dāng)前目錄下生成可執(zhí)行文件。
Host#source env.sh
這個(gè)編譯的環(huán)境env.sh如下:

Host#make

編譯完成后,將在當(dāng)前路徑下生成cyclictest可執(zhí)行文件,將其復(fù)制到評(píng)估板文件系統(tǒng)。
使用Cyclictest測(cè)試系統(tǒng)實(shí)時(shí)性
本次測(cè)試基于Linux-RT-3.10.65內(nèi)核實(shí)時(shí)性。
執(zhí)行如下命令使用Cyclictest程序測(cè)試系統(tǒng)實(shí)時(shí)性。
Target#./cyclictest -a-t-n-p99

Cyclictest測(cè)試結(jié)果說明

可看到基于Linux-RT-3.10.65內(nèi)核的系統(tǒng)的延時(shí)更加穩(wěn)定,最大延時(shí)更低,系統(tǒng)實(shí)時(shí)性更佳。
Cyclictest命令參數(shù)解析可執(zhí)行"./cyclictest --help"查看,如下圖所示。


-
全志A40i
+關(guān)注
關(guān)注
0文章
30瀏覽量
1295
發(fā)布評(píng)論請(qǐng)先 登錄
全面對(duì)比!全志T536與T507/A40i平臺(tái)在項(xiàng)目中該怎么選?一文幫你搞定!

全志科技機(jī)器人專用芯片MR527與MR813特性概述

【米爾-全志T536開發(fā)板試用體驗(yàn)】 試用測(cè)評(píng)報(bào)-初識(shí)T536
【米爾-全志T536開發(fā)板試用體驗(yàn)】開發(fā)資源關(guān)鍵要點(diǎn)
【正點(diǎn)原子】全志T113-i開發(fā)板資料震撼來襲!異核開發(fā)、工控設(shè)計(jì)方案!
哇!5.2秒進(jìn)入應(yīng)用界面!Linux快速啟動(dòng)方案分享,基于全志T113-i國(guó)產(chǎn)平臺(tái)
米爾國(guó)產(chǎn)全志T536系列核心板開發(fā)板-產(chǎn)品手冊(cè)
國(guó)產(chǎn)RISC-V案例分享,基于全志T113-i異構(gòu)多核平臺(tái)!
基于全志T113-i多核異構(gòu)處理器的全國(guó)產(chǎn)嵌入式核心板簡(jiǎn)介
國(guó)產(chǎn)RISC-V基于全志T113-i異構(gòu)多核平臺(tái)
米爾全志T536核心板國(guó)產(chǎn)首發(fā)!17串口4CAN口、四核A55

首發(fā)!17串口4CAN口、四核A55,米爾發(fā)布全志T536核心板

評(píng)論