LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Non volatile memory in PXIe-8135RT

Solved!
Go to solution

Is there any non-volatile memory in a PXIe-8135RT that I could use to store persistent information like a test serial number?  I don't want to use a file on the hard drive since that can be overwritten or erased after an OS update/reformat.

 

I have other cards as well if they might have some NV memory I could access:

 

FlexRIO's

PXI-6281's

 

Thanks,

 

XL600

0 Kudos
Message 1 of 13
(3,354 Views)

No, as far as I know the RT controller for PXI is essentially a small form factor PC that has a hard-drive for non-volatile storage. Perhaps you could use a small USB memory key in one of the USB slots?

 

Apparently some of the FlexRIO cards do have some on-board non-volatile storage that you can access, according to this article: http://digital.ni.com/public.nsf/allkb/4B0A422D33D86C8986257788006ED0DE

 

 


LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 2 of 13
(3,346 Views)

It looks like the PXIe-7966R doesn't have any, other than the FPGA of course.  My NI-1483's don't appear in the list either.

 

Most SFF PCs do have some EEPROM that can be written to (EX: In the clock or elsewhere) but accessing it via LabView RT would probably need a custom DLL.

0 Kudos
Message 3 of 13
(3,331 Views)
Solution
Accepted by topic author xl600

The PXIe-7966R does have user accesable non-volatile memory, a section of the flash on the board can store arbitrary attributes (I believe all FlexRIO FPGA modules have this, actually). You can access it using the VIs located in <vi.lib>\FlexRIO\FlexRIO_HostInterface.llb

The VIs are called FlexRIO_Host_CustomAttributeWrite.vi and FlexRIO_Host_CustomAttributeRead.vi

 

Stephen

0 Kudos
Message 4 of 13
(3,319 Views)

That works great!  Is there any documentation on how these VIs should be used or what the format is of the custom attribute area?

 

Thank you for the tip!

0 Kudos
Message 5 of 13
(3,300 Views)

There is some documentation in LabVIEW Help > FPGA Module > NI FlexRIO Help > NI FlexRIO LabVIEW Host VIs > FlexRIO Host Custom Attribute [Read|Write] that describes the terminals, but it's not very specific on the format.

The attribute terminal basically translates into an offset into the user accessible portion of the flash, in U32s, so I would probably just start at 0 and count up. You could create an enum or something similar to give names to the attributes if you end up having a lot. The user accessible portion of the flash on the 7966R is 64KB.

0 Kudos
Message 6 of 13
(3,295 Views)

I couldn't find any reference to this 64kB user area.  I would think the LOV for the 7966R would have mentioned it, but it only mentions the 4Mx16bit bitfile memory.  Is this 64kB a segment of that and if so, would it get erased during the bitfile storage or bitfile memory erasure process?

 

http://digital.ni.com/public.nsf/allkb/4203FD664AA1316386257A3A0062F6FC

 

Thanks again!

 

0 Kudos
Message 7 of 13
(3,234 Views)

I confirmed that erasing the bitfile per the letter of volatility for the 7966R does not appear to erase the custom attribute area (NI... this is probably something you should address in your letter of volatility).  That's good for my purposes but probably not a good thing for other users.

0 Kudos
Message 8 of 13
(3,223 Views)

You are correct that it's not part of the same segment as the bitfile storage, and doesn't get erased if you delete the bitfile from flash. The only things that will be written there are things you've written yourself, so if you end up needing to delete them in the future, you can just write 0s to any attributes you've previously written.

 

I've filed a corrective action request to make sure this flash segment is properly listed in our Letter of Volatility. Thanks for pointing out the error.

0 Kudos
Message 9 of 13
(3,215 Views)

Great, thanks!  The read/write is quite slow so erasing the entire area (64kB) would take many hours using the host custom attribute read/write functions.

0 Kudos
Message 10 of 13
(3,210 Views)