Hi,
Based on the approach from PYNQ-Helloworld, I am trying to make another kernel to convert color space from BGR to YUYV. However, when I run the example, the DMA hangs with following messages:
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-9-1f1665a48de6> in <module>
----> 1 run_kernel()
2 yuyv_image = Image.fromarray(out_buffer)
<ipython-input-8-90325e168ee0> in run_kernel()
3 dma.recvchannel.transfer(out_buffer)
4 bgr2yuyv_converter.write(0x00,0x81) # start
----> 5 dma.sendchannel.wait()
6 dma.recvchannel.wait()
/usr/local/share/pynq-venv/lib/python3.8/site-packages/pynq/lib/dma.py in wait(self)
206 while True:
207 error = self._mmio.read(self._offset + 4)
--> 208 if self.error:
209 if error & 0x10:
210 raise RuntimeError(
/usr/local/share/pynq-venv/lib/python3.8/site-packages/pynq/lib/dma.py in error(self)
115 """True if DMA engine is in an error state
116 """
--> 117 return self._mmio.read(self._offset + 4) & 0x70 != 0x0
118
119 def start(self):
/usr/local/share/pynq-venv/lib/python3.8/site-packages/pynq/mmio.py in read(self, offset, length, word_order)
146
147 # Read data out
--> 148 lsb = int(self.array[idx])
149 if length == 8:
150 if word_order == 'little':
KeyboardInterrupt:
Here is my source code diff.
Other configuration are the same with resize example.
And this is my example notebook: