7.3.0 -> 7.6.2: debugger cannot upload image any more

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

7.3.0 -> 7.6.2: debugger cannot upload image any more

846 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by samc77 on Mon Feb 16 07:21:26 MST 2015
Hi,

I just upgraded from 7.3 to 7.6.3

It turns out, that its no more possible to start debugging, on image upload I get an error.
Tried SWD and JTAG, with Link2 and RedProbe. Same problem.
Switching back to 7.3 and it worked again.

Target is a LPC4330 with SPIFI Flash.

Log from the 7.6.2:
LPCXpresso Debug Driver v7.6 (Jan 28 2015 22:21:11 - crt_emu_lpc18_43_nxp build 50)
Found chip XML file in M:/controller_workspace/ControllerM4/make/LPC4330.xml
Emu(0): Conn&Reset. DpID: 4BA00477. Info: FTWIQD1MA
JTAG Frequency: 3000 KHz. RTCK: False. Vector catch: False.
Packet delay: 8  Poll delay: 8.
loaded v.2 External Flash Device on SPI LPC18_43_SPIFI_4MB_64KB.cfx
image 'LPC18/43 4MB(64KB) SPIFI Jan 22 2015 07:56:07'
NXP: LPC4330  Part ID: 0x00000000
Connected: was_reset=false. was_stopped=false
LPCXpressoPro Full License - Unlimited
Writing 251324 bytes to address 0x14000000 in Flash
Target error from Commit Flash write: Ef(50). Flash driver failed to initialize


From the 7.3.0:
LPCXpresso Debug Driver v7.3 (Jul  2 2014 14:56:05 - crt_emu_lpc18_43_nxp build 10)
Found chip XML file in M:/workspace2/ControllerM4/make/LPC4330.xml
Emu(0): Conn&Reset. DpID: 2BA01477. Info: FTWIQD1MA
SWD Frequency: 3000 KHz. RTCK: False. Vector catch: False.
Packet delay: 0  Poll delay: 0.
Loaded LPC18_43_SPIFI_4MB_64KB.cfx: LPC18/43 4MB(64KB) SPIFI @0x14000000 (Jul  1 2014 11:51:50)  External Flash Device on SPI
NXP: LPC4330  Part ID: 0x00000000
Connected: was_reset=false. was_stopped=false
v LPCXpressoPro Full License - Unlimited
Writing 251324 bytes to address 0x14000000 in Flash
Erased/Wrote page  0-0 with 65536 bytes in 1213msec
Erased/Wrote page  1-1 with 65536 bytes in 1378msec
Erased/Wrote page  2-2 with 65536 bytes in 1381msec
Erased/Wrote page  3-3 with 54716 bytes in 1228msec
Flash Write Done
Flash Program Summary: 251324 bytes in 5.20 seconds (47.18 KB/sec)
Core reset only (VECTRESET)

Stopped: Breakpoint #2


Any ideas?

Thanks,
Simon
0 Kudos
19 Replies

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by samc77 on Fri Jun 26 09:06:35 MST 2015
Hi,

thought it would be clear by the history of the thread.

I tried to get a modified flash driver working already with 7.6.2 before, but it didnt.
Meanwhile I made openocd work and got more insight whats happening behind the scenes.

Finally, after that I also got the flash driver for LPCxpresso working. I used 7.8.0 as base.
The files attached contain all necessary modifications.

I tried mostly the same before with old LPCxpresso 7.6.2 and it didnt work out. After my experiance with openocd I would guess that you changed the way the chip is reset before the flash upload is started.

So, if the attached code is incorporated into your driver, the Chingis flash chip works again.

In the app I did no changes at all. But I can tell what might have caused issues: the SPIFI might have been disabled in the CCU or switched to a divider. At least the openocd driver didnt catch all this. I also found that it is still the only reliable way to either do a hard reset by srst or write a 1 to 0x40053100 ( if core access is possible at that time ) before the flash driver is started.
I am not using any LPCware stuff in the app. Only low level Spifi access.

Thanks,
Simon
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Fri Jun 26 08:48:51 MST 2015
Can you confirm exactly what you are reporting here please?

Are you saying that using the LPCXpresso SPIFI flash driver you had previously created with LPCXpresso 7.8.0 you still had problems?

But if you then also rebuild the LPCXpresso SPIFI flash driver using the files you attached in your previous post, LPCXpresso 7.8.0 would then program without any problems?

And have you changed your application code at all - i.e. is the code in your application using these new SPIFI lib files too?

Regards,
LPCXpresso Support.
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by samc77 on Wed Jun 24 13:14:58 MST 2015
Hi,

so I gave it a try with the 7.8.0 version again.

Finally, it seems to be working. I had to disable the quad read mode for my chinese flash chip, then the app was able to boot. The problem with not being able to download after the app was running before disappeared. Not sure if its a change in the flash driver or to the reset behaviour of the probe, maybe the latter.

Anyway, here are updated files (based on the 7.8.0 version).
I would be happy if you could include this into the next release.

Thanks,
Simon
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Mon Apr 27 23:51:23 MST 2015

Quote: samc77
Hi,
I was hoping that updating LPCxpresso to 7.7.2 solves my problem with writing to SPIFI on the Pm25LQ032C.


No, sorry, this is still in the queue.


Quote:

I tried again to compile my own one. And again, it works like this:
erase flash with 7.3.0 flash driver -> program with self compiled one: works fine and extremely fast.
Then stopping the debugger, starting it again -> again timeout error in the beginning.

I do not really know what error happens there.

So my question: is there a way to debug the flash driver while it actually runs in release mode?
In debug mode it always runs fine, no problems.


There is no easy way to debug a release flash driver.

The first thing to try would be see if there is any difference in behaviour seen if you enable "vector catch" functionality in the launch configuration.

http://www.lpcware.com/content/faq/lpcxpresso/regaining-debug-access
http://www.lpcware.com/content/faq/lpcxpresso/launch-configuration-menu

Please post debug logs from using LPCXpresso 7.7.2, both with this enabled and without - ensuring that you switch on the "DEBUG TRACE" option as below:

* use the "Preferences..." dialogue:
* ensure the LPCXpresso group of options are expanded
* select the "Debug Options (Advanced)" choice
* fill in the box labelled "Extended debug trace (DEBUG_TRACE)" with 4095

http://www.lpcware.com/content/faq/lpcxpresso/debug-log

Regards,
LPCXpresso Support
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by samc77 on Mon Apr 27 12:21:50 MST 2015
Hi,

I was hoping that updating LPCxpresso to 7.7.2 solves my problem with writing to SPIFI on the Pm25LQ032C.

But no, didnt.
The flash drivers seem almost unchanged, thats sad.

I tried again to compile my own one. And again, it works like this:
erase flash with 7.3.0 flash driver -> program with self compiled one: works fine and extremely fast.
Then stopping the debugger, starting it again -> again timeout error in the beginning.

I do not really know what error happens there.

So my question: is there a way to debug the flash driver while it actually runs in release mode?
In debug mode it always runs fine, no problems.

Please give me your suggestions how to narrow down that issue.

Thanks,
Simon
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Sun Mar 29 09:48:06 MST 2015

Quote: charchar
I can try to block out the spifi parts, upload that, and then try to debug/upload from lpcxpresso.  Is that a worthwhile test? 


Yes, please - doing this certainly might help to narrow down the cause.


Quote:

Happy to provide the project.  I think you guys might even have our target.  Feel free to send me an email.



If you aren't able to post an example project up on the forum that triggers the problem, then we can certainly send you a direct ping. I'm not sure what target you are referring to, but we certainly have a ready supply of LPC-Link2's with W25Q80 devices fitted that we can use.

Regards,
LPCXpresso Support
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by charchar on Fri Mar 27 09:11:35 MST 2015
The application does have code that writes to flash for nonvolatile storage.  The code that writes to flash is only called upon specific user requests --- in other words the spifi-writing/erasing code isn't running when LPCXpresso is trying to upload the program image into spifi.  I can try to block out the spifi parts, upload that, and then try to debug/upload from lpcxpresso.  Is that a worthwhile test? 

Happy to provide the project.  I think you guys might even have our target.  Feel free to send me an email.

thanks

0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Fri Mar 27 07:39:23 MST 2015
Please could you also answer this...


Quote:
In addition, can you tell us anything about the application you already have programmed into flash - in particular is it doing any writes to SPIFI flash memory?



It certainly sounds like something in your image is somehow upsetting the ability to connect. Thus we really need to work out what.

Might you even be able to provide us with your project?

Regards,
LPCXpresso Support
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by charchar on Fri Mar 27 07:16:48 MST 2015
So, yes, ISP mode works usually.  It's fragile --- it seems to conflict with the LPCLink2's ISP mode (?) but once it's configured in the right state, flash upload works.  Once it uploads though, the debugger fails with a "lost connection" error.   Both the flash upload and debugging worked without a hitch in the 7.3 version.  

I also tried the older driver (LPC18_43_SPIFI_1MB_4KB.cfx) in the 7.3.0 directory but no noticeable difference.

The exact part number is W25Q80BVSNIG.

thanks

0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Fri Mar 27 05:02:48 MST 2015
Can you confirm if booting your board into ISP mode before starting a debug connection allows a successful debug connection?

http://www.lpcware.com/content/faq/lpcxpresso/regaining-debug-access

In addition, can you tell us anything about the application you already have programmed into flash - in particular is it doing any writes to SPIFI flash memory?

Note that the flash driver technology used by the LPCxpresso 7.3.0 driver you are using is different to that in LPCXpresso 7.6.2. It would be interesting to know if plugging the old driver into the latest LPCXpresso release also gets you working? [The flash drivers can be found in the \lpcxpresso\bin\Flash subdirectory]

Finally, can you also confirm the exact markings on the SPIFI device fitted to your board?

Regards,
LPCXpresso Support
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by charchar on Thu Mar 26 14:58:00 MST 2015
I'm having a very similar issue since I upgraded to 7.6.2. 

I was able to upload to flash and debug fine in version 7.3.0.  Now I get a timeout error upon uploading into flash.  I'm using a W25Q80 flash device.  I've tried the LPC18_43_SPIFI_1MB_4KB.cfx and the LPC18_43_W25Q80BV.cfx drivers.  They both timeout error.

Here is the log:

LPCXpresso RedlinkMulti Driver v7.6 (Feb  2 2015 09:45:13 - crt_emu_cm_redlink build 253)
Found chip XML file in C:/CharmedLabs/cmucam/gcc/src/device/main_m4/SPIFI/LPC4330.xml
Reset Vector Catch set
AP bus check ok
PC: FFFFFFFE  SP: FFFFFFFC  PSR: 01000000
Emu(0): Conn&Reset. DpID: 4BA00477. CpuID: 410FC240. Info: (null)
Debug protocol: JTAG. RTCK: Disabled. Vector catch: Enabled.
loaded v.2 External Flash Device on SPI LPC18_43_SPIFI_1MB_4KB.cfx
image 'LPC18/43 1MB(64KB) SPIFI Jan 22 2015 07:55:56'
Non-default CRT_DEBUG_TRACE set (to 0xFFF)
(Driver has verify, has erase, does verify on program)
Connected: was_reset=true. was_stopped=true
LPCXpresso Free License - Download limit is 256K
Flash Start
FLASH algorithm download complete (at 0x10000000 6756 bytes)
BEFORE execution
Driver Register State
R0:     10006268
R1:     00000000
R2:     00000000
R3:     00000000
R4:     00000000
R5:     00000000
R6:     00000000
R7:     00000000
R8:     00000000
R9:     00000000
R10:    00000000
R11:    00000000
R12:    00000000
SP:     10002268
LR:     10000035
PC:     10000034
xPSR:   01000000
MSP:    10002268
PSP:    10002268
started processor at 0x10000035 (stack at 0x10002268 mail at 0x10006268)
starting - status 0x0 wait 0/301
starting - status 0x0 wait 1/301
starting - status 0x0 wait 2/301
starting - status 0x0 wait 3/301
starting - status 0x0 wait 4/301
starting - status 0x0 wait 5/301
starting - status 0x0 wait 6/301
starting - status 0x0 wait 7/301
starting - status 0x0 wait 8/301
starting - status 0x0 wait 9/301
starting - status 0x0 wait 10/301
starting - status 0x0 wait 11/301
starting - status 0x0 wait 12/301
starting - status 0x0 wait 13/301
starting - status 0x0 wait 14/301
starting - status 0x0 wait 15/301
starting - status 0x0 wait 16/301
starting - status 0x0 wait 17/301
starting - status 0x0 wait 18/301
starting - status 0x0 wait 19/301
starting - status 0x0 wait 20/301
starting - status 0x0 wait 21/301
starting - status 0x0 wait 22/301
starting - status 0x0 wait 23/301
starting - status 0x0 wait 24/301
starting - status 0x0 wait 25/301
starting - status 0x0 wait 26/301
starting - status 0x0 wait 27/301
starting - status 0x0 wait 28/301
starting - status 0x0 wait 29/301
starting - status 0x0 wait 30/301
starting - status 0x0 wait 31/301
starting - status 0x0 wait 32/301
starting - status 0x0 wait 33/301
starting - status 0x0 wait 34/301
starting - status 0x0 wait 35/301
starting - status 0x0 wait 36/301
starting - status 0x0 wait 37/301
starting - status 0x0 wait 38/301
starting - status 0x0 wait 39/301
starting - status 0x0 wait 40/301
starting - status 0x0 wait 41/301
starting - status 0x0 wait 42/301
starting - status 0x0 wait 43/301
starting - status 0x0 wait 44/301
starting - status 0x0 wait 45/301
starting - status 0x0 wait 46/301
starting - status 0x0 wait 47/301
starting - status 0x0 wait 48/301
starting - status 0x0 wait 49/301
starting - status 0x0 wait 50/301
starting - status 0x0 wait 51/301
starting - status 0x0 wait 52/301
starting - status 0x0 wait 53/301
starting - status 0x0 wait 54/301
starting - status 0x0 wait 55/301
starting - status 0x0 wait 56/301
starting - status 0x0 wait 57/301
starting - status 0x0 wait 58/301
starting - status 0x0 wait 59/301
starting - status 0x0 wait 60/301
starting - status 0x0 wait 61/301
starting - status 0x0 wait 62/301
starting - status 0x0 wait 63/301
starting - status 0x0 wait 64/301
starting - status 0x0 wait 65/301
starting - status 0x0 wait 66/301
starting - status 0x0 wait 67/301
starting - status 0x0 wait 68/301
starting - status 0x0 wait 69/301
starting - status 0x0 wait 70/301
starting - status 0x0 wait 71/301
starting - status 0x0 wait 72/301
starting - status 0x0 wait 73/301
starting - status 0x0 wait 74/301
starting - status 0x0 wait 75/301
starting - status 0x0 wait 76/301
starting - status 0x0 wait 77/301
starting - status 0x0 wait 78/301
starting - status 0x0 wait 79/301
starting - status 0x0 wait 80/301
starting - status 0x0 wait 81/301
starting - status 0x0 wait 82/301
starting - status 0x0 wait 83/301
starting - status 0x0 wait 84/301
starting - status 0x0 wait 85/301
starting - status 0x0 wait 86/301
starting - status 0x0 wait 87/301
starting - status 0x0 wait 88/301
starting - status 0x0 wait 89/301
starting - status 0x0 wait 90/301
starting - status 0x0 wait 91/301
starting - status 0x0 wait 92/301
starting - status 0x0 wait 93/301
starting - status 0x0 wait 94/301
starting - status 0x0 wait 95/301
starting - status 0x0 wait 96/301
starting - status 0x0 wait 97/301
starting - status 0x0 wait 98/301
starting - status 0x0 wait 99/301
starting - status 0x0 wait 100/301
starting - status 0x0 wait 101/301
starting - status 0x0 wait 102/301
starting - status 0x0 wait 103/301
starting - status 0x0 wait 104/301
starting - status 0x0 wait 105/301
starting - status 0x0 wait 106/301
starting - status 0x0 wait 107/301
starting - status 0x0 wait 108/301
starting - status 0x0 wait 109/301
starting - status 0x0 wait 110/301
starting - status 0x0 wait 111/301
starting - status 0x0 wait 112/301
starting - status 0x0 wait 113/301
starting - status 0x0 wait 114/301
starting - status 0x0 wait 115/301
starting - status 0x0 wait 116/301
starting - status 0x0 wait 117/301
starting - status 0x0 wait 118/301
starting - status 0x0 wait 119/301
starting - status 0x0 wait 120/301
starting - status 0x0 wait 121/301
starting - status 0x0 wait 122/301
starting - status 0x0 wait 123/301
starting - status 0x0 wait 124/301
starting - status 0x0 wait 125/301
starting - status 0x0 wait 126/301
starting - status 0x0 wait 127/301
starting - status 0x0 wait 128/301
starting - status 0x0 wait 129/301
starting - status 0x0 wait 130/301
starting - status 0x0 wait 131/301
starting - status 0x0 wait 132/301
starting - status 0x0 wait 133/301
starting - status 0x0 wait 134/301
starting - status 0x0 wait 135/301
starting - status 0x0 wait 136/301
starting - status 0x0 wait 137/301
starting - status 0x0 wait 138/301
starting - status 0x0 wait 139/301
starting - status 0x0 wait 140/301
starting - status 0x0 wait 141/301
starting - status 0x0 wait 142/301
starting - status 0x0 wait 143/301
starting - status 0x0 wait 144/301
starting - status 0x0 wait 145/301
starting - status 0x0 wait 146/301
starting - status 0x0 wait 147/301
starting - status 0x0 wait 148/301
starting - status 0x0 wait 149/301
starting - status 0x0 wait 150/301
starting - status 0x0 wait 151/301
starting - status 0x0 wait 152/301
starting - status 0x0 wait 153/301
starting - status 0x0 wait 154/301
starting - status 0x0 wait 155/301
starting - status 0x0 wait 156/301
starting - status 0x0 wait 157/301
starting - status 0x0 wait 158/301
starting - status 0x0 wait 159/301
starting - status 0x0 wait 160/301
starting - status 0x0 wait 161/301
starting - status 0x0 wait 162/301
starting - status 0x0 wait 163/301
starting - status 0x0 wait 164/301
starting - status 0x0 wait 165/301
starting - status 0x0 wait 166/301
starting - status 0x0 wait 167/301
starting - status 0x0 wait 168/301
starting - status 0x0 wait 169/301
starting - status 0x0 wait 170/301
starting - status 0x0 wait 171/301
starting - status 0x0 wait 172/301
starting - status 0x0 wait 173/301
starting - status 0x0 wait 174/301
starting - status 0x0 wait 175/301
starting - status 0x0 wait 176/301
starting - status 0x0 wait 177/301
starting - status 0x0 wait 178/301
starting - status 0x0 wait 179/301
starting - status 0x0 wait 180/301
starting - status 0x0 wait 181/301
starting - status 0x0 wait 182/301
starting - status 0x0 wait 183/301
starting - status 0x0 wait 184/301
starting - status 0x0 wait 185/301
starting - status 0x0 wait 186/301
starting - status 0x0 wait 187/301
starting - status 0x0 wait 188/301
starting - status 0x0 wait 189/301
starting - status 0x0 wait 190/301
starting - status 0x0 wait 191/301
starting - status 0x0 wait 192/301
starting - status 0x0 wait 193/301
starting - status 0x0 wait 194/301
starting - status 0x0 wait 195/301
starting - status 0x0 wait 196/301
starting - status 0x0 wait 197/301
starting - status 0x0 wait 198/301
starting - status 0x0 wait 199/301
starting - status 0x0 wait 200/301
starting - status 0x0 wait 201/301
starting - status 0x0 wait 202/301
starting - status 0x0 wait 203/301
starting - status 0x0 wait 204/301
starting - status 0x0 wait 205/301
starting - status 0x0 wait 206/301
starting - status 0x0 wait 207/301
starting - status 0x0 wait 208/301
starting - status 0x0 wait 209/301
starting - status 0x0 wait 210/301
starting - status 0x0 wait 211/301
starting - status 0x0 wait 212/301
starting - status 0x0 wait 213/301
starting - status 0x0 wait 214/301
starting - status 0x0 wait 215/301
starting - status 0x0 wait 216/301
starting - status 0x0 wait 217/301
starting - status 0x0 wait 218/301
starting - status 0x0 wait 219/301
starting - status 0x0 wait 220/301
starting - status 0x0 wait 221/301
starting - status 0x0 wait 222/301
starting - status 0x0 wait 223/301
starting - status 0x0 wait 224/301
starting - status 0x0 wait 225/301
starting - status 0x0 wait 226/301
starting - status 0x0 wait 227/301
starting - status 0x0 wait 228/301
starting - status 0x0 wait 229/301
starting - status 0x0 wait 230/301
starting - status 0x0 wait 231/301
starting - status 0x0 wait 232/301
starting - status 0x0 wait 233/301
starting - status 0x0 wait 234/301
starting - status 0x0 wait 235/301
starting - status 0x0 wait 236/301
starting - status 0x0 wait 237/301
starting - status 0x0 wait 238/301
starting - status 0x0 wait 239/301
starting - status 0x0 wait 240/301
starting - status 0x0 wait 241/301
starting - status 0x0 wait 242/301
starting - status 0x0 wait 243/301
starting - status 0x0 wait 244/301
starting - status 0x0 wait 245/301
starting - status 0x0 wait 246/301
starting - status 0x0 wait 247/301
starting - status 0x0 wait 248/301
starting - status 0x0 wait 249/301
starting - status 0x0 wait 250/301
starting - status 0x0 wait 251/301
starting - status 0x0 wait 252/301
starting - status 0x0 wait 253/301
starting - status 0x0 wait 254/301
starting - status 0x0 wait 255/301
starting - status 0x0 wait 256/301
starting - status 0x0 wait 257/301
starting - status 0x0 wait 258/301
starting - status 0x0 wait 259/301
starting - status 0x0 wait 260/301
starting - status 0x0 wait 261/301
starting - status 0x0 wait 262/301
starting - status 0x0 wait 263/301
starting - status 0x0 wait 264/301
starting - status 0x0 wait 265/301
starting - status 0x0 wait 266/301
starting - status 0x0 wait 267/301
starting - status 0x0 wait 268/301
starting - status 0x0 wait 269/301
starting - status 0x0 wait 270/301
starting - status 0x0 wait 271/301
starting - status 0x0 wait 272/301
starting - status 0x0 wait 273/301
starting - status 0x0 wait 274/301
starting - status 0x0 wait 275/301
starting - status 0x0 wait 276/301
starting - status 0x0 wait 277/301
starting - status 0x0 wait 278/301
starting - status 0x0 wait 279/301
starting - status 0x0 wait 280/301
starting - status 0x0 wait 281/301
starting - status 0x0 wait 282/301
starting - status 0x0 wait 283/301
starting - status 0x0 wait 284/301
starting - status 0x0 wait 285/301
starting - status 0x0 wait 286/301
starting - status 0x0 wait 287/301
starting - status 0x0 wait 288/301
starting - status 0x0 wait 289/301
starting - status 0x0 wait 290/301
starting - status 0x0 wait 291/301
starting - status 0x0 wait 292/301
starting - status 0x0 wait 293/301
starting - status 0x0 wait 294/301
starting - status 0x0 wait 295/301
starting - status 0x0 wait 296/301
starting - status 0x0 wait 297/301
starting - status 0x0 wait 298/301
starting - status 0x0 wait 299/301
starting - status 0x0 wait 300/301
starting - status 0x0 wait 301/301
halted processor on startup timeout
V.2 flash driver never became ready (after 1505ms) - status still 0x0
SP:     10002248
LR:     FFFFFFF9
PC:     FFFFFFFE
xPSR:   01000003
AFTER timeout
Driver Register State
R0:     10006268
R1:     00000000
R2:     00000000
R3:     00000000
R4:     00000000
R5:     00000000
R6:     00000000
R7:     00000000
R8:     00000000
R9:     00000000
R10:    00000000
R11:    00000000
R12:    00000000
SP:     10002248
LR:     FFFFFFF9
PC:     FFFFFFFE
xPSR:   01000003
MSP:    10002248
PSP:    10002268
10002264:  xPSR:   01000000
10002260:  VECTPC: 10000034
1000225C:  LR:     10000035
10002258:  R12:    00000000
10002254:  R3:     00000000
10002250:  R2:     00000000
1000224C:  R1:     00000000
10002248:  R0:     10006268
BFAR:   E000EDF8
CFSR:   00000000
HFSR:   00000002
DFSR:   00000000
AFSR:   00000000
Flash Driver V.2 startup - rc Ef(9). Flash erase or write operation aborted.
FLASH driver initialization failed - rc Ef(9). Flash erase or write operation aborted.
Flash End
10006268: v.2 cmd 0100 (Terminate) param [00000000, 00000000, 00000000]
op Terminate cmd 0x100 status 0x0 wait 0/101 (0ms)
op Terminate cmd 0x100 status 0x0 wait 1/101 (5ms)
op Terminate cmd 0x100 status 0x0 wait 2/101 (10ms)
op Terminate cmd 0x100 status 0x0 wait 3/101 (15ms)
op Terminate cmd 0x100 status 0x0 wait 4/101 (20ms)
op Terminate cmd 0x100 status 0x0 wait 5/101 (25ms)
op Terminate cmd 0x100 status 0x0 wait 6/101 (30ms)
op Terminate cmd 0x100 status 0x0 wait 7/101 (35ms)
op Terminate cmd 0x100 status 0x0 wait 8/101 (40ms)
op Terminate cmd 0x100 status 0x0 wait 9/101 (45ms)
op Terminate cmd 0x100 status 0x0 wait 10/101 (50ms)
op Terminate cmd 0x100 status 0x0 wait 11/101 (55ms)
op Terminate cmd 0x100 status 0x0 wait 12/101 (60ms)
op Terminate cmd 0x100 status 0x0 wait 13/101 (65ms)
op Terminate cmd 0x100 status 0x0 wait 14/101 (70ms)
op Terminate cmd 0x100 status 0x0 wait 15/101 (75ms)
op Terminate cmd 0x100 status 0x0 wait 16/101 (80ms)
op Terminate cmd 0x100 status 0x0 wait 17/101 (85ms)
op Terminate cmd 0x100 status 0x0 wait 18/101 (90ms)
op Terminate cmd 0x100 status 0x0 wait 19/101 (95ms)
op Terminate cmd 0x100 status 0x0 wait 20/101 (100ms)
op Terminate cmd 0x100 status 0x0 wait 21/101 (105ms)
op Terminate cmd 0x100 status 0x0 wait 22/101 (110ms)
op Terminate cmd 0x100 status 0x0 wait 23/101 (115ms)
op Terminate cmd 0x100 status 0x0 wait 24/101 (120ms)
op Terminate cmd 0x100 status 0x0 wait 25/101 (125ms)
op Terminate cmd 0x100 status 0x0 wait 26/101 (130ms)
op Terminate cmd 0x100 status 0x0 wait 27/101 (135ms)
op Terminate cmd 0x100 status 0x0 wait 28/101 (140ms)
op Terminate cmd 0x100 status 0x0 wait 29/101 (145ms)
op Terminate cmd 0x100 status 0x0 wait 30/101 (150ms)
op Terminate cmd 0x100 status 0x0 wait 31/101 (155ms)
op Terminate cmd 0x100 status 0x0 wait 32/101 (160ms)
op Terminate cmd 0x100 status 0x0 wait 33/101 (165ms)
op Terminate cmd 0x100 status 0x0 wait 34/101 (170ms)
op Terminate cmd 0x100 status 0x0 wait 35/101 (175ms)
op Terminate cmd 0x100 status 0x0 wait 36/101 (180ms)
op Terminate cmd 0x100 status 0x0 wait 37/101 (185ms)
op Terminate cmd 0x100 status 0x0 wait 38/101 (190ms)
op Terminate cmd 0x100 status 0x0 wait 39/101 (195ms)
op Terminate cmd 0x100 status 0x0 wait 40/101 (200ms)
op Terminate cmd 0x100 status 0x0 wait 41/101 (205ms)
op Terminate cmd 0x100 status 0x0 wait 42/101 (210ms)
op Terminate cmd 0x100 status 0x0 wait 43/101 (215ms)
op Terminate cmd 0x100 status 0x0 wait 44/101 (220ms)
op Terminate cmd 0x100 status 0x0 wait 45/101 (225ms)
op Terminate cmd 0x100 status 0x0 wait 46/101 (230ms)
op Terminate cmd 0x100 status 0x0 wait 47/101 (235ms)
op Terminate cmd 0x100 status 0x0 wait 48/101 (240ms)
op Terminate cmd 0x100 status 0x0 wait 49/101 (245ms)
op Terminate cmd 0x100 status 0x0 wait 50/101 (250ms)
op Terminate cmd 0x100 status 0x0 wait 51/101 (255ms)
op Terminate cmd 0x100 status 0x0 wait 52/101 (260ms)
op Terminate cmd 0x100 status 0x0 wait 53/101 (265ms)
op Terminate cmd 0x100 status 0x0 wait 54/101 (270ms)
op Terminate cmd 0x100 status 0x0 wait 55/101 (275ms)
op Terminate cmd 0x100 status 0x0 wait 56/101 (280ms)
op Terminate cmd 0x100 status 0x0 wait 57/101 (285ms)
op Terminate cmd 0x100 status 0x0 wait 58/101 (290ms)
op Terminate cmd 0x100 status 0x0 wait 59/101 (295ms)
op Terminate cmd 0x100 status 0x0 wait 60/101 (300ms)
op Terminate cmd 0x100 status 0x0 wait 61/101 (305ms)
op Terminate cmd 0x100 status 0x0 wait 62/101 (310ms)
op Terminate cmd 0x100 status 0x0 wait 63/101 (315ms)
op Terminate cmd 0x100 status 0x0 wait 64/101 (320ms)
op Terminate cmd 0x100 status 0x0 wait 65/101 (325ms)
op Terminate cmd 0x100 status 0x0 wait 66/101 (330ms)
op Terminate cmd 0x100 status 0x0 wait 67/101 (335ms)
op Terminate cmd 0x100 status 0x0 wait 68/101 (340ms)
op Terminate cmd 0x100 status 0x0 wait 69/101 (345ms)
op Terminate cmd 0x100 status 0x0 wait 70/101 (350ms)
op Terminate cmd 0x100 status 0x0 wait 71/101 (355ms)
op Terminate cmd 0x100 status 0x0 wait 72/101 (360ms)
op Terminate cmd 0x100 status 0x0 wait 73/101 (365ms)
op Terminate cmd 0x100 status 0x0 wait 74/101 (370ms)
op Terminate cmd 0x100 status 0x0 wait 75/101 (375ms)
op Terminate cmd 0x100 status 0x0 wait 76/101 (380ms)
op Terminate cmd 0x100 status 0x0 wait 77/101 (385ms)
op Terminate cmd 0x100 status 0x0 wait 78/101 (390ms)
op Terminate cmd 0x100 status 0x0 wait 79/101 (395ms)
op Terminate cmd 0x100 status 0x0 wait 80/101 (400ms)
op Terminate cmd 0x100 status 0x0 wait 81/101 (405ms)
op Terminate cmd 0x100 status 0x0 wait 82/101 (410ms)
op Terminate cmd 0x100 status 0x0 wait 83/101 (415ms)
op Terminate cmd 0x100 status 0x0 wait 84/101 (420ms)
op Terminate cmd 0x100 status 0x0 wait 85/101 (425ms)
op Terminate cmd 0x100 status 0x0 wait 86/101 (430ms)
op Terminate cmd 0x100 status 0x0 wait 87/101 (435ms)
op Terminate cmd 0x100 status 0x0 wait 88/101 (440ms)
op Terminate cmd 0x100 status 0x0 wait 89/101 (445ms)
op Terminate cmd 0x100 status 0x0 wait 90/101 (450ms)
op Terminate cmd 0x100 status 0x0 wait 91/101 (455ms)
op Terminate cmd 0x100 status 0x0 wait 92/101 (460ms)
op Terminate cmd 0x100 status 0x0 wait 93/101 (465ms)
op Terminate cmd 0x100 status 0x0 wait 94/101 (470ms)
op Terminate cmd 0x100 status 0x0 wait 95/101 (475ms)
op Terminate cmd 0x100 status 0x0 wait 96/101 (480ms)
op Terminate cmd 0x100 status 0x0 wait 97/101 (485ms)
op Terminate cmd 0x100 status 0x0 wait 98/101 (490ms)
op Terminate cmd 0x100 status 0x0 wait 99/101 (495ms)
op Terminate cmd 0x100 status 0x0 wait 100/101 (500ms)
op Terminate cmd 0x100 status 0x0 wait 101/101 (505ms)
Halted processor on op Terminate timeout
driver "Terminate" timeout (500 ms)  PC: FFFFFFFE
Driver Register State
R0:     10006268
R1:     00000000
R2:     00000000
R3:     00000000
R4:     00000000
R5:     00000000
R6:     00000000
R7:     00000000
R8:     00000000
R9:     00000000
R10:    00000000
R11:    00000000
R12:    00000000
SP:     10002248
LR:     FFFFFFF9
PC:     FFFFFFFE
xPSR:   01000003
MSP:    10002248
PSP:    10002268
10002264:  xPSR:   01000000
10002260:  VECTPC: 10000034
1000225C:  LR:     10000035
10002258:  R12:    00000000
10002254:  R3:     00000000
10002250:  R2:     00000000
1000224C:  R1:     00000000
10002248:  R0:     10006268
BFAR:   E000EDF8
CFSR:   00000000
HFSR:   00000002
DFSR:   00000000
AFSR:   00000000
reset reason -
Unknown
Driver Register State
R0:     10006268
R1:     00000000
R2:     00000000
R3:     00000000
R4:     00000000
R5:     00000000
R6:     00000000
R7:     00000000
R8:     00000000
R9:     00000000
R10:    00000000
R11:    00000000
R12:    00000000
SP:     10002248
LR:     FFFFFFF9
PC:     FFFFFFFE
xPSR:   01000003
MSP:    10002248
PSP:    10002268
10002264:  xPSR:   01000000
10002260:  VECTPC: 10000034
1000225C:  LR:     10000035
10002258:  R12:    00000000
10002254:  R3:     00000000
10002250:  R2:     00000000
1000224C:  R1:     00000000
10002248:  R0:     10006268
BFAR:   E000EDF8
CFSR:   00000000
HFSR:   00000002
DFSR:   00000000
AFSR:   00000000
(v2) op #0x100 Terminate(0x0, 0x0, 0x0) Failed - rc Ef(45): Timed-out awaiting close acknowledgement.
(100) Writing Flash ended with an error.
Target error from Commit Flash write: Ef(9). Flash erase or write operation aborted.
Stopped: Halt
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by samc77 on Wed Feb 18 02:23:07 MST 2015
Hi,

sure, basically this is what the team will need to add the chip:
    #if SPIFI_DEVICE_ALL || SPIFI_DEVICE_PM25LQ032C
    /* Add support for Pm25LQ032C */
    {
        static const SPIFI_DEVICE_DATA_T pData = {
            "PM25LQ032C",
            {{0x7F, 0x9D, 0x46}, 0, {0}},   /* JEDEC ID, extCount, ext data  */
            (SPIFI_CAP_DUAL_READ | SPIFI_CAP_QUAD_READ | SPIFI_CAP_QUAD_WRITE | SPIFI_CAP_NOBLOCK |
             SPIFI_CAP_SUBBLKERASE),                                                                                        /* capabilities */
            64,                     /* # of blocks */
            0x10000,                /* block size */
            1024,                   /* # of sub-blocks */
            0x1000,                 /* sub-block size */
            256,                    /* page size */
            MAX_SINGLE_READ,        /* max single read bytes */
            100,             /* max clock rate in MHz */
            104,                /* max read clock rate in MHz */
            100,             /* max high speed read clock rate in MHz */
            104,                /* max program clock rate in MHz */
            104,                /* max high speed program clock rate in MHz */
            FX_spifiDeviceDataInitDeinit,   /* (Fx Id) use generic deviceInit / deInit */
            FX_spifiDeviceDataClearStatusNone,      /* (Fx Id) no persistent status */
            FX_spifiDeviceDataGetStatusMX25L3235E,  /* (Fx Id) getStatus function */
            FX_spifiDeviceDataSetStatusMX25L3235E,  /* (Fx Id) setStatus function */
            FX_spifiDeviceDataSetOptsQuadModeBit6,  /* (Fx Id) to set/clr options */
            FX_spifiDeviceInitReadCommand,  /* (Fx Id) to get memoryMode Cmd */
            FX_spifiDeviceInitWriteCommand  /* (Fx Id) to get program Cmd */
        };
        static SPIFI_DEV_NODE_T data;           /* Create persistent node */

        data.pDevData = &pData;                 /* save the data in the node */
        spifiDevRegister(&devFamily, &data);    /* Register the new device */
    }
    #endif


And about my remaining problem:
If I flash the first time, it works and I can debug.
I press stop on the debugger, and try to start it again: fails.
In my understanding that happens, because my app sets the mode of the SPIFI chip to quad.

The old flashdriver obviously can recover from this and write the flash just normal.
The new one cannot. It fails the same way as it did while the jedec ID was not know by it (before I added the code above).

So I assume, it cannot communicate with the chip to even read that ID because it is still in quad mode.

As I cannot debug that, its an assumtion. But i guess it would be well worth comparing the 7.3 flash driver and the latest if there is some kind of reset done.
If you have a snippet, I would surely try it.

Thanks,
Simon
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Tue Feb 17 15:40:11 MST 2015
I am glad to hear you have got the flash driver working - I presume by modifying the lpcspifilib library project? If so, if you can provide details of your modifications, we can pass them back to the team responsible for maintaining that code base.

However I am not sure I follow your remaining problem. Please can you provide a more detailed description?

Regards,
LPCXpresso Support
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by samc77 on Tue Feb 17 05:40:31 MST 2015
Hi,

played a little with the flash drivers.

I can well get my chip to work, upload is pretty fast then.

But: there is still a problem when once my app starts to use the spifi itself. After that point, subsequent flash loading fails.

The flash programmer code seems to lack some way to actually bring the chip back to a knownstate.
I remember that was also a problem with the LPC ROM some time ago.
I do not have the code to reset it unfortunately, but if you can provide it, I will try it.

just for clarification: the old flash driver can well recover from that state. It works normally.
The newly compiled one fails with the same error as initially, so I guess it can not read the jedec ID at all.
I tried to send 0xFF opcode before the jedec ID is read, but that doesnt do the trick.

Thanks,
Simon
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by samc77 on Mon Feb 16 12:40:29 MST 2015
Hi,

thanks for your help.

Well, I can confirm that the old driver works well. Too bad, I installed the new version because I was curious if the LPCLink2 is now as fast as the RedProbe...

And yes, the chip is not in your list.
Its a Pm25LQ032C.

I do have working code that does read/write using the SPIFI registers directly at quad speed, tell me if you need it.

Also, if you need samples of that chip I could help out.

Thank you,
Simon
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Mon Feb 16 12:05:25 MST 2015
Stepping back slightly, please can you confirm exactly what SPIFI device you are targeting in your system?

The SPIFI flash drivers in LPCXpresso 7.6.2 are based on the latest lpcspifilib rather than the old "peripheral driver library" based SPIFILIB object library that older LPCXpresso versions used..

It is possible that the device you have on your board is not support by the current release of lpcspifilib used by LPCXpresso 7.6.2. The 4MB/64KB sector flash driver you are using should work with:
   ~ S25FL032P
   ~ MX25L3235E
   ~ W25Q32FV 

If you are not using one of these devices (or a "clone" device that appears with the same device ID) then you could well see a driver init failure of the type you reported in your initial post.

For more information on the LPCXpresso SPIFI flash drivers, please see the readme in the SPIFI flash driver project in the Examples subdirectory of your LPCXpresso install.

If the issue is one of an 'unsupported' device, then using the flash driver from an older LPCXpresso as previously suggested may provide a workaround in the short term whilst we investigate further.

Regards,
LPCXpresso Support
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by gray on Mon Feb 16 08:56:30 MST 2015
Simon

This is not the same trace that we see in our test board when it displays the issue I described.

Nonetheless it is possible that the bug I'm thinking of has caused unreported corruption in RAM (of the downloaded flash driver) that gives rise to your problem.

Would it be possible for you to try the old-style (much slower) flash driver from 7.3.0 (PC18_43_SPIFI_4MB_64KB.cfx) in your 2.7.3 installation? 

(Flash drivers are found in the bin\flash subdirectory of the installation directory.)
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by samc77 on Mon Feb 16 08:33:59 MST 2015
Hi,

below is the log, still the RedProbe is used.

Thanks,
Simon

LPCXpresso Debug Driver v7.6 (Jan 28 2015 22:21:11 - crt_emu_lpc18_43_nxp build 50)
Found chip XML file in M:/controller_workspace/ControllerM4/make/LPC4330.xml
Emu(0): Conn&Reset. DpID: 2BA01477. Info: FTWIQD1MA
SWD Frequency: 3000 KHz. RTCK: False. Vector catch: False.
Packet delay: 0  Poll delay: 0.
loaded v.2 External Flash Device on SPI LPC18_43_SPIFI_4MB_64KB.cfx
image 'LPC18/43 4MB(64KB) SPIFI Jan 22 2015 07:56:07'
Nc: Non-default CRT_DEBUG_TRACE set (to 0xFFF)
Nc: (Driver has verify, has erase, does verify on program)
NXP: LPC4330  Part ID: 0x00000000
Connected: was_reset=false. was_stopped=false
LPCXpressoPro Full License - Unlimited
Nc: Flash Start
Nc: FLASH algorithm download complete (at 0x10000000 6756 bytes)
Nc: BEFORE execution
Wc: Driver Register State
R0:     10006268
R1:     00000000
R2:     00000000
R3:     00000000
R4:     00000000
R5:     00000000
R6:     00000000
R7:     00000000
R8:     00000000
R9:     00000000
R10:    00000000
R11:    00000000
R12:    00000000
SP:     10002268
LR:     10000035
PC:     10000034
xPSR:   81000000
MSP:    10002268
PSP:    10002268
Nc: started processor at 0x10000035 (stack at 0x10002268 mail at 0x10006268)
Nc: starting - status 0x0 wait 0/301
Nc: starting - status 0x0 wait 1/301
Nc: starting - status 0x0 wait 2/301
Nc: starting - status 0x0 wait 3/301
Nc: starting - status 0x0 wait 4/301
Nc: starting - status 0x0 wait 5/301
Nc: starting - status 0x0 wait 6/301
Nc: starting - status 0x0 wait 7/301
Nc: starting - status 0x0 wait 8/301
Nc: starting - status 0x0 wait 9/301
Nc: starting - status 0x0 wait 10/301
Nc: starting - status 0x0 wait 11/301
Nc: starting - status 0x0 wait 12/301
Nc: starting - status 0x0 wait 13/301
Nc: starting - status 0x0 wait 14/301
Nc: starting - status 0x0 wait 15/301
Nc: starting - status 0x0 wait 16/301
Nc: starting - status 0x0 wait 17/301
Nc: starting - status 0x0 wait 18/301
Nc: starting - status 0x0 wait 19/301
Nc: starting - status 0x0 wait 20/301
Nc: starting - status 0x0 wait 21/301
Nc: starting - status 0x0 wait 22/301
Nc: starting - status 0x0 wait 23/301
Nc: starting - status 0x0 wait 24/301
Nc: starting - status 0x0 wait 25/301
Nc: starting - status 0x0 wait 26/301
Nc: starting - status 0x0 wait 27/301
Nc: starting - status 0x0 wait 28/301
Nc: starting - status 0x0 wait 29/301
Nc: starting - status 0x0 wait 30/301
Nc: starting - status 0x0 wait 31/301
Nc: starting - status 0x0 wait 32/301
Nc: starting - status 0x0 wait 33/301
Nc: starting - status 0x0 wait 34/301
Nc: starting - status 0x0 wait 35/301
Nc: starting - status 0x0 wait 36/301
Nc: starting - status 0x0 wait 37/301
Nc: starting - status 0x0 wait 38/301
Nc: starting - status 0x0 wait 39/301
Nc: starting - status 0x0 wait 40/301
Nc: starting - status 0x0 wait 41/301
Nc: starting - status 0x0 wait 42/301
Nc: starting - status 0x0 wait 43/301
Nc: starting - status 0x0 wait 44/301
Nc: starting - status 0x0 wait 45/301
Nc: starting - status 0x0 wait 46/301
Nc: starting - status 0x0 wait 47/301
Nc: starting - status 0x0 wait 48/301
Nc: starting - status 0x0 wait 49/301
Nc: starting - status 0x0 wait 50/301
Nc: starting - status 0x0 wait 51/301
Nc: starting - status 0x0 wait 52/301
Nc: starting - status 0x0 wait 53/301
Nc: starting - status 0x0 wait 54/301
Nc: starting - status 0x0 wait 55/301
Nc: starting - status 0x0 wait 56/301
Nc: starting - status 0x0 wait 57/301
Nc: starting - status 0x0 wait 58/301
Nc: starting - status 0x0 wait 59/301
Nc: starting - status 0x0 wait 60/301
Nc: starting - status 0x0 wait 61/301
Nc: starting - status 0x0 wait 62/301
Nc: starting - status 0x0 wait 63/301
Nc: starting - status 0x0 wait 64/301
Nc: starting - status 0x0 wait 65/301
Nc: starting - status 0x0 wait 66/301
Nc: starting - status 0x0 wait 67/301
Nc: starting - status 0x0 wait 68/301
Nc: starting - status 0x0 wait 69/301
Nc: starting - status 0x0 wait 70/301
Nc: starting - status 0x0 wait 71/301
Nc: starting - status 0x0 wait 72/301
Nc: starting - status 0x0 wait 73/301
Nc: starting - status 0x0 wait 74/301
Nc: starting - status 0x0 wait 75/301
Nc: starting - status 0x0 wait 76/301
Nc: starting - status 0x0 wait 77/301
Nc: starting - status 0x0 wait 78/301
Nc: starting - status 0x0 wait 79/301
Nc: starting - status 0x0 wait 80/301
Nc: starting - status 0x0 wait 81/301
Nc: starting - status 0x0 wait 82/301
Nc: starting - status 0x0 wait 83/301
Nc: starting - status 0x0 wait 84/301
Nc: starting - status 0x0 wait 85/301
Nc: starting - status 0x0 wait 86/301
Nc: starting - status 0x0 wait 87/301
Nc: starting - status 0x0 wait 88/301
Nc: starting - status 0x0 wait 89/301
Nc: starting - status 0x0 wait 90/301
Nc: starting - status 0x0 wait 91/301
Nc: starting - status 0x0 wait 92/301
Nc: starting - status 0x0 wait 93/301
Nc: starting - status 0x0 wait 94/301
Nc: starting - status 0x0 wait 95/301
Nc: starting - status 0x0 wait 96/301
Nc: starting - status 0x0 wait 97/301
Nc: starting - status 0x0 wait 98/301
Nc: starting - status 0x0 wait 99/301
Nc: starting - status 0x0 wait 100/301
Nc: starting - status 0x0 wait 101/301
Nc: starting - status 0x0 wait 102/301
Nc: starting - status 0x0 wait 103/301
Nc: starting - status 0x0 wait 104/301
Nc: starting - status 0x0 wait 105/301
Nc: starting - status 0x0 wait 106/301
Nc: starting - status 0x0 wait 107/301
Nc: starting - status 0x0 wait 108/301
Nc: starting - status 0x0 wait 109/301
Nc: starting - status 0x0 wait 110/301
Nc: starting - status 0x0 wait 111/301
Nc: starting - status 0x0 wait 112/301
Nc: starting - status 0x0 wait 113/301
Nc: starting - status 0x0 wait 114/301
Nc: starting - status 0x0 wait 115/301
Nc: starting - status 0x0 wait 116/301
Nc: starting - status 0x0 wait 117/301
Nc: starting - status 0x0 wait 118/301
Nc: starting - status 0x0 wait 119/301
Nc: starting - status 0x0 wait 120/301
Nc: starting - status 0x0 wait 121/301
Nc: starting - status 0x0 wait 122/301
Nc: starting - status 0x0 wait 123/301
Nc: starting - status 0x0 wait 124/301
Nc: starting - status 0x0 wait 125/301
Nc: starting - status 0x0 wait 126/301
Nc: starting - status 0x0 wait 127/301
Nc: starting - status 0x0 wait 128/301
Nc: starting - status 0x0 wait 129/301
Nc: starting - status 0x0 wait 130/301
Nc: starting - status 0x0 wait 131/301
Nc: starting - status 0x0 wait 132/301
Nc: starting - status 0x0 wait 133/301
Nc: starting - status 0x0 wait 134/301
Nc: starting - status 0x0 wait 135/301
Nc: starting - status 0x0 wait 136/301
Nc: starting - status 0x0 wait 137/301
Nc: starting - status 0x0 wait 138/301
Nc: starting - status 0x0 wait 139/301
Nc: starting - status 0x0 wait 140/301
Nc: starting - status 0x0 wait 141/301
Nc: starting - status 0x0 wait 142/301
Nc: starting - status 0x0 wait 143/301
Nc: starting - status 0x0 wait 144/301
Nc: starting - status 0x0 wait 145/301
Nc: starting - status 0x0 wait 146/301
Nc: starting - status 0x0 wait 147/301
Nc: starting - status 0x0 wait 148/301
Nc: starting - status 0x0 wait 149/301
Nc: starting - status 0x0 wait 150/301
Nc: starting - status 0x0 wait 151/301
Nc: starting - status 0x0 wait 152/301
Nc: starting - status 0x0 wait 153/301
Nc: starting - status 0x0 wait 154/301
Nc: starting - status 0x0 wait 155/301
Nc: starting - status 0x0 wait 156/301
Nc: starting - status 0x0 wait 157/301
Nc: starting - status 0x0 wait 158/301
Nc: starting - status 0x0 wait 159/301
Nc: starting - status 0x0 wait 160/301
Nc: starting - status 0x0 wait 161/301
Nc: starting - status 0x0 wait 162/301
Nc: starting - status 0x0 wait 163/301
Nc: starting - status 0x0 wait 164/301
Nc: starting - status 0x0 wait 165/301
Nc: starting - status 0x0 wait 166/301
Nc: starting - status 0x0 wait 167/301
Nc: starting - status 0x0 wait 168/301
Nc: starting - status 0x0 wait 169/301
Nc: starting - status 0x0 wait 170/301
Nc: starting - status 0x0 wait 171/301
Nc: starting - status 0x0 wait 172/301
Nc: starting - status 0x0 wait 173/301
Nc: starting - status 0x0 wait 174/301
Nc: starting - status 0x0 wait 175/301
Nc: starting - status 0x0 wait 176/301
Nc: starting - status 0x0 wait 177/301
Nc: starting - status 0x0 wait 178/301
Nc: starting - status 0x0 wait 179/301
Nc: starting - status 0x0 wait 180/301
Nc: starting - status 0x0 wait 181/301
Nc: starting - status 0x0 wait 182/301
Nc: starting - status 0x0 wait 183/301
Nc: starting - status 0x0 wait 184/301
Nc: starting - status 0x0 wait 185/301
Nc: starting - status 0x0 wait 186/301
Nc: starting - status 0x0 wait 187/301
Nc: starting - status 0x0 wait 188/301
Nc: starting - status 0x0 wait 189/301
Nc: starting - status 0x0 wait 190/301
Nc: starting - status 0x0 wait 191/301
Nc: starting - status 0x0 wait 192/301
Nc: starting - status 0x0 wait 193/301
Nc: starting - status 0x0 wait 194/301
Nc: starting - status 0x0 wait 195/301
Nc: starting - status 0x0 wait 196/301
Nc: starting - status 0x0 wait 197/301
Nc: starting - status 0x0 wait 198/301
Nc: starting - status 0x0 wait 199/301
Nc: starting - status 0x0 wait 200/301
Nc: starting - status 0x0 wait 201/301
Nc: starting - status 0x0 wait 202/301
Nc: starting - status 0x0 wait 203/301
Nc: starting - status 0x0 wait 204/301
Nc: starting - status 0x0 wait 205/301
Nc: starting - status 0x0 wait 206/301
Nc: starting - status 0x0 wait 207/301
Nc: starting - status 0x0 wait 208/301
Nc: starting - status 0x0 wait 209/301
Nc: starting - status 0x0 wait 210/301
Nc: starting - status 0x0 wait 211/301
Nc: starting - status 0x0 wait 212/301
Nc: starting - status 0x0 wait 213/301
Nc: starting - status 0x0 wait 214/301
Nc: starting - status 0x0 wait 215/301
Nc: starting - status 0x0 wait 216/301
Nc: starting - status 0x0 wait 217/301
Nc: starting - status 0x0 wait 218/301
Nc: starting - status 0x0 wait 219/301
Nc: starting - status 0x0 wait 220/301
Nc: starting - status 0x0 wait 221/301
Nc: starting - status 0x0 wait 222/301
Nc: starting - status 0x0 wait 223/301
Nc: starting - status 0x0 wait 224/301
Nc: starting - status 0x0 wait 225/301
Nc: starting - status 0x0 wait 226/301
Nc: starting - status 0x0 wait 227/301
Nc: starting - status 0x0 wait 228/301
Nc: starting - status 0x0 wait 229/301
Nc: starting - status 0x0 wait 230/301
Nc: starting - status 0x0 wait 231/301
Nc: starting - status 0x0 wait 232/301
Nc: starting - status 0x0 wait 233/301
Nc: starting - status 0x0 wait 234/301
Nc: starting - status 0x0 wait 235/301
Nc: starting - status 0x0 wait 236/301
Nc: starting - status 0x0 wait 237/301
Nc: starting - status 0x0 wait 238/301
Nc: starting - status 0x0 wait 239/301
Nc: starting - status 0x0 wait 240/301
Nc: starting - status 0x0 wait 241/301
Nc: starting - status 0x0 wait 242/301
Nc: starting - status 0x0 wait 243/301
Nc: starting - status 0x0 wait 244/301
Nc: starting - status 0x0 wait 245/301
Nc: starting - status 0x0 wait 246/301
Nc: starting - status 0x0 wait 247/301
Nc: starting - status 0x0 wait 248/301
Nc: starting - status 0x0 wait 249/301
Nc: starting - status 0x0 wait 250/301
Nc: starting - status 0x0 wait 251/301
Nc: starting - status 0x0 wait 252/301
Nc: starting - status 0x0 wait 253/301
Nc: starting - status 0x0 wait 254/301
Nc: starting - status 0x0 wait 255/301
Nc: starting - status 0x0 wait 256/301
Nc: starting - status 0x0 wait 257/301
Nc: starting - status 0x0 wait 258/301
Nc: starting - status 0x0 wait 259/301
Nc: starting - status 0x0 wait 260/301
Nc: starting - status 0x0 wait 261/301
Nc: starting - status 0x0 wait 262/301
Nc: starting - status 0x0 wait 263/301
Nc: starting - status 0x0 wait 264/301
Nc: starting - status 0x0 wait 265/301
Nc: starting - status 0x0 wait 266/301
Nc: starting - status 0x0 wait 267/301
Nc: starting - status 0x0 wait 268/301
Nc: starting - status 0x0 wait 269/301
Nc: starting - status 0x0 wait 270/301
Nc: starting - status 0x0 wait 271/301
Nc: starting - status 0x0 wait 272/301
Nc: starting - status 0x0 wait 273/301
Nc: starting - status 0x0 wait 274/301
Nc: starting - status 0x0 wait 275/301
Nc: starting - status 0x0 wait 276/301
Nc: starting - status 0x0 wait 277/301
Nc: starting - status 0x0 wait 278/301
Nc: starting - status 0x0 wait 279/301
Nc: starting - status 0x0 wait 280/301
Nc: starting - status 0x0 wait 281/301
Nc: starting - status 0x0 wait 282/301
Nc: starting - status 0x0 wait 283/301
Nc: starting - status 0x0 wait 284/301
Nc: starting - status 0x0 wait 285/301
Nc: starting - status 0x0 wait 286/301
Nc: starting - status 0x0 wait 287/301
Nc: starting - status 0x0 wait 288/301
Nc: starting - status 0x0 wait 289/301
Nc: starting - status 0x0 wait 290/301
Nc: starting - status 0x0 wait 291/301
Nc: starting - status 0x0 wait 292/301
Nc: starting - status 0x0 wait 293/301
Nc: starting - status 0x0 wait 294/301
Nc: starting - status 0x0 wait 295/301
Nc: starting - status 0x0 wait 296/301
Nc: starting - status 0x0 wait 297/301
Nc: starting - status 0x0 wait 298/301
Nc: starting - status 0x0 wait 299/301
Nc: starting - status 0x0 wait 300/301
Nc: starting - status 0x0 wait 301/301
Nc: halted processor on startup timeout
Wc:V.2 flash driver never became ready (after 1505ms) - status still 0x0
SP:     10002228
LR:     FFFFFFF1
PC:     10000000
xPSR:   80000003
Nc: AFTER timeout
Wc: Driver Register State
R0:     10006268
R1:     00000000
R2:     00000000
R3:     00000000
R4:     00000000
R5:     00000000
R6:     00000000
R7:     00000000
R8:     00000000
R9:     00000000
R10:    00000000
R11:    00000000
R12:    00000000
SP:     10002228
LR:     FFFFFFF1
PC:     10000000
xPSR:   80000003
MSP:    10002228
PSP:    10002268
10002244:  xPSR:   80000021
10002240:  VECTPC: 4B15D408
1000223C:  LR:     FFFFFFF9
10002238:  R12:    00000000
10002234:  R3:     00000000
10002230:  R2:     00000000
1000222C:  R1:     00000000
10002228:  R0:     10006268
BFAR:   E000EDF8
CFSR:   00000001
HFSR:   40000000
DFSR:   00000000
AFSR:   00000000
Nc: Flash Driver V.2 startup - rc Ef(9). Flash erase or write operation aborted.
FLASH driver initialization failed - rc Ef(9). Flash erase or write operation aborted.
Nc: Flash End
Nc:10006268: v.2 cmd 0100 (Terminate) param [00000000, 00000000, 00000000]
Nc: op Terminate cmd 0x100 status 0x0 wait 0/101 (0ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 1/101 (5ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 2/101 (10ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 3/101 (15ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 4/101 (20ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 5/101 (25ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 6/101 (30ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 7/101 (35ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 8/101 (40ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 9/101 (45ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 10/101 (50ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 11/101 (55ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 12/101 (60ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 13/101 (65ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 14/101 (70ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 15/101 (75ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 16/101 (80ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 17/101 (85ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 18/101 (90ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 19/101 (95ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 20/101 (100ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 21/101 (105ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 22/101 (110ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 23/101 (115ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 24/101 (120ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 25/101 (125ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 26/101 (130ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 27/101 (135ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 28/101 (140ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 29/101 (145ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 30/101 (150ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 31/101 (155ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 32/101 (160ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 33/101 (165ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 34/101 (170ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 35/101 (175ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 36/101 (180ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 37/101 (185ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 38/101 (190ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 39/101 (195ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 40/101 (200ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 41/101 (205ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 42/101 (210ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 43/101 (215ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 44/101 (220ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 45/101 (225ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 46/101 (230ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 47/101 (235ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 48/101 (240ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 49/101 (245ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 50/101 (250ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 51/101 (255ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 52/101 (260ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 53/101 (265ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 54/101 (270ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 55/101 (275ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 56/101 (280ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 57/101 (285ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 58/101 (290ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 59/101 (295ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 60/101 (300ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 61/101 (305ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 62/101 (310ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 63/101 (315ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 64/101 (320ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 65/101 (325ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 66/101 (330ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 67/101 (335ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 68/101 (340ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 69/101 (345ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 70/101 (350ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 71/101 (355ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 72/101 (360ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 73/101 (365ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 74/101 (370ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 75/101 (375ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 76/101 (380ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 77/101 (385ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 78/101 (390ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 79/101 (395ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 80/101 (400ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 81/101 (405ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 82/101 (410ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 83/101 (415ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 84/101 (420ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 85/101 (425ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 86/101 (430ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 87/101 (435ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 88/101 (440ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 89/101 (445ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 90/101 (450ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 91/101 (455ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 92/101 (460ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 93/101 (465ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 94/101 (470ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 95/101 (475ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 96/101 (480ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 97/101 (485ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 98/101 (490ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 99/101 (495ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 100/101 (500ms)
Nc: op Terminate cmd 0x100 status 0x0 wait 101/101 (505ms)
Nc: Halted processor on op Terminate timeout
driver "Terminate" timeout (500 ms)  PC: 10000000
Wc: Driver Register State
R0:     10006268
R1:     00000000
R2:     00000000
R3:     00000000
R4:     00000000
R5:     00000000
R6:     00000000
R7:     00000000
R8:     00000000
R9:     00000000
R10:    00000000
R11:    00000000
R12:    00000000
SP:     10002228
LR:     FFFFFFF1
PC:     10000000
xPSR:   80000003
MSP:    10002228
PSP:    10002268
10002244:  xPSR:   80000021
10002240:  VECTPC: 4B15D408
1000223C:  LR:     FFFFFFF9
10002238:  R12:    00000000
10002234:  R3:     00000000
10002230:  R2:     00000000
1000222C:  R1:     00000000
10002228:  R0:     10006268
BFAR:   E000EDF8
CFSR:   00000001
HFSR:   40000000
DFSR:   00000000
AFSR:   00000000
Nc: reset reason -
Wc: Driver Register State
R0:     10006268
R1:     00000000
R2:     00000000
R3:     00000000
R4:     00000000
R5:     00000000
R6:     00000000
R7:     00000000
R8:     00000000
R9:     00000000
R10:    00000000
R11:    00000000
R12:    00000000
SP:     10002228
LR:     FFFFFFF1
PC:     10000000
xPSR:   80000003
MSP:    10002228
PSP:    10002268
10002244:  xPSR:   80000021
10002240:  VECTPC: 4B15D408
1000223C:  LR:     FFFFFFF9
10002238:  R12:    00000000
10002234:  R3:     00000000
10002230:  R2:     00000000
1000222C:  R1:     00000000
10002228:  R0:     10006268
BFAR:   E000EDF8
CFSR:   00000001
HFSR:   40000000
DFSR:   00000000
AFSR:   00000000
Nc: (v2) op #0x100 Terminate(0x0, 0x0, 0x0) Failed - rc Ef(45). Timed-out awaiting close acknowledgement.
(100) Writing Flash ended with an error.
Target error from Commit Flash write: Ef(9). Flash erase or write operation aborted.
Stopped: Halt
0 Kudos

776 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by gray on Mon Feb 16 08:20:39 MST 2015
Simon

We have observed what looks like a very similar (perhaps identical) issue on LPC43xx and LPC18xx boards with 32KB of internal SPIFI flash (as distinct to boards with the same chips but larger amounts of (external) SPIFI flash).

The issue has, in fact, potentially been present in previous releases but has been masked because previous flash drivers did not make optimal use of the RAM available for cacheing flash content to be downloaded.

That issue will be corrected in the next release of LPCXpresso.

It should also be able to be addressed (temporarily) by a performance-reduced version of the driver (which will again uses a smaller allocation of memory for this cacheing).

To help us determine whether you are in fact suffering from this issue do you think you could repeat your run of 7.6.3 setting DEBUG_TRACE to 4095?  To set this value in the LPCXpresso IDE

* use the "Preferences..." dialogue:
* ensure the LPCXpresso group of options are expanded
* select the "Debug Options (Advanced)" choice
* fill in the box labelled "Extended debug trace (DEBUG_TRACE)" with 4095

Attach the resulting log to this conversation.
0 Kudos