01.
概述
全志科技T5系列是一個(gè)高性能四核 CortexTM–A53 處理器,適用于新一代汽車(chē)市場(chǎng)。T5系列符合汽車(chē) AEC – Q100 測(cè)試要求。該芯片集成四核 CortexTM–A53 CPU、G31MP2 GPU、32 位 DDR3/LPDDR3/DDR4/LRDDR4 動(dòng)態(tài)隨機(jī)存儲(chǔ)器。
MYC-YT507H核心板基于T507-H處理器研制,具有豐富的接口資源, 擁有良好的軟件開(kāi)發(fā)環(huán)境,內(nèi)核支持開(kāi)源操作系統(tǒng)Linux。
在開(kāi)發(fā)階段,建議配合核心板配套的評(píng)估套件 MYD-YT507H 來(lái)加速開(kāi)發(fā)。
02.
實(shí)時(shí)內(nèi)核設(shè)計(jì)
實(shí)時(shí)補(bǔ)丁我們選擇RT-Preempt來(lái)實(shí)現(xiàn)。
2.1.移植補(bǔ)丁
RT補(bǔ)丁官網(wǎng)從RT官網(wǎng)下載4.9.170對(duì)應(yīng)補(bǔ)丁
把解壓后的補(bǔ)丁放到linux4.9目錄下,然后用下面命令打包即可 patch -p1 < ./patch-4.9.170-rt129.patch
由于代碼有差異,會(huì)提示大量不匹配,導(dǎo)致補(bǔ)丁打入失敗則用下面命令找出打入失敗文件
find./-name"*.rej"
手動(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)、宏名字
問(wèn)題點(diǎn)1:中斷上下文中調(diào)用搶占api(rt_spin_lock即mutex)導(dǎo)致sched異常。
分析與解決:
這個(gè)中斷是系統(tǒng)核心timer服務(wù),至關(guān)重要。其通過(guò)request_percpu_irq注冊(cè)中斷isr,并不是常規(guī)request_irq或request_thread_irq,無(wú)法線程化。
繼續(xù)分析崩潰調(diào)用棧,在崩潰前最后的操作為cpufreq_cpu_get,通過(guò)分析其源碼,基本找到__account_system_time函數(shù)中調(diào)用了cpufreq_acct_update_power,其中又調(diào)用了rt_spin_lock函數(shù)導(dǎo)致崩潰。
通過(guò)分析cpufreq_acct_update_power函數(shù),發(fā)現(xiàn)通過(guò)宏定義:CONFIG_CPU_FREQ_TIMES可以屏蔽該函數(shù),進(jìn)而不調(diào)用rt_spin_lock。
經(jīng)測(cè)試,在menuconfig中,屏蔽CONFIG_CPU_FREQ_TIMES后,系統(tǒng)能正常啟動(dòng)到login環(huán)節(jié)。
解決方法:
drivers/cpufreq/Kconfig中針對(duì)CPU_FREQ_TIMES設(shè)置與PREEMPT_RT_BASE的互斥。
configCPU_FREQ_TIMES bool"CPUfrequencytime-in-statestatistics" #defaulty dependson!PREEMPT_RT_BASE help ThisdriverexportsCPUtime-in-stateinformationthroughprocfsfile system. !It'sincompatablewithRT-Preemptscheduler. Ifindoubt,sayN. |
打開(kāi)RT實(shí)時(shí)測(cè)試工具,進(jìn)行測(cè)試
在buildroot下面打開(kāi)相關(guān)測(cè)試,根據(jù)下面描述打開(kāi)rt-tests工具即可,打開(kāi)測(cè)試工具測(cè)試步驟
2.2.其他影響性能的配置
禁用CPUFreq自動(dòng)調(diào)頻,并設(shè)置主頻為最高頻率:
cd/sys/devices/system/cpu/cpufreq/policy0echouserspace>scaling_governorcat saling_max_freq > scaling_setspeed
(如不禁用cpufreq調(diào)頻功能,系統(tǒng)會(huì)因動(dòng)態(tài)調(diào)頻產(chǎn)生極大的偶然延遲)
03.
實(shí)時(shí)性測(cè)試
空載測(cè)試
cyclictest -p 99 -t 1 -d 100 -i 1000 -D 24h -m -a -n
圖3-1.空載測(cè)試
CPU&內(nèi)存滿載
cyclictest -p 99 -t 1 -d 100 -i 1000 -D 24h -m -a -n
增加壓力
stress-ng--cpu4--cpu-methodall--io4--vm50-d5--fork4--timeout36000s
圖3-2.滿載測(cè)試
數(shù)據(jù)對(duì)比:
板卡 | MYD-YT507H |
測(cè)試時(shí)間 | 120min |
指令 | cyclictest &stress-ng |
空載 | 平均 8us 最大 24us |
滿載 | 平均 13us 最大 136us |
表3-1.數(shù)據(jù)信息
04.
產(chǎn)品介紹
MYC-YT507H核心板采用SMD封裝形式貼片(郵票孔+背面焊盤(pán))。標(biāo)準(zhǔn)配置有4種產(chǎn)品型號(hào)。它們?cè)诖鎯?chǔ)配置、溫度等方面有一些差異,客戶可根據(jù)需求自行選擇合適的型號(hào)。
圖2-1 MYC-YT507H核心板
4.1.MYC-YT507H主要參數(shù)
名稱(chēng) | 主要參數(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(帶屏蔽骨架) |
接口類(lèi)型 | SMD貼片,郵票孔+LGA |
PCB板規(guī)格 | 10層板設(shè)計(jì),沉金工藝 |
操作系統(tǒng) | Linux 4.9 |
表2-1 核心板主要參數(shù)
4.1.MYD-YT507H外設(shè)接口資源主要參數(shù)
功能 | 參數(shù) | |
系統(tǒng) | POWER | 12V DC JACK |
KEY | 1路復(fù)位按鍵1路FEL刷機(jī)按鍵1路ON/OFF按鍵 | |
SWITCH | 1路電源開(kāi)關(guān) | |
BOOT SET | 1路撥碼開(kāi)關(guān) | |
SD | 1路Micro SD卡槽 | |
通訊接口 | WIFI/BT | 1路WIFI/BT模塊接口,通過(guò)20PIN排針引出 |
1路4G Mini PCIE接口1路SIM卡座 | ||
1路10/100/1000M以太網(wǎng)接口,RJ45接口1路10/100M以太網(wǎng)接口,RJ45接口 | ||
2路 USB 2.0 HOST 接口,采用Type-A接口1路USB 2.0 OTG接口,采用Type-C接口 | ||
1路調(diào)試串口,通過(guò)串口轉(zhuǎn)USB,采用Type-C接口2路普通串口,通過(guò)擴(kuò)展接口引出 | ||
多媒體接口 | DISPLAY | 1路HDMI 2.0a接口2路LVDS 顯示接口(支持單/雙通道)1路TV CVBS模擬視頻輸出接口 |
CAMERA | 1路MIPICSI攝像頭接口1路DVP攝像頭接口 | |
AUDIO | 1路3.5mm音頻輸出接口1路SPDIF音頻輸出接口1路揚(yáng)聲器擴(kuò)展接口 | |
擴(kuò)展接口 | Expansion IO | 1路2.54mm間距的40PIN排針,GPIO/TWI/UART |
表2-2 開(kāi)發(fā)板外設(shè)接口資源主要參數(shù)
-
cpu
+關(guān)注
關(guān)注
68文章
10854瀏覽量
211583 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97373 -
米爾
+關(guān)注
關(guān)注
0文章
51瀏覽量
7931
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論