LPC4357 Xplorer++ not booting after programming using DFU

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

LPC4357 Xplorer++ not booting after programming using DFU

950 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rahul1593 on Fri May 16 07:18:12 MST 2014
Hello,

I am using NGX LPC4357 Xplorer++ board.

I programmed it using DFU utility with a prebuilt example binary for ngx1830 xplorer included in the package. Soon after the programming completed, dfu showed no connection. But it never connected again after that.

Before programming the board, it was running the test code which came factory programmed in Quad SPI flash. It was running fine but after programming through DFU it isn't even booting from Quad SPI.

Example I programmed was 7KB in size and was in subfolder with name ngxxplorer1830. Following is the readme.txt file that was in the same folder(I didn't read it before programming).

mcb1857_enet_demo_iflash
********************************************************************************
This is the Keil MCB1857 ethernet demo that is meant to be programmed into FLASH.
The demo is from the LPC Open Platform software package.
One LED will toggle when an ethernet cable is inserted or removed.
Another LED will toggle on each ethernet packet received.

This image will only run from internal FLASH. This image does not contain the
correct checksum value and requires the DFU Utility tool to generate it during
programming.


Does this create any problem, because this binary was initially for Keil MCB1857.Board is not even running the test code in QSPI flash in any boot switch configuration.
Power led1 & led3(green) are always on. Reset led2 working fine but MCU is not booting.

I have attatched the folder with example binary and dfu configuration setting used.
Please help me with it !!!

Original Attachment has been moved to: ngxxplorer1830.rar

Labels (1)
0 Kudos
Reply
6 Replies

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by bavarian on Thu Apr 07 02:55:30 MST 2016
For the LPC4357 flash device the normal boot order looks like this:
[list=1]
  [*]  If valid content is found in internal flash bank #A, then it starts from there. "Valid" means in this case that at address 0x1A00001C there is a value which is the 2’s complement of the check-sum of the values in the 7 words before. See user manual UM10503 v2.0 chapter 6.4.4.1)
  [*]  If there is no valid flash content, the bootcode inspects the configuration of OTP bits and then the boot pins and selects the bootmode found there.
[/list]

This behavior can be changed by driving the ISP pin P2_7 to LOW during reset:
[list=1]
  [*]  With valid or invalid code in flash bank #A, the boot loader checks the OTP bits and/or the external boot pins to determine the communication port. If the OTP bits and boot pins are set to USART0 or USART3, the part enters UART ISP mode.
[/list]

What happens if you have a program inside flash bank #A which then crashes?
Well, this can prevent you from getting access via JTAG, in order to reprogram the part. You need to know that the debugger also applies a reset to the chip, then wait for some period before trying to catch the core. If the crashing code sends the bus system and the core into Nirwana, somehow the JTAG access can fail. So please do the same as with a hardware reset: press and keep the ISP button and then start the debugger. Then the debugger reset is applied when P2_7 is low, the bootloader enters the ISP bootmode, therefore it does not start the faulty code and the JTAG access should work.

What helps during development is this:
Always add a long wait loop right at the beginning of your code (right after the assembler startup, beginning of C code) which keeps the core busy for let's say 2 seconds, then the debugger can catch the core there, before any code later on could cause any problems.

Regards,
NXP Support Team
0 Kudos
Reply

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Prabhakaran_Raja on Thu Mar 31 04:29:00 MST 2016
Hi,

Please can you share the latest working code?
0 Kudos
Reply

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by studyembedded on Thu Feb 19 00:11:56 MST 2015
Hi Rahul,
               I have faced the similar problem ....and found that they have non working example code. I am from Bangalore so i just barged in to find out the truth...they agreed that their code is not working ....and a weeks time they forwarded me the working piece of code.....It is really funny!!
0 Kudos
Reply

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rahul1593 on Fri May 23 01:38:02 MST 2014

Ok, I understood the DFU problem.

But will the board boot from Quad SPI flash, if some valid flash image is present in its internal flash memory.
Because, after I programmed the internal flash bank A of LPC4357 through DFU, it never booted from External QSPI in any boot switch configuration on my board. I'm using NGX LPC4357 Xplorer++.

Also I programmed it with All-in-One binary image for this board in it's external QSPI flash, using NGX ColinkEx adapter. It programmed successfully but the board showed no activity.

And what about the boot select switch configuration ?
0 Kudos
Reply

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by TheFallGuy on Fri May 23 00:41:37 MST 2014
1. DFU will only be available if you do not have a valid flash image. If you have a valid flash image, then that will be booted and you will never see the dfu device
2. Booting an image for a different device and a different board is very unlikely to work. They are going to have different memory maps, different IO locations etc. You need to boot an image for your device/board
3. Unless the image you flash has USB driver code in it, you are not going to see it appear on USB on your PC


Quote:
Can anybody please tell me what could be the problem? It's not working with any boot switch configuration.
I don't think that there can be any problem with the boot rom !



Yes, see above.
0 Kudos
Reply

793 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rahul1593 on Thu May 22 10:19:09 MST 2014
I programmed the NGX LPC4357 Xplorer++ board using NGX Cocox ColinkEx adapter. It detected and programmed the board successfully but, again it looks all the same. Board doesn't show any activity. It doesn't even show any nxp device(Ports-COM&LPT) in Device Manager in Windows when connected to PC via USB. It shows no activity.

Can anybody please tell me what could be the problem?  It's not working with any boot switch configuration.
I don't think that there can be any problem with the boot rom !
0 Kudos
Reply