關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 業界動態 > 國產工業CPU,米爾基于全志T507-H開發板的實時性分析與測試

        國產工業CPU,米爾基于全志T507-H開發板的實時性分析與測試

        作者: 時間:2023-02-06 來源:電子產品世界 收藏


        本文引用地址:http://www.104case.com/article/202302/443059.htm

        1.概念

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

        1675671363141806.png

        MYC-YT507H基于T507-H處理器研制,具有豐富的接口資源, 擁有良好的軟件開發環境,內核支持開源操作系統Linux。

        在開發階段,建議配合配套的評估套件 MYD-YT507H 來加速開發。

        評估套件的詳細信息請訪問:http://www.myir-tech.com/product

        2.實時內核設計

        實時補丁我們選擇RT-Preempt來實現。

        1.1. 移植補丁

        RT補丁官網 從RT官網下載4.9.170對應補丁

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

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

        image.png

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

        image.png

        由于代碼有差異,會提示大量不匹配,導致補丁打入失敗則用下面命令找出打入失敗文件

        find ./ -name "*.rej"

        1675671423286718.png

        手動逐一檢查rej文件,逐個修改

        難點:

        zram驅動,sdk中源碼引用自5.x版本驅動,需要找5.10左右RT補丁參考

        thread_info.h文件中手動將PREEMPT_LAZY宏改序號、宏名字

        1675671465959010.png

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

        分析與解決:

        這個中斷是系統核心timer服務,至關重要。其通過request_percpu_irq注冊中斷isr,并不是常規request_irq或request_thread_irq,無法線程化。

        繼續分析崩潰調用棧,在崩潰前最后的操作為cpufreq_cpu_get,通過分析其源碼,基本找到__account_system_time函數中調用了cpufreq_acct_update_power,其中又調用了rt_spin_lock函數導致崩潰。

        通過分析cpufreq_acct_update_power函數,發現通過宏定義:CONFIG_CPU_FREQ_TIMES可以屏蔽該函數,進而不調用rt_spin_lock。

        經測試,在menuconfig中,屏蔽CONFIG_CPU_FREQ_TIMES后,系統能正常啟動到login環節。

        解決方法:

        drivers/cpufreq/Kconfig中針對CPU_FREQ_TIMES設置與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下面打開相關測試,根據下面描述打開rt-tests工具即可,打開測試工具測試步驟打開RT實時測試工具,進行測試

        image.png

        1.2. 其他影響性能的配置

        禁用CPU Freq自動調頻,并設置主頻為最高頻率:

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

        echo userspace > scaling_governor

        cat saling_max_freq  > scaling_setspeed

        (如不禁用cpufreq調頻功能,系統會因動態調頻產生極大的偶然延遲)

        1675671512982740.png 

        3.實時性測試

        空載測試

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


        圖 空載測試

        CPU&內存滿載

        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


        圖 滿載測試

        數據對比:

        板卡

        MYD-YT507H

        測試時間

        120min

        指令

        cyclictest &stress-ng

        空載

        平均 8us;最大 24us

        滿載

        平均 13us;最大 136us

        圖表 數據信息

        4.產品介紹

         

        MYC-YT507H采用SMD封裝形式貼片(郵票孔+背面焊盤)。標準配置有4種產品型號。它們在存儲配置、溫度等方面有一些差異,客戶可根據需求自行選擇合適的型號。

         image.png

        image.png

        圖 MYC-YT507H核心板

         MYC-YT507H主要參數

        名稱

        主要參數

        主控芯片系列

        T5 Series

        主控芯片型號

        T507-H

        處理器規格

        4核 ARM CortexTM-A53

        內存

        LPDDR4 1GB/2GB

        存儲器

        EMMC 8GB (其他容量可選)

        核心板尺寸

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

        接口類型

        SMD貼片,郵票孔+LGA

        PCB板規格

        10層板設計,沉金工藝

        操作系統

        Linux 4.9

        核心板主要參數

         

        4.1. MYD-YT507H外設接口資源主要參數

        1675671326802361.png

        外設接口資源主要參數



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大竹县| 库尔勒市| 同仁县| 沈丘县| 汉阴县| 蒙城县| 通许县| 随州市| 巴东县| 吴川市| 汝阳县| 绥中县| 三都| 梁河县| 海阳市| 通化市| 屯门区| 抚远县| 区。| 遂昌县| 桓仁| 广宁县| 宕昌县| 文登市| 黄大仙区| 德清县| 洪江市| 富民县| 乐山市| 德钦县| 沁水县| 新巴尔虎右旗| 普格县| 黄冈市| 鹿邑县| 都昌县| 庆元县| 广饶县| 泽州县| 青铜峡市| 夹江县|