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

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

    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中断上下文中调用抢占apirt_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/policy0echo userspace > scaling_governorcat saling_max_freq > scaling_setspeed

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

    03.

    实时性测试

    空载测试

    • cyclictest -p 99 -t 1 -d 100 -i 1000 -D 24h -m -a -n
    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
    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
    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外设接口资源主要参数

    功能

    参数

    系统

    POWER

    12V DC JACK

    KEY

    1路复位按键

    1路FEL刷机按键

    1路ON/OFF按键

    SWITCH

    1路电源开关

    BOOT SET

    1路拨码开关

    SD

    1路Micro SD卡槽

    通讯接口

    WIFI/BT

    1路WIFI/BT模块接口通过20PIN排针引出

    4G

    1路4G Mini PCIE接口

    1路SIM卡座

    Ethernet

    1路10/100/1000M以太网接口RJ45接口

    1路10/100M以太网接口RJ45接口

    USB

    2路 USB 2.0 HOST 接口采用Type-A接口

    1路USB 2.0 OTG接口采用Type-C接口

    UART

    1路调试串口通过串口转USB采用Type-C接口

    2路普通串口通过扩展接口引出

    多媒体接口

    DISPLAY

    1路HDMI 2.0a接口

    2路LVDS 显示接口(支持单/双通道)

    1路TV CVBS模拟视频输出接口

    CAMERA

    1路MIPI CSI摄像头接口

    1路DVP摄像头接口

    AUDIO

    1路3.5mm音频输出接口

    1路SPDIF音频输出接口

    1路扬声器扩展接口

    扩展接口

    Expansion IO

    1路2.54mm间距的40PIN排针GPIO/TWI/UART

    表4-2 开发板外设接口资源主要参数

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

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6