關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 業(yè)界動(dòng)態(tài) > 國產(chǎn)工業(yè)CPU,米爾基于全志T507-H開發(fā)板的實(shí)時(shí)性分析與測試

國產(chǎn)工業(yè)CPU,米爾基于全志T507-H開發(fā)板的實(shí)時(shí)性分析與測試

作者: 時(shí)間:2023-02-06 來源:電子產(chǎn)品世界 收藏


本文引用地址:http://m.butianyuan.cn/article/202302/443059.htm

1.概念

全志科技T5系列是一個(gè)高性能四核 CortexTM–A53 處理器,適用于新一代汽車市場。T5系列符合汽車 AEC – Q100 測試要求。該芯片集成四核 CortexTM–A53 CPU、G31MP2 GPU、32 位 DDR3/LPDDR3/DDR4/LRDDR4 動(dòng)態(tài)隨機(jī)存儲(chǔ)器。

1675671363141806.png

MYC-YT507H基于T507-H處理器研制,具有豐富的接口資源, 擁有良好的軟件開發(fā)環(huán)境,內(nèi)核支持開源操作系統(tǒng)Linux。

在開發(fā)階段,建議配合配套的評(píng)估套件 MYD-YT507H 來加速開發(fā)。

評(píng)估套件的詳細(xì)信息請(qǐng)?jiān)L問:http://www.myir-tech.com/product

2.實(shí)時(shí)內(nèi)核設(shè)計(jì)

實(shí)時(shí)補(bǔ)丁我們選擇RT-Preempt來實(shí)現(xiàn)。

1.1. 移植補(bǔ)丁

RT補(bǔ)丁官網(wǎng) 從RT官網(wǎng)下載4.9.170對(duì)應(yīng)補(bǔ)丁

https://wiki.linuxfoundation.org/realtime/start

https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.9/older/

image.png

把解壓后的補(bǔ)丁放到linux4.9目錄下,然后用下面命令打包即可 patch -p1 < ./patch-4.9.170-rt129.patch

image.png

由于代碼有差異,會(huì)提示大量不匹配,導(dǎo)致補(bǔ)丁打入失敗則用下面命令找出打入失敗文件

find ./ -name "*.rej"

1675671423286718.png

手動(dòng)逐一檢查rej文件,逐個(gè)修改

難點(diǎn):

zram驅(qū)動(dòng),sdk中源碼引用自5.x版本驅(qū)動(dòng),需要找5.10左右RT補(bǔ)丁參考

thread_info.h文件中手動(dòng)將PREEMPT_LAZY宏改序號(hào)、宏名字

1675671465959010.png

問題點(diǎn)1:中斷上下文中調(diào)用搶占api(rt_spin_lock即mutex)導(dǎo)致sched異常。

分析與解決:

這個(gè)中斷是系統(tǒng)核心timer服務(wù),至關(guān)重要。其通過request_percpu_irq注冊(cè)中斷isr,并不是常規(guī)request_irq或request_thread_irq,無法線程化。

繼續(xù)分析崩潰調(diào)用棧,在崩潰前最后的操作為cpufreq_cpu_get,通過分析其源碼,基本找到__account_system_time函數(shù)中調(diào)用了cpufreq_acct_update_power,其中又調(diào)用了rt_spin_lock函數(shù)導(dǎo)致崩潰。

通過分析cpufreq_acct_update_power函數(shù),發(fā)現(xiàn)通過宏定義:CONFIG_CPU_FREQ_TIMES可以屏蔽該函數(shù),進(jìn)而不調(diào)用rt_spin_lock。

經(jīng)測試,在menuconfig中,屏蔽CONFIG_CPU_FREQ_TIMES后,系統(tǒng)能正常啟動(dòng)到login環(huán)節(jié)。

解決方法:

drivers/cpufreq/Kconfig中針對(duì)CPU_FREQ_TIMES設(shè)置與PREEMPT_RT_BASE的互斥。

config CPU_FREQ_TIMES

       bool "CPU frequency time-in-state statistics"

    #    default y

       depends on !PREEMPT_RT_BASE

       help

         This driver exports CPU time-in-state information through procfs file

         system.

         ! It's incompatable with RT-Preempt scheduler.

 

         If in doubt, say N.

在buildroot下面打開相關(guān)測試,根據(jù)下面描述打開rt-tests工具即可,打開測試工具測試步驟打開RT實(shí)時(shí)測試工具,進(jìn)行測試

image.png

1.2. 其他影響性能的配置

禁用CPU Freq自動(dòng)調(diào)頻,并設(shè)置主頻為最高頻率:

cd /sys/devices/system/cpu/cpufreq/policy0

echo userspace > scaling_governor

cat saling_max_freq  > scaling_setspeed

(如不禁用cpufreq調(diào)頻功能,系統(tǒng)會(huì)因動(dòng)態(tài)調(diào)頻產(chǎn)生極大的偶然延遲)

1675671512982740.png 

3.實(shí)時(shí)性測試

空載測試

cyclictest -p 99 -t 1 -d 100 -i 1000 -D 24h -m -a -n


圖 空載測試

CPU&內(nèi)存滿載

cyclictest -p 99 -t 1 -d 100 -i 1000 -D 24h -m -a -n

增加壓力

stress-ng --cpu 4 --cpu-method all --io 4 --vm 50 -d 5  --fork 4 --timeout 36000s


圖 滿載測試

數(shù)據(jù)對(duì)比:

板卡

MYD-YT507H

測試時(shí)間

120min

指令

cyclictest &stress-ng

空載

平均 8us;最大 24us

滿載

平均 13us;最大 136us

圖表 數(shù)據(jù)信息

4.產(chǎn)品介紹

 

MYC-YT507H采用SMD封裝形式貼片(郵票孔+背面焊盤)。標(biāo)準(zhǔn)配置有4種產(chǎn)品型號(hào)。它們?cè)诖鎯?chǔ)配置、溫度等方面有一些差異,客戶可根據(jù)需求自行選擇合適的型號(hào)。

 image.png

image.png

圖 MYC-YT507H核心板

 MYC-YT507H主要參數(shù)

名稱

主要參數(shù)

主控芯片系列

T5 Series

主控芯片型號(hào)

T507-H

處理器規(guī)格

4核 ARM CortexTM-A53

內(nèi)存

LPDDR4 1GB/2GB

存儲(chǔ)器

EMMC 8GB (其他容量可選)

核心板尺寸

43 x 45 x 3.5 mm(帶屏蔽骨架)

接口類型

SMD貼片,郵票孔+LGA

PCB板規(guī)格

10層板設(shè)計(jì),沉金工藝

操作系統(tǒng)

Linux 4.9

核心板主要參數(shù)

 

4.1. MYD-YT507H外設(shè)接口資源主要參數(shù)

1675671326802361.png

外設(shè)接口資源主要參數(shù)



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉