01.
概述
全志科技T5系列是一个高性能四核 CortexTM–A53 处理器,适用于新一代汽车市场。T5系列符合汽车 AEC – Q100 测试要求。该芯片集成四核 CortexTM–A53 CPU、G31MP2 GPU、32 位 DDR3/LPDDR3/DDR4/LRDDR4 动态随机存储器。
MYC-YT507H核心板基于T507-H处理器研制,具有丰富的接口资源, 拥有良好的软件开发环境,内核支持开源操作系统Linux。
在开发阶段,建议配合核心板配套的评估套件 MYD-YT507H 来加速开发。
02.
实时内核设计
实时补丁我们选择RT-Preempt来实现。
2.1.移植补丁
RT补丁官网从RT官网下载4.9.170对应补丁
把解压后的补丁放到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的互斥。
configCPU_FREQ_TIMES bool"CPUfrequencytime-in-statestatistics" #defaulty dependson!PREEMPT_RT_BASE help ThisdriverexportsCPUtime-in-stateinformationthroughprocfsfile system. !It'sincompatablewithRT-Preemptscheduler. Ifindoubt,sayN. |
打开RT实时测试工具,进行测试
在buildroot下面打开相关测试,根据下面描述打开rt-tests工具即可,打开测试工具测试步骤
2.2.其他影响性能的配置
禁用CPUFreq自动调频,并设置主频为最高频率:
cd/sys/devices/system/cpu/cpufreq/policy0echouserspace>scaling_governorcat 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--cpu4--cpu-methodall--io4--vm50-d5--fork4--timeout36000s
图3-2.满载测试
数据对比:
板卡 | MYD-YT507H |
测试时间 | 120min |
指令 | cyclictest &stress-ng |
空载 | 平均 8us 最大 24us |
满载 | 平均 13us 最大 136us |
表3-1.数据信息
04.
产品介绍
MYC-YT507H核心板采用SMD封装形式贴片(邮票孔+背面焊盘)。标准配置有4种产品型号。它们在存储配置、温度等方面有一些差异,客户可根据需求自行选择合适的型号。
图2-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 |
表2-1 核心板主要参数
4.1.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排针引出 |
1路4G Mini PCIE接口1路SIM卡座 | ||
1路10/100/1000M以太网接口,RJ45接口1路10/100M以太网接口,RJ45接口 | ||
2路 USB 2.0 HOST 接口,采用Type-A接口1路USB 2.0 OTG接口,采用Type-C接口 | ||
1路调试串口,通过串口转USB,采用Type-C接口2路普通串口,通过扩展接口引出 | ||
多媒体接口 | DISPLAY | 1路HDMI 2.0a接口2路LVDS 显示接口(支持单/双通道)1路TV CVBS模拟视频输出接口 |
CAMERA | 1路MIPICSI摄像头接口1路DVP摄像头接口 | |
AUDIO | 1路3.5mm音频输出接口1路SPDIF音频输出接口1路扬声器扩展接口 | |
扩展接口 | Expansion IO | 1路2.54mm间距的40PIN排针,GPIO/TWI/UART |
表2-2 开发板外设接口资源主要参数
-
cpu
+关注
关注
68文章
10859浏览量
211675 -
开发板
+关注
关注
25文章
5040浏览量
97408 -
米尔
+关注
关注
0文章
51浏览量
7932
发布评论请先 登录
相关推荐
评论