主题:[讨论] ESM3354 读取串口 性能瓶颈 共有101240人关注过本帖 |
---|
![]() barrypp |
1楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
[讨论] ESM3354 读取串口 性能瓶颈 ![]()
刚刚试了试,
程序仅仅读串口, 串口数据流量: 比较均匀的 32000字节/秒 就导致接近20%的cpu占用率,并且都是那个kworker占用的。 我不是很理解为啥会有这么高的cpu占用率?
|
单帖管理 | 引用 | 回复 ![]() |
![]() barrypp |
2楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
除了top外,有哪些好用的开源工具来查看cpu占用率呢?
另外usb是不是也是这样的,接收数据时看起来cpu占用率也很高
[此贴子已经被作者于2017-1-25 15:07:31编辑过]
|
单帖管理 | 引用 | 回复 ![]() |
![]() barrypp |
3楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
试了试FTDI的D2XX驱动。看起来cpu占用率依旧很高。开启DMA需要特殊的操作么?
|
单帖管理 | 引用 | 回复 ![]() |
![]() barrypp |
4楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
根据https://e2e.ti.com/support/arm/sitara_arm/f/791/t/550336,http://processors.wiki.ti.com/index.php/Sitara_Linux_UART_-_Switching_to_8250_Driver,https://e2e.ti.com/support/embedded/linux/f/354/t/485284,似乎AM3354最新的驱动可以支持UART(H/W flow control) + DMA
|
单帖管理 | 引用 | 回复 ![]() |
![]() barrypp |
5楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
需要硬件流控
|
单帖管理 | 引用 | 回复 ![]() |
![]() barrypp |
6楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
使用DMA后,串口的输入缓冲区依旧是4K么?
|
单帖管理 | 引用 | 回复 ![]() |
![]() barrypp |
7楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
使用dma后性能确实不错,同样的环境下,kworker仅有3%~5%
|
单帖管理 | 引用 | 回复 ![]() |
![]() barrypp |
8楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
有个严重问题,使用新内核后,eta503的驱动就没法载入了
insmod 返回 can't insert '/lib/modules/4.1.6/eta503_seria.ko' : unkown symbol in module or invalid parameter
[此贴子已经被作者于2017-2-14 12:23:19编辑过]
|
单帖管理 | 引用 | 回复 ![]() |
![]() barrypp |
9楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
新的bug,eta503的驱动载入后,/dev目录下没有扩展串口
dmesg里的eta503驱动的信息是 [ 10.150791] ->eta503_serial_probe [ 10.154243] eta503_serial_probe: ETA503(4 ports) are found [ 10.159829] of_get_named_gpiod_flags: can't parse 'gpio-irq' property of node '/eta503[0]' [ 10.159845] eta503_uart eta503: can't get irq -2 [ 10.164488] <-eta503_serial_probe -2 [ 10.170294] eta503_uart: probe of eta503 failed with error -2 [此贴子已经被作者于2017-2-14 15:06:00编辑过]
|
单帖管理 | 引用 | 回复 ![]() |