嵌入式处理器模组,又称嵌入式核心板,或为CPU模组/核心板/SOM(System on Module),它是包含处理系统的核心电子部件的子电路板,集成了主芯片、存储器(eMMC/Nand Flash)、运行内存(DDR)、电源和时钟电路等。一般采用板对板连接器、邮票孔焊接、金手指等形式与底板连接。软件方面,嵌入式核心板已完成基础BSP和嵌入式操作系统的移植适配,在完善各个接口驱动的同时还会适配Uboot、文件系统以及QT图形界面的移植开发,这样最终呈现给用户的是一个带图形界面的完整操作系统,最大程度方便了用户进行二次开发。
米尔的T507核心板图样
嵌入式一体板是在客户的功能需求定下来之后,对功能进行剪裁,设计的一体化的嵌入式板卡,劣势是最小系统功能复杂,开发挑战性大,且不便于产品升级迭代,维护成本非常高,且软件也需要重新移植Uboot、操作系统、QT等,开发周期过长。
采用米尔CPU模组,可以解决复杂嵌入式系统的挑战,实现产品研发和交付的跨越!
米尔成立12年,在嵌入式处理器模组行业有着历史的积累和行业的沉淀,会从产品性能、软硬件资源、产品成本等多维度的满足行业客户的需求,推出最契合客户需求的产品。
米尔拥有近20年的嵌入式行业经验,拥有50多人的研发团队,针对CPU模组系列产品,我们搭建了完整的研发体系,制定严格的生产质量测试流程,从产品硬件、嵌入式Linux系统以及应用程序上,都能为客户提供良好的技术保障和品质保证。
米尔协助客户产品选型,选择最优的CPU方案,选择最适合的连接的方式去开发,再通过广泛的物料的选择、批量成本的谈判,充分优化模组上的物料,为客户选择最具优势的产品,让客户的产品更具竞争力。
米尔智慧工厂以先进的生产设备和管理系统、严格的品质管控流程、完善的供应链体系、强力的工程支撑等优势,帮助客户提升生产效率、缩短产品交期、保证生产品质。客户自行设计的底板也可由米尔工厂代工,米尔提供从PCB制作、元器件采购、贴片加工到组装测试的一站式PCBA生产服务。
日前,领先的嵌入式处理器模组厂商米尔电子正式成为全球知名半导体厂商瑞萨电子(Renesas)IDH生态战略合作伙伴,双方将携手合作为行业开发者提供瑞萨RZ系列MPU等产品的平台开发和解决方案,致力于为工业HMI、工业控制、医疗器械、电力智能设备、新能源和工程机械等行业的嵌入式开发者提供配套核心板和开发板以及行业demo ,加速产品开发和上市。
合作签约仪式圆满完成
2023年4月11日,米尔电子和瑞萨电子在米尔SMT智慧工厂举行隆重的签约仪式,双方就瑞萨系列产品的开发达成战略合作,签署IDH合作协议。
图:瑞萨&米尔电子的战略合作签约仪式
(左二:瑞萨电子分销商管理高级总监 Alex CHAN、右二:瑞萨电子系统及方案市场部总监 王均峰)
图:瑞萨电子授权的米尔电子IDH证书
瑞萨电子RZ系列基于32位和64位Arm的高端微处理器(MPU)为未来的智能社会提供了所需的解决方案,RZ产品系列包括RZ/N系列、RZ/T系列、RZ/G系列、RZ/A系列、RZ/V系列,性能卓越,工程师可以轻松实现高分辨率人机界面(HMI)、嵌入式视觉、嵌入式人工智能(e-AI) 和实时控制,以及工业以太网连接。其中,RZ/G涵盖人机交互(HMI)和物联网边缘(IOT Edge)产品。
2023年年初,米尔电子联合瑞萨推出基于米尔MYC-YG2LX核心板及开发板,该款产品采用瑞萨RZ/G2L系列处理器的工业级应用芯片,瑞萨RZ/G2L基于64位Arm的高端处理器 (MPU),2xCortex-A55@1.2GHz+Cortex-M33@200MHz,满足高性能和实时性需求,多媒体方面集成Arm Mali-G31 3D GPU,VPU支持H.264 1920*1080@30FPS视频编解码,而且集成了双千兆以太网,多达7路串口,2路CANFD等丰富的通讯接口,能够满足复杂工业通讯的需求,为未来的更智能工业设备提供了更高性能的解决方案;引领工业市场从32位MPU向64位演进。
图:米尔基于瑞萨RZ/G2L处理器的核心板
米尔电子,是一家专注于嵌入式处理器模组设计研发、生产、销售于一体的高新技术企业。米尔电子在嵌入式处理器领域具有10多年的研发经验,为客户提供基于ARM架构、FPGA架构的CPU模组及充电控制系统等产品和服务,此前已与知名半导体厂商Xilinx、NXP、ST、全志科技等取得良好的合作关系,并推出NXP i.MX、STM32MP1、AM335X、ZYNQ-7000、XCZU3EG、T507等多个系列的CPU模组和行业demo,并为行业内10000家以上的企业客户服务,助力开发者产品开发成功。此次与瑞萨电子再达成IDH合作伙伴的关系,将巩固米尔电子在嵌入式处理器模组行业的领头地位,继续为智能医疗、智能交通、智能安防、物联网、边缘计算、工业网关、人工智能等行业客户提供更专业的核心板和定制服务。
自2007年意法半导体(ST)推出STM32首款Cortex-M内核 MCU,十几年来,ST在MCU领域的发展是飞速向前的。而2019年ST发布了全新的STM32MPU系列产品线,STM32MP1作为新一代 MPU 的典范,有着极富开创意义的异构系统架构兼容并蓄了 MPU 和 MCU 双重优势,受到业界的喜爱!米尔电子作为ST官方合作伙伴,在意法半导体发布前就获得样品,并组建产品团队研发核心板,此前,米尔发布的基于STM32MP1系列的核心板和开发板受到广大客户的认可和喜爱,有超过500家的客户选择,应用行业丰富。
米尔作为嵌入式处理器模组行业的领头羊,我们的产品更新紧跟ST原厂的新品发布,今年3月,ST刚发布了STM32MP13微处理器(MPU),米尔就创新研发推出:基于STM32MP135处理器的MYC-YF13X核心板及开发板。接下来看看这款产品的特色优势:
STM32MP135入门级嵌入式开发平台
STM32MP13系列处理器是一款基于单核 Cortex-A7 设计的高性价比,高可靠性工业级处理器;运行频率高达1GHz,配备双路千兆以太网接口,提供高性价比和高能效的处理能力,该产品线具有高级安全功能,包括:加密算法加速器,提升硬件稳健性;内存保护,防止非法访问;代码隔离机制,用于运行时保护数据安全;确保产品生命周期内平台认证的多种功能; 以及完整的安全生态系统.STM32MP13微处理器专为入门级Linux、裸机或RTOS系统设计,让MCU开发者友好地过渡到MPU平台设计。
STM32MP135处理器框图
单核A7处理器,双千兆网口
STM32MP135系列处理器是一款基于单核 Cortex-A7 设计的高性价比,高可靠性工业级处理器;配备LCD-TFT并行显示接口、16位并行摄像头接口;处理器还支持2路千兆以太网接口、2个CAN FD接口、2个USB2.0接口、8个UART功能接口,适用于能源电力、工业控制、工业网关、工业HMI等场景。
米尔STM32MP135核心板接口资源图
140PIN邮票孔设计
MYC-YF13X核心板采用高密度高速电路板设计,在大小为37mm*39mm板卡上集成了STM32MP135、DDR3L、 Nand Flash/eMMC、E2PROM、分立电源等电路。MYC-YF13X核心板以SMD贴片的形式焊接在底板,管脚为邮票孔封装。板卡采用10层高密度PCB设计,沉金工艺生产,独立的接地信号层,无铅。
米尔STM32MP135核心板
符合高性能智能设备的要求
MYC-YF13X核心板具有最严格的质量标准、超高性能、丰富外设资源、高性价比、长供货时间的特点,适用于高性能智能设备所需要的核心板要求。为保证产品的质量,经过严苛的测试,确保产品品质。
米尔STM32MP135核心板测试图
丰富开发资源
米尔STM32MP135的核心板,随同开发套件MYIR提供了丰富的软件资源以及文档资料。软件资料包含但不限于U-boot、Linux、所有外设驱动源码和相关开发工具。文档资料包含产品手册、硬件用户手册、硬件设计指南、底板PDF原理图、Linux软件评估和开发指南等相关资料。MYIR旨在为开发者提供稳定的参考设计和完善的软件开发环境,能够有效帮助开发者提高开发效率、缩短开发周期、优化设计质量、加快产品研发和上市时间。
米尔STM32MP135开发资源图
配套开发板,助力开发成功
米尔STM32MP135核心板配套使用开发板,采用12V/2A直流供电,搭载了2路千兆以太网接口、1路USB2.0协议MINI PCIE插座的4G模块接口、1路RGB显示接口、1路音频输入输出接口、2路USB HOST Type A、1路 USB OTG Type-C接口、1路Micro SD接口。
深圳市中小企业服务局公示了《关于2021年深圳市专精特新中小企业名单》,经企业自主申报、各区初审推荐、深圳市中小企业服务局复核层层严格评审,深圳市米尔电子有限公司成功入选“2021年深圳市专精特新中小企业认定”。
“专精特新”是全国中小企业评定工作中一项权威的荣誉称号,是我国推动产业创新发展、强链补链的重要一环,在认定资质上,对企业的科研投入、科研成果、创新能力、经营管理等方面都有着严格的考核,并且要求入选企业具备“专业化、精细化、特色化、新颖化”特质,是产业链细分领域的主力军。
在“专业化”上,米尔专注嵌入式CPU模组
米尔成立于2011年,米尔与NXP、ST、TI、Xilinx、全志、Microchip等6家芯片厂商保持密切合作,在武汉设立研发中心、全国多地设置办事处,并投资建设了米尔智慧工厂,服务的企业客户超过10000家,在行业具有良好的知名度,公司以精干的营销队伍构成全球销售网络和售后服务体系,产品遍布中国大陆、香港、台湾、欧洲、美洲及非洲等众多国家和地区。
在精细化方面,米尔专注研发投入
首先,米尔非常了解用户需求:米尔成立11年,在嵌入式处理器模组行业有着历史的积累和行业的沉淀,我们对自己行业的产品非常有信心,我们会从产品性能、软硬件资源、产品成本等多维度的满足行业客户的需求,推出最契合客户需求的产品。 其次,产品实现能力强;米尔拥有近20年的嵌入式行业经验,拥有50多人的研发团队,针对CPU模组系列产品,我们搭建了完整的研发体系,制定严格的生产质量测试流程,从产品硬件、嵌入式Linux系统以及应用程序上,都能为客户提供良好的技术保障和品质保证。
在“特色化”上,米尔提供六好产品
第一,定义好。充分调研,提供贴近客户需求的好产品;
第二,设计好。本土化及高可靠的设计,易转化,降低开发成本;
第三,质量好。严控生产加工和测试各环节,保障产品品质;
第四,价格交期好。与原厂保持良好合作关系,价格和交期稳定;
第五,资料好。丰富的开发资料,易上手,加速开发进程;
第六,服务支持好。软硬件工程师全程技术指导,快速解答问题。
在“新颖化 ”上,米尔多次获得产品创新奖
其中CPU模组是我们公司的主流产品。我们和恩智浦公司合作了i.MX6UL/i.MX6ULL、 i.MX8M Mini、i.MX 8M Plus系列产品。与ST公司合作了推出了STM32MP1系列产品。与TI公司合作推出了AM335X和AM437X灯系列产品。与XILINX合作了Zynq UltraScale+ MPSo系列产品。最近,我我们还发布了跟全志合作了基于T507-H处理器产品的国产CPU模组。
米尔这些主流产品还获得“第四届中国IoT技术创新奖”、“第六届中国IoT产品金狮奖”等殊荣,目前公司产品被广泛应用于智慧城市、智慧交通、新能源、电力互联网、工业互联网、工业控制、智慧医疗、人工智能等领域,得到广大客户的一致好评。
此次获得深圳市专精特新中小企业认定,是对米尔电子创新能力、行业影响力及综合实力的高度认可。未来,米尔电子将充分发挥“专精特新”企业的示范引领作用,更加注重自主科技产品创新能力提升,持续加大创新研发投入力度,提供更高精度的CPU核心模组,为智能医疗、智能交通、智能安防、物联网、边缘计算、工业网关、人工智能等行业客户提供更专业的产品与服务,助力嵌入式行业的发展。
基于国产车规级处理器T507-H开发平台,如何用50行Python代码实现图传和人脸识别?
我们在米尔国产T507-H车规级处理器的开发板上尝试无线图传功能,并且叠加人脸识别检测视频中是否存在人脸。这次使用的是USB摄像头,可以直接接在开发板的接口上。
连接好摄像头后使用指令dmesg,看到能读取到摄像头。显示为HIK 720p Camera
接下来使用v4l来检测相机的详细参数。
安装v4l:sudo apt install v4l-utils
使用sudo v4l2-ctl --list-devices查看详细信息与设备号
这里使用的识别程序借鉴了这个CSDN博主的代码https://blog.csdn.net/qianbin3200896/article/details/123643791
在开始之前,先安装几个库。
sudo apt update完成更新
sudo apt install python3-opencv
pip3 install --upgrade pip
pip3 install zmq
pip3 install pybase64
首先在开发板上运行如下程序,读取摄像头数据并将数据发送至PC。
import cv2 import zmq import base64 def main(): ''' 主函数 ''' IP = '192.168.2.240' #上位机视频接受端的IP地址 # 创建并设置视频捕获对象 cap = cv2.VideoCapture(0) print("open? {}".format(cap.isOpened())) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 320) # 设置图像宽度 cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 240) # 设置图像高度 # 建立TCP通信协议 contest = zmq.Context() footage_socket = contest.socket(zmq.PAIR) footage_socket.connect('tcp://%s:5555'%IP)
接着需要在PC上接收开发板传来的信息,将视频分为一帧帧的内容分别存储和处理。当识别到人脸时会用红框圈出。
打开anaconda prompt运行如下内容
import cv2 import zmq import base64 import numpy as np def main(): ''' 主函数 ''' context = zmq.Context() footage_socket = context.socket(zmq.PAIR) footage_socket.bind('tcp://*:5555') cv2.namedWindow('Stream',flags=cv2.WINDOW_NORMAL | cv2.WINDOW_KEEPRATIO) while True: print("监听中") frame = footage_socket.recv_string() #接收TCP传输过来的一帧视频图像数据 img = base64.b64decode(frame) #把数据进行base64解码后储存到内存img变量中 npimg = np.frombuffer(img, dtype=np.uint8) #把这段缓存解码成一维数组 source = cv2.imdecode(npimg, 1) #将一维数组解码为图像source # img=cv2.imread('1.png',1) grayimg = cv2.cvtColor(source, cv2.COLOR_BGR2GRAY) face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') faces = face_cascade.detectMultiScale(grayimg, 1.2, 5) for (x, y, w, h) in faces: cv2.rectangle(source, (x, y), (x + w, y + h), (0, 0, 255), 2) cv2.imshow('frame', source) if cv2.waitKey(1) == ord('q'): capture.release() break if __name__ == '__main__': ''' 程序入口 ''' main()
正常工作时会一直print监听中。
此时可以在pc上弹出的窗口中看到摄像头画面,有人脸出现也能自动识别。不过存在一定的延迟。
MYD-YT507H开发板由米尔电子于2022年推出和销售,搭载了全志的车规级T507-H处理器,具有超高性能和丰富的外设资源,是优秀的国产工业CPU平台。屏蔽罩下的是全志的T507-H处理器:
米尔MYD-YT507H开发板
米尔匠心新品
基于瑞萨 RZ/G2L应用处理器的
MYC-YG2LX核心板及开发板
开放免费试用名额!
为了回馈广大米尔粉丝
米尔特别准备了3块
价值588元的开发板
发起试用活动
不仅可以免费体验
还可以获得京东购物卡
赶快扫码报名吧~
↓↓↓
试用活动信息
报名时间:即日起-2023年4月17日
试用截止时间:2023年6月30日
试用对象:嵌入式开发工程师/电子爱好者
试用形式:免费申请、有奖试用
试用产品:米尔MYD-YG2LX开发板,价值588元
试用名额:3名
试用套件型号:MYD-YG2L23
如需购买
米尔提供50元天猫新品优惠券
欢迎前往myir旗舰店下单
近些年,基于32位MPU的嵌入式处理器在各行各业得到广泛应用,它为嵌入式设计带来丰富的硬件功能和额外的性能,代表着嵌入式技术发展主流方向,其内核以Cortex-A7、Cortex-A8为主。随着工业物联网的快速发展,嵌入式系统朝着越来越复杂的方向演进,对嵌入式技术开发硬件需求也越来越高,设计工程师必须面对新挑战选择更高性能的处理器。
近日,米尔电子研发团队打造了新品:米尔MYC-YG2LX核心板及开发板,该款产品采用瑞萨RZ/G2L系列处理器的工业级应用芯片,瑞萨RZ/G2L基于64 位Arm®的高端处理器 (MPU),主频高达1.2GHz双核Arm Cortex-A55提供了强大的边缘计算能力,而且集成了双千兆以太网,多达7路串口,2路CANFD等丰富的通讯接口,能够满足复杂通讯的需求,为未来的更智能工业设备提供了更高性能的解决方案,引领工业市场从32位MPU向64位演进。
瑞萨RZ/G2L系列处理器,集成了ARM Cortex-A55高性能CPU和ARM Cortex-M33实时CPU,含Mali-G31 3D GPU,VPU支持H.264 1920*1080@ 30FPS视频编解码,具有丰富多媒体接口 MIPI-DSI/RGB/MIPI-CSI/Parallel CSI,支持1080P高清显示。工程师可以轻松实现高分辨率人机界面 (HMI)、嵌入式视觉、嵌入式人工智能(e-AI) 和实时控制,以及工业以太网连接。
瑞萨RZ/G2L系列处理器配备16位DDR4-1600/DDR3L-1333动态随机存储器、摄像头接口(MIPI-CSI/Parallel-IF)、显示器接口(MIPI-DSI/Parallel-IF)、USB2.0 接口、SDHI接口、CAN接口、千兆以太网接口,因此特别适用于入门级工业人机界面(HMI)和具有视频功能的嵌入式设备等应用。
MYC-YG2LX核心板以SMD贴片的形式焊接在底板,管脚包含邮票孔以及背面焊盘。板卡采用10层高密度PCB设计,沉金工艺生产,独立的接地信号层,无铅。
MYC-YG2LX核心板及开发板,提供丰富的软件资源以帮助客户尽快实现产品的开发,客户可以获取全部的Linux BSP源码及丰富的软件开发手册。文档资料包含产品手册、硬件用户手册、硬件设计指南、底板PDF原理图、Linux软件评估和开发指南等相关资料。
为保证上市产品的质量,MYC-YG2LX核心板及开发板经过严苛的测试,如信号测试、静电测试、老化测试、电磁兼容测试、认证测试等,还有包括低温运行、高温运行、高低温循环测试、低温通断电、高温通断电、低温存储、高温存储等在内的环境测试,确保产品品质。
为了方便开发者研究评估,米尔提供MYD-YG2LX开发板,采用12V/2A直流供电,搭载了2路千兆以太网接口、1路USB2.0协议M.2 B型插座的5G/4G模块接口、板载1路USB2.0协议的WIFI模块、1路HDMI显示接口、1路LVDS显示接口、1路RGB显示接口、1路音频输入输出接口、2路USB HOST Type A、1路 USB OTG Type-C接口、1路Micro SD接口、1路兼容树莓派扩展接口。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
附基于Xilinx -7Z010/20处理的MYS-7Z010/20-V2单板资料:
SOC:Xilinx Zynq-7010/20 高性能双核ARM Cortex-A9处理系统(PS),FPGA架构:可编程逻辑单元 XC7Z010(28K,约43万逻辑门 )XC7Z020(85K,约1.3M逻辑门)。
系统内存:1GB DDR3 SDRAM(512MB*2)
存储:QSPI 默认16MB,TF CARD槽(支持外部启动)
网络:一路千兆网口
视频:HDMI接口
USB:USB HOST*2
JTAG:1路PS/PL复用 JTAG接口(进行编程调试下载)
供电:5V/0.5A
为了开发的多样性,米尔还为Z-turn Board设计出专属Z-turn IO Cape,扩展了Z-turn 的普通IO,ADC,LCD,摄像头接口等,能搭配更多的外设模组共同使用。大大扩展了开发场景。
BMS全称是Battery Management System,电池管理系统。它是配合监控储能电池状态的设备,主要就是为了智能化管理及维护各个电池单元,防止电池出现过充电和过放电,延长电池的使用寿命,监控电池的状态。
图片摘自网络
电池储能系统由电池组、储能变流器(PCS)、能源管理系统(EMS)、电池管理系统(BMS)以及其他电气设备共同组成。电池组负责储电;储能变流器(PCS)控制电池组充放电过程,进行交直流的变换;能源管理系统(EMS)进行数据采集、网络监控和能量调度;电池管理系统(BMS)负责监控电池储能单元内各电池运行状态,保障储能单元安全运行。
BMS是电池储能系统的核心子系统之一,负责监控电池储能单元内各电池运行状态,保障储能单元安全可靠运行。BMS能够实时监控、采集储能电池的状态参数(包括但不限于单体电池电压、电池极柱温度、电池回路电流、电池组端电压、电池系统绝缘电阻等),并对相关状态参数进行必要的分析计算,得到更多的系统状态评估参数,并根据特定保护控制策略实现对储能电池本体的有效管控,保证整个电池储能单元的安全可靠运行。同时BMS可以通过自身的通信接口、模拟/数字输入输入接口与外部其他设备(PCS、EMS、消防系统等)进行信息交互,形成整个储能电站内各子系统的联动控制,确保电站安全、可靠、高效运行。
储能BMS因为电池组规模庞大,大多都是三层架构,在从控、主控之上,还有一层总控。
图:米尔MYD-YA157C-V3核心板及开发板
电池阵列管理单元BAU采用米尔ARM架构的MYC-YA157C-V3核心板,核心板基于STM32MP157处理器,Cortex-A7架构,支持1路千兆以太网,2路CAN接口和8路UART接口,满足设备与电池簇管理单元(BCU)、储能变流器(PCS)和能源管理系统(EMS)数据通信功能。大容量存储设计,支持系统长期数据存储;拥有丰富的接口,可连接高清触摸屏幕,显示各类数据信息,实现就地监控和能量管理;拥有千兆网口和RS232、RS485等数据通讯接口,可轻松应对各类场景下的多种功能需求;支持wifi模块数据通讯,带来更快地响应速度和物联网化构建需求。
核心板资源参数:
项目 |
参数 |
|
CPU |
STM32MP157AAC3,TFBGA361,12×12mm |
可选 |
电源管理芯片 |
STPMIC1APQR |
标配 |
DDR3 |
256MB/512MB/1GB容量可选 |
可选 |
NandFlash | 256MB/512MB/1GB容量可选 |
可选 |
eMMC |
标配4GB,容量可选(4GB,8GB,16GB等等) |
可选 |
Ethernet |
10M/100M/1000MPHY |
标配 |
ExpandIOConnector |
邮票孔连接 |
|
核心板工作温度 |
商业级:0℃~+70℃,工业级:-40℃~+85℃ |
可选 |
核心板尺寸 |
43mm×45mm×1.2mm |
|
核心板PCB工艺 |
8层板设计,沉金,独立的完整接地层,无铅工艺 |
|
概述
全志科技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
实时内核设计
实时补丁我们选择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调频功能,系统会因动态调频产生极大的偶然延迟)
实时性测试
空载测试
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.数据信息