DFU Mode without using Boot pins

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DFU Mode without using Boot pins

3,302 Views
chethan_k
Contributor II

Hi,

I am using LPC4337 in our new product, in that MCU USB pins permanently connected to windows host USB pins in the same PCB and the Boot pins we can't change in the field to update the firmware. 

My questions are below.

1. Can we change to DFU mode using command from the host to update the firmware without changing the hardware pins manually?

2. can we connect USB interface pins without using USB ID pin(Because these pins are connected by default in the same PCB)

Kindly give the solution.

Regards,

Chethan kumar

Labels (1)
0 Kudos
9 Replies

2,930 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

 

Hello,

I get the reply is do not recommend use this demo to update firmware, because the dfu demo and dfu-util maybe do not match, and also this only can download firmware to RAM. Original words as below:

"

The issue could be due to the mismatch between the dfu demo and dfu-util tool since a long time has gone with different revisions...

To let it work, below points should be noted:

1. The value of USB idProduct should be changed in the array USB_DeviceDescriptor[] in the file composit_usbdesc.c as below:

   change WBVAL(0x0089) to WBVAL(0x000c)

2. The size of command parameter -t should be changed to 512 with high speed USB. see below:

   dfu-util.exe -t 512 -D iram_blinky.bin

 Note:

  1. It appears this command needs to be executed twice to work fine. I don't know why. It might be still caused by something mismatched between demo and tool.

  2. The dfu demo only supports to load image to IRAM as mentioned in the readme.txt. This seems be not adaptable to update firmware in application.

"

 

Regards,

Alice

 

 

0 Kudos

3,214 Views
Anusha
Contributor I

Screenshot 2020-09-16 171031.pngIMG_2968.jpgScreenshot 2020-09-16 171131.png

 

 

Hi, I am using LPC4367 board, I have uploaded LPCopen3.02 dfu code into the target, once I plug into target USB it is showing as per below Image in the device manager.

When I open LPCscrypt and give boot_lpcscrypt.cmd, I am getting Error


Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Cannot open DFU device 1fc9:0089
Cannot open DFU device 1fc9:0089
No DFU capable USB device available

Can anyone help what is the solution

Thanks in Advance

 

0 Kudos

3,244 Views
bernhardfink
NXP Employee
NXP Employee

There is a way to enter DFU mode from application code, without modification of the boot pins.

I wrote that example a few years ago, when we still worked on the LPCWARE forum.

Look here:

LPC1857 jump to USB/DFU bootloader from the application

If I remember correctly, there is also another option to enter a firmware update using DFU, it's mentioned in this thread:

https://community.nxp.com/message/859230

But I'm not perfectly sure if this meets your needs, I did not check the LPCOpen code for this specific example mentioned in the thread.

The USB_ID pin should be irrelevant for this process.

Regards,

Bernhard.

0 Kudos

3,138 Views
chethan_k
Contributor II

Hi Bernhard,

I have tried in LPC4367 using LPC open DFU composite example to load the firmware using DFU mode.

it will go to DFU mode, when changing from AppIdle to DFUidle by DFU detach request it will get error.

is there any difference in LPC4367 and LPC4337 or the DFU utility not supporting to LPC4367.

Because i didn't change anything in the example so it should work right.

Can you please tell me any changes need to be done in the firmware for LPC4367 and LPCopen 3.02 DFU firmware will support this MCU or not?

 

Thanks in advance.

 

Best Regards,

Chethan Kumar

 

 

  

0 Kudos

3,103 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello ch,ethan_k,

I test on lpc4337 and lpc4367, all failed, lpcscript can't find DFU , the same error with 

Anusha.

Do you meaning lpc4337 can work well on your side? Could you please share your steps and screenshots , thanks.

Regards,

Alice

0 Kudos

3,096 Views
chethan_k
Contributor II

Hi Alice,

 

I didn't check with LPC4337.

Initially we were selected LPC4337into our project, due to EOL changed to LPC4367.

So i thought due to new MCU this example not supporting.

I am also facing same issue as Anusha.

You also observed same means what are the supported MCUs for this example?

or

need to change any ID in the example for different MCUs?

Can you please find this?

 

Regards,

Chethan kumar

0 Kudos

3,016 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello ,

Using  the dfu-util.exe tool can detect the DFU device,

Input ‘dfu-util.exe –l’ to discovery device.

Alice_Yang_0-1603183235858.png

 

Regards,

Alice

 

 

0 Kudos

3,011 Views
chethan_k
Contributor II

Hi

Device can detect but unable to load the firmware.

It will stop detecting when DFU detach request done to shift appidle to dfuidle mode.

 

Regards,

chethan kumar

0 Kudos

2,953 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello ,

 

I have submit a ticket to AE about this issue, will tell you after I get any reply.

 

Regards,

Alice

0 Kudos