这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 国产工业CPU平台,米尔基于全志T507-H开发板的实时性分析与测试

共8条 1/1 1 跳转至

国产工业CPU平台,米尔基于全志T507-H开发板的实时性分析与测试

菜鸟
2023-02-04 17:12:41     打赏

01.

概述

    全志科技T5系列是一个高性能四核 CortexTM–A53 处理器,适用于新一代汽车市场。T5系列符合汽车 AEC – Q100 测试要求。该芯片集成四核 CortexTM–A53 CPU、G31MP2 GPU、32 位 DDR3/LPDDR3/DDR4/LRDDR4 动态随机存储器。

    MYC-YT507H核心板基于T507-H处理器研制,具有丰富的接口资源, 拥有良好的软件开发环境,内核支持开源操作系统Linux。

    在开发阶段,建议配合核心板配套的评估套件 MYD-YT507H 来加速开发。评估套件的详细信息请访问:http://www.myir-tech.com/product


02.

实时内核设计

实时补丁我们选择RT-Preempt来实现。

2.1. 移植补丁

RT补丁官网 从RT官网下载4.9.170对应补丁

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

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

图片

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

图片

由于代码有差异,会提示大量不匹配,导致补丁打入失败则用下面命令找出打入失败文件


find ./ -name "*.rej"

图片

手动逐一检查rej文件,逐个修改

难点:

zram驱动,sdk中源码引用自5.x版本驱动,需要找5.10左右RT补丁参考

thread_info.h文件中手动将PREEMPT_LAZY宏改序号、宏名字

图片

问题点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.

打开RT实时测试工具,进行测试

在buildroot下面打开相关测试,根据下面描述打开rt-tests工具即可,打开测试工具测试步骤

2.2. 其他影响性能的配置

禁用CPU Freq自动调频,并设置主频为最高频率:

cd /sys/devices/system/cpu/cpufreq/policy0
echo userspace > scaling_governor
cat saling_max_freq > scaling_setspeed

(如不禁用cpufreq调频功能,系统会因动态调频产生极大的偶然延迟)


03.

实时性测试

空载测试


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

图片

图3-1.空载测试

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

图片

图3-2.满载测试

数据对比:

板卡

MYD-YT507H

测试时间

120min

指令

cyclictest &stress-ng

空载

平均 8us

最大 24us

满载

平均 13us

最大 136us

表3-1.数据信息


04.

产品介绍


    MYC-YT507H核心板采用SMD封装形式贴片(邮****孔+背面焊盘)。标准配置有4种产品型号。它们在存储配置、温度等方面有一些差异,客户可根据需求自行选择合适的型号。


图片

图4-1 MYC-YT507H核心板



4.1. 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 核心板主要参数



4.2. MYD-YT507H外设接口资源主要参数


功能参数
系统POWER12V DC JACK
KEY1路复位按键1路FEL刷机按键1路ON/OFF按键
SWITCH1路电源开关
BOOT SET1路拨码开关
SD1路Micro SD卡槽
通讯接口WIFI/BT1路WIFI/BT模块接口,通过20PIN排针引出
4G1路4G Mini PCIE接口1路SIM卡座
Ethernet1路10/100/1000M以太网接口,RJ45接口1路10/100M以太网接口,RJ45接口
USB2路 USB 2.0 HOST 接口,采用Type-A接口1路USB 2.0 OTG接口,采用Type-C接口
UART1路调试串口,通过串口转USB,采用Type-C接口2路普通串口,通过扩展接口引出
多媒体接口DISPLAY1路HDMI 2.0a接口2路LVDS 显示接口(支持单/双通道)1路TV CVBS模拟视频输出接口
CAMERA1路MIPI CSI摄像头接口1路DVP摄像头接口
AUDIO1路3.5mm音频输出接口1路SPDIF音频输出接口1路扬声器扩展接口
扩展接口Expansion IO1路2.54mm间距的40PIN排针,GPIO/TWI/UART
表4-2 开发板外设接口资源主要参数


米尔电子,专注嵌入式处理器模块设计和研发,是领先的嵌入式处理器模组厂商。米尔电子在嵌入式领域具有20年的行业技术经验,为客户提供专业的ARM工业控制板、ARM开发板、ARM核心板、ARM开发工具、充电桩计费控制单元及充电控制板等产品和技术服务。此外,米尔电子还可通过涵盖众多ARM处理器及操作系统的专业技术提供定制设计解决方案,通过专业且高效率服务帮助客户加速产品上市进程。





关键词: 米尔     全志     T507-H     国产     开发板    

专家
2023-02-04 19:50:20     打赏
2楼

谢谢楼主分享


专家
2023-02-04 19:54:23     打赏
3楼

谢谢楼主分享


专家
2023-02-05 00:13:02     打赏
4楼

谢谢分享


专家
2023-02-05 00:29:43     打赏
5楼

感谢楼主分享



专家
2023-02-05 01:35:51     打赏
6楼

感谢楼主的分享,很实用了。


专家
2023-02-05 11:54:16     打赏
7楼

谢谢分享


专家
2023-02-08 06:35:15     打赏
8楼

感谢楼主的分享


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]