Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

X-NET LIN Multiple Flash Session Mixup

I'm developing a LabVIEW 2015 Parallel Firmware Flasher for a LIN product using a cDAQ-9178 Chassis and 8 NI-9866 C Modules. Single Unit Flash is fully functional, however when Im trying to run simultaneous flashing sessions it errors out and "bricks" the UUT's microcontroller.

Every LIN session is running with a dedicated hardware interface and using VIs with preallocated clone reentrant execution for separating resources. Is there something I'm missing when running simultaneous flashing sessions? Do I need to have different X-Net databases for each instance? I already duplicated the Firmware hex file for each instance to avoid file opening conflicts.

 

I would appreciate any kind of input regarding Multi Flash best practices for LIN over X-Net.

 

Thanks in advance,

 

Marcos.

 

0 Kudos
Message 1 of 4
(4,710 Views)

Hi Marcos,

 

The code you posted is for one Line, I assume, correct? What does your complete code look like? Is it just several copies of this code?

Also: What do you mean by bricks the UUT's microcontroller?

 

I'm not sure, but I seem to remember there being a maximum number of XNET Modules you can use in a cDAQ chassis simultaneously. Really unsure, though, it's late friday afternoon...

How many flash processes work in parallel? Do just two of them work?



Remember Cunningham's Law
0 Kudos
Message 2 of 4
(4,696 Views)

Hi Peter,

 

Yes, the code I posted is for 1 LIN Interface. When I said bricks is that the Flashing process is not complete and the UUT is no longer responsive to LIN commands. Im assuming that the Firmware Flashing Error sets it to an unknown state and I guess it need to be reflashed using a JTAG. The product we are flashing uses an ELMOS E523.30A chip.

 

I never heard about the maximum number of XNET modules in a cDAQ. We are looking for paralell flashing cell at the production line for panels coming out of SMT so multiflash capability is a must

 

The system is currently working perfeclty for 1 flashing process, the moment we enable a second one of the units errors out. I'm attaching the LIN Read VI that runs in parallel with the LIN Write.

 

0 Kudos
Message 3 of 4
(4,686 Views)

Hi Marcos,

 

I am sorry it took me so long to answer. Any updates on your end?

 

I would say, if it works with one Flash session and not with 2 or more this would suggest some resource being blocked. I am not saying this is because of a limitation in the cDAQ. Again: I remember it very vaguely and can't find any documentation on it anywhere...

 

Do you get an error from your program?

Also I find your approach of using multiple reentrant VIs a bit strange. It might be just fine, or it might be a source of error. What happens if you just copy/paste your code into one VI?



Remember Cunningham's Law
0 Kudos
Message 4 of 4
(4,615 Views)