01-21-2014 02:50 AM
Hi
I've used the FIFO feature to transfer data between the RT VI and the FGPA code at that works great.
Now I need to use the Memory Item instead, and then LV can't deploy the RT VI when I try to use a simple Memory Item Write call.
I get this deploy error:
nirvimemoryEmulationManagerCache.vinirvimemoryEmulationManagerCache.vi loaded with errors on the target and was closed.
LabVIEW: (Hex 0x627) The function name for the LabVIEW:FpgaSdkMemoryEmulationWriteAddress:C node cannot be found in the library. To correct this error, right-click the Call Library Function Node and select Configure from the shortcut menu. Then choose the correct function name.
LabVIEW: (Hex 0x627) The function name for the LabVIEW:FpgaSdkMemoryEmulationReadAddress:C node cannot be found in the library. To correct this error, right-click the Call Library Function Node and select Configure from the shortcut menu. Then choose the correct function name.
Deployment completed with errors
It had to recompile some VIs as well:
...\LabVIEW 2013\vi.lib\rvi\DataTransferAndStorage\Container\Common\niFpgaContainerExecOnDevCompGetState.vi
...\LabVIEW 2013\vi.lib\rvi\DataTransferAndStorage\Container\Common\niFpgaContainerGetEmuInfo.vi
Has anybody used the Memory Read Write function from RT to FPGA on myRIO yet?
Cheers,
Mike
01-21-2014 04:39 AM
It looks like this VI is broken, and it's of course locked 😞
...\LabVIEW 2013\vi.lib\rvi\DataTransferAndStorage\Memory\Common\niFpgaMemoryDropXNodeFromState.vi
//Mike
01-21-2014 12:01 PM
Hey Mike,
I'm pretty sure that node is only supported on FPGA, not in RT and is not available on the palette on an RT VI. How did you place the node in the RT VI?
Thanks!
-Sam K
Join / Follow the LabVIEW Hacker Group on google+
01-21-2014 03:58 PM
Hi Sam
I created the Memory Item (just like the FIFO), under the FPGA target.
Then just dragged that node into the block diagram.
I want to Write into the memory buffer from the RT target and read it from the FPGA Code.
It works with FIFO, but in my design I need the FPGA code to not cycle through this data several times.
So If I can't use the Memory function (due to a bug), I need to use 2 FIFOs, and every time I read a value from the FIFO, I need to but in into the 2nd FIFO and use that the next cycle.
Are there any myRIO examples that uses the Memory functions?
I went through the Self Pace training as well, but only FIFOs are described in details there.
BTW, this product is awesome
Cheers,
Mike
01-21-2014 06:02 PM
You should use an "Invoke Method" VI from the FPGA Interface pallete to write to DMA FIFOs on the RT side.
Here's an example I found which demonstrates this: https://decibel.ni.com/content/docs/DOC-9893
01-22-2014 06:31 PM - edited 01-22-2014 06:33 PM
Thanks for the supprt.
For the FIFO, It works perfect.
I just drag the FIFO Node to the block diagram, and yes it becomes a invoke node on the RT VI.
So I want to the use Memory Buffer, so how do I write to that one from the RT VI?
I did the same as for the FIFO Node, and it becomes a Invoke node as well, no problem there.
But when I try to deploy it, it fails with my error.
I've not found any Memory Buffer Examples on the forum.
If you know any developers that managed to get it working on myRIO, I would like to get hold of them.
Cheers,
Mike
01-23-2014 03:00 PM
I think I know the problem.
You guys are write I should be able to add the Memory Block Item in the RT VI, but I can that is a bug I guess.
But the way I have to do it, is to use a FIFO from RT to FPGA, and the FGPA will add this data into the memory block.
01-23-2014 03:57 PM
I didn't get lot of that text corect
You guys are right.
I should NOT be able to add the Memory Block Item in the RT VI, but I can that is a bug I guess.
So I guess I have to use a FIFO from RT to FPGA, and the FGPA will add this data into a local memory block.
02-17-2014 10:55 AM - edited 02-17-2014 10:56 AM
Hello, it's interesting also a problem, when you place an FPGA project Myrio project could not compile and download to the target, someone knows why this happens
02-17-2014 11:03 AM
Hey @tom,
You'll have to give us a lot more details on what you're trying to do and what specifically is not working. You may want to start a new thread since it is likely not the same problem that MikaelHolmstrom had above.
Thanks!
-Sam K
Join / Follow the LabVIEW Hacker Group on google+