操作系统:海思Linux 3.10
硬件平台:Hi3516A
用途:业务流程里面需要把编码器输出的数据拷贝到一个缓存里,考虑到数据量比较大,希望使用硬件DMA加速。
用法:申请一块很大的物理内存,划分成若干个小内存片循环使用。
问题:发现发送线程会卡死。(编码器callback线程和发送线程是两个线程)
解决方法:不要申请一块大的物理内存,再划分成小内存用,申请若干块小内存。
原因分析:同一块物理内存不能同时读写。
操作系统:海思Linux 3.10
硬件平台:Hi3516A
用途:业务流程里面需要把编码器输出的数据拷贝到一个缓存里,考虑到数据量比较大,希望使用硬件DMA加速。
用法:申请一块很大的物理内存,划分成若干个小内存片循环使用。
问题:发现发送线程会卡死。(编码器callback线程和发送线程是两个线程)
解决方法:不要申请一块大的物理内存,再划分成小内存用,申请若干块小内存。
原因分析:同一块物理内存不能同时读写。