完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个具有 mx287 cpu 的自定义平台(内核版本 5.4.188)。我正在使用 auart1 与 MCU 通信。MCU 每 4 毫秒发送一些数据。此设置使用“top”cmd 使 cpu 负载约为 20%。
此设置在旧内核 (2.36.35) 上以 ~0%-1% 的 cpu 负载工作正常 我附上了一个测试应用程序(serialTest.c)来测试 cpu MCU 通信。在 5.4.188 上,CPU 负载约为 20%,在 2.36.35 上约为 1%。 自定义板上 5.4.188 的 dts 位: &auart1 { pinctrl-names = "default"; pinctrl-0 = <&auart1_2pins_a>; 状态=“好的”; }; dts 定制板包括 imx28.dtsi 并使用运行 serialTest.c 应用程序时,数据在 5.4.188 上的显示方式如下: ~#./serialTest 15 15 15 我得到 15 个字节,因为我已经将 FIFO 级别选择从 ONE_QUARTER(FIFO 满时触发到 16 个条目中的至少 4 个)更改为 SEVEN_EIGHTS(16 个条目中的至少 14 个),从而将 cpu 负载从 ~20% 减少到 ~ 11%。 运行 serialTest.c 应用程序时,数据在 2.36.35 上是这样的: ~#./serialTest 45 30 54 30 45 30 45 30 54 因此,在 2.36.35 上,read 系统调用返回了更多的数据。根据我的理解,这是来自 uart 内存缓冲区(循环缓冲区)。一旦 FIFO 硬件缓冲区(16 字节)至少有 ONE_QUARTER,中断就会触发,CPU 会将数据从 FIFO 复制到循环缓冲区。稍后,读取系统调用将从循环缓冲区中请求此数据。 我还尝试了什么? 我试图查看调度程序时钟是否存在差异,因为有一些修改可以解决某种延迟问题。我看到 drivers/clocksource/mxs_timer.c 在固定计数模式下运行,而在 2.36.35 上它在匹配计数模式下运行。因此,我已切换到匹配计数模式以与 2.36.35 保持一致,但性能没有提高。 当可用数据大于 30 字节(只是为了与 2.6.35 内核对齐)时,我试图触发读取系统调用返回,并且我尝试通过修改 VMIN 字段来使用 termios。确实返回的数据在 VMIN 值附近,但仍然没有显着改善(我观察到 2% 的改善并达到 9% cpu 负载) 所以,我想看看是否还有其他一些指示?听起来无论我尝试什么,FIFO 硬件缓冲区上的所有内容都会变窄。在 2.6.35 上我得到 0-1% 的 cpu 消耗是怎么回事,在 5.4.188 上我得到 ~11%(在更改 FIFO 设置级别后,在 2.6.35 上没有 FIFO 设置级别修改,只是运行默认的)。 笔记: 2.6.35 没有使用 DMA,而在 5.4.188 上,这是由我们的自定义平台没有的 rtc/cts 信号的存在决定的。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1912个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36366 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4402 浏览 0 评论
6060 浏览 1 评论
6769 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4220 浏览 0 评论
624浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
620浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
614浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
697浏览 2评论
801浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 03:43 , Processed in 1.751336 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号