系统开发说明
Linux-RT内核与普通Linux内核在系统开发上基本保持一致,具体操作方法请参考《Linux系统开发手册》。
其中,使用Linux-RT内核进行系统开发仅在Kernel开发的配置与编译环节存在关键差异,其他开发流程(如U-Boot开发、Rootfs开发等)与普通内核完全一致。以下对Linux-RT内核的Kernel进行说明。
Kernel开发(Linux-RT)
Kernel配置
执行如下命令,进入LinuxSDK源码目录下的内核目录,打开图形配置界面。
Host# cd /home/tronlong/DR1/SDK_2025.1/
Host# ./build.sh kernelmenuconfig
图28
(1)配置RT内核
打开图形配置界面,依次打开"General setup -> Preemption Model(Preemptible Kernel(Low-Latency Desktop))"。
图 29
图 30
进入如图所示界面后,选择"Fully Preemptible Kernel (Real-Time)",接着选择保存。
备注:我司提供的普通内核版本默认为"Preemptible Kernel(Low-Latency Desktop)"
图31
图32
其他选项的参数解析如下表所示。
(2)配置Linux-RT内核定时器频率
打开图形配置界面,依次打开"Kernel Features-> Timer frequency(250 HZ)"。
图33
图34
进入如图所示界面后,选择"1000HZ",接着选择保存。
备注:普通Linux内核需要选择"250HZ"。
图35
图36
配置完成后,将配置选项自动保存到LinuxSDK根目录下的"linux/arch/arm64/configs/anlogic_dr1m90_defconfig"中,执行如下命令,检查RT内核是否配置成功。
Target# grep -nr "PREEMPT_RT" ./linux/arch/arm64/configs/anlogic_dr1m90_defconfig
Target# grep -nr "1000" ./linux/arch/arm64/configs/anlogic_dr1m90_defconfig
图 37
编译Kernel
请参考《Linux系统开发手册》的Kernel开发章节编译Kernel。
应用开发说明
Linux-RT内核与普通Linux内核在应用开发上保持一致,具体操作方法请参考《Linux应用开发手册》。
本章节说明Linux-RT应用开发组件支持情况并介绍基于Linux-RT内核开发的应用案例。
rt_gpio_ctrl案例
案例说明
通过创建一个基本的实时线程,在线程内触发LED的电平翻转,同时程序统计实时线程的调度延时,并通过示波器测出LED电平两次翻转的时间间隔。由于程序默认以最高优先级运行,为避免CPU资源被程序完全占用导致系统被挂起,因此在程序中增加100us的延时。程序原理大致如下:
(1)在Linux-RT内核上创建、使用实时线程。
(2)实时线程中,计算出触发LED电平翻转的系统调度延时。
案例测试
执行如下命令,查看程序运行参数。
Target# ./rt_gpio_ctrl -h
图38
参数解析:
-t:程序运行时间,单位s,默认为10s;
-d:延迟时间,单位us,默认为100us;
-h:打印帮助信息。
将案例bin目录下的可执行文件拷贝至评估板文件系统,并执行如下命令运行测试程序,指定程序以增加100us的时间延时运行,再按"Ctrl + C"退出测试,串口终端将打印程序统计的延迟数据,如下图所示。
Target# ./rt_gpio_ctrl -t 10 -d 100
图 39
同时使用示波器捕捉LED两次电平翻转之间的间隔,即可得到线程调度的延迟,测试点为R44电阻一端。
图40
本次测得电平翻转周期为∆x = 108us,如下图所示。由于程序中默认增加了100us的时间延时,因此实际延时应为:108us - 100us = 8us,与程序统计打印的Latency results平均值相近。
图41
执行如下命令,指定程序以增加0us的时间延时运行,再按"Ctrl + C"退出测试,串口终端将打印程序统计的延迟数据,如下图所示。
Target# ./rt_gpio_ctrl -t 10 -d 0
图 42
同时使用示波器捕捉LED两次电平翻转之间的间隔,即可得到线程调度的延迟,测试点为R44电阻一端。本次测得电平翻转周期为∆x = 5.3us,如下图所示。既实际延时为:5.3us,与程序统计打印的Latency results平均值相近。
图43
案例编译
将产品资料“4-软件资料Demolinux-rt-demosrt_gpio_ctrl”案例源码拷贝至Ubuntu。进入案例源码目录,执行如下命令,编译案例生成可执行文件。
Host# make CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++
图44
关键代码
(1)创建实时任务,具体操作包括内存锁定、线程堆栈内存设置、调度策略和优先级配置等。
图45
(2)在线程中打开LED文件节点,并对LED状态进行翻转。
图46
(3)统计调度时间延时情况。
图47
rt_input案例
案例说明
通过创建一个基本的实时线程,在线程内打开input设备,并对按键事件进行监听,然后触发LED的电平翻转,再通过示波器测量按键触发到LED电平翻转期间的实际耗时。程序原理大致如下:
(1)在Linux-RT内核上创建、使用实时线程。
(2)实时线程中对打开的input设备节点进行按键事件监听,通过判断监听得到的按键事件来触发LED的电平翻转。
案例测试
执行如下命令,查看用户输入按键对应的事件号。其中USER1(KEY2)对应的按键事件号为event0。
Target# cat /proc/bus/input/devices
图48
将案例bin目录下的可执行文件拷贝至评估板文件系统,并执行如下命令运行测试程序。程序运行后按下USER1(KEY2)用户输入按键点亮LED,松开按键后LED熄灭,再按"Ctrl + C"退出测试程序。
Target# ./rt_input /dev/input/event0
图49
同时分别使用示波器探头1测量LED电路R44电阻一端,使用示波器探头2测量按键USER1(KEY2)引脚1。
图50
图51
从按键下降沿触发的开始(下图蓝线)到LED上升沿触发的完成(下图黄线)的时间间隔,即为系统实时捕获按键输入时间并响应触发LED电平翻转的时间∆x,从图中可看到∆x = 138us。
图52
备注:在硬件特性上,由于按键电压由低电平上拉到高电平比较缓慢,因此本次测试实时事件的输入采用下降沿触发方式。
案例编译
将产品资料“4-软件资料Demolinux-rt-demosrt_input”案例源码拷贝至Ubuntu。进入案例源码目录,执行如下命令,编译案例生成可执行文件。
Host# make CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++
图53
关键代码
(1)创建实时任务,具体操作包括内存锁定、线程的堆栈内存设置、调度策略和优先级配置等。
图54
(2)在线程中打开input设备节点并监听按键事件,同时触发LED电平的翻转。
图55
- 随机文章
- 热门文章
- 热评文章
- PPP新机制重磅文件出炉 直指民企“入场难”
- 谷歌Pixel 8a和苹果iPhone SE 4谁更强?提前对比一波
- 5200米!我国最深地热科探井完钻
- 多项指标显示中小企业发展势头向好
- 华为新款 MateBook X Pro 官宣:将接入盘古大模型
- 华为iFTTR星光F50,编织无处不在的智能光联接,照亮每个家庭的智慧生活
- 黄金突破关键阻力?2432美元/盎司成为下一目标!
- Mysteel:需求端定价时,何类政策能够推动行情变化?
- 浙江法院启动知识产权司法保护宣传周
- 韩国就岸田文雄向靖国神社献祭品深表失望和遗憾
- 官宣!西安银行新任党委书记落定 由党委副书记、行长梁邦海出任
- 白银高位回落后仍面临危险,或进一步跌至26美元
- 无碍阅读 “听见”书香 视障阅读马拉松火热“开跑”
- 1“赛事+”提升城市“流量” 陕西商洛拓经济发展新“赛道”
- 2“五一”临近 持基过节的投资者要注意这几点
- 3华发股份:成功入选“人民优选”品牌 五一黄金周热销30亿
- 4非常危险!女子摔成粉碎性骨折!又是因为洞洞鞋,夏天多人中招……
- 5钟鼓楼老街区的古都新事
- 6金税四期试点上线,财税体制改革拉开帷幕!或有资金借道信创ETF基金(562030)逢跌进场布局
- 7到2027年产业规模达到2000亿元 浙江发布历史经典产业高质量发展计划
- 8初步数据:我国一季度经常账户顺差392亿美元
- 9IDC:24Q1全球PC出货量恢复增长 达到疫情前水平
- 10“发现山西之美”TDC旅游发现者大会举办:共话文旅新生态 邀客体验新玩法
- 11(中国新貌)“国宝”大熊猫:栖居更美境 云游更广天
- 12培养工程领域专业人才 非洲首所交通大学在尼日利亚投入使用
- 13瑞众保险副总裁俞德本出任公司临时负责人
- 1大裁员下,特斯拉两名顶级高管离职
- 2奇瑞将与欧洲高端品牌签署技术平台授权协议
- 32024中国长三角青年企业家交流大会在杭州举办
- 4雷克萨斯GX中东版 全部在售 2023款 2022款 2020款 2019款 2018款成都远卓名车雷克萨斯GX中东版团购钜惠20万 欢迎上门试驾
- 5零跑C16将搭载中创新航磷酸铁锂电池
- 6Q1净利微增7%,宁德时代股东总数较2023年年末减少10728户
- 7哪吒,需要背水一战
- 8“新”中有“机”!创新服务承接新流量 撬动消费升级
- 9非创始版SU7何时交付 小米:工厂生产爬坡 全力提高产能
- 10央媒评卧铺挂帘:谁买的票谁做主
- 11江西南昌首部“多规合一”国土空间总体规划获批
- 12方程豹旗舰硬派越野!豹8正式亮相:仰望U8“青春版”登场
- 13583家族/造型霸气 方程豹豹8量产版发布




