Thread 中讨论的其他器件:AM620-Q1
工具/软件:
您好:
我们使用 2 个 C 文件来测试通过 2 个流 (vc0 和 VC1) 捕获帧。
第一个应用程序在终止它时会导致主板挂起,然后再次运行它。但是第二个应用程序在 终止它时总是可以运行,然后再次运行它。
这两个文件都执行以下步骤:
打开文件
设置 v4l2_foramt
请求 v4l2_requestbuffers
mmap 缓冲区
querybuf
qbuf
流式传输
另外、还可以添加信号来执行 SIGTERM 函数、这将执行这些步骤
第五十章 50
流式传输
关闭 FD
munmap
不同之处在于第一个 C 文件:
而 1{
video0 dqbuf
video0 qbuf
video1 dqbuf
video1 qbuf
}
第二个 C 文件是
pthread th0
螺纹波 TH1
TH0 执行 while 1{
video0 dqbuf
video0 qbuf
}
TH1 在 1{
video1 dqbuf
video1 qbuf
}
如果运行 kill cmd、两者都会运行信号处理程序。
然后再次运行、第一个应用程序会导致电路板挂起。 但第二个应用可以正常运行。
关于 CSI2RX_STREAM_STATUS_REG 的寄存器:
kill 第一个应用时、所有位均为 0
当 KILL 第二个应用时、位 31 和位 8 为 1
您能帮助我们找到使用第一个应用程序导致电路板挂起的原因吗?