program download stops at 4200h

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

program download stops at 4200h

2,579 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Mon Jul 04 11:35:45 MST 2011
I am running LPCXpresso v4.0.5 [Build 123] [27/06/2011] on Windows XP SP3. The target is an LPC1343 in LPCxpresso boards bought recently from Farnell. Top markings on the target do not seem to correspond to the LPC134x Errata sheet. They are
LPC1343F
2914.5
24
ZSDIO
301A


My program has flash used (_etext) = 4580h. When I try to download the program via the 'Debug' button, the LPCxpresso downloader hangs near the end.  The status bar displays
94% [Download] Page 4 at 00004200: 512 bytes. 


and
Launching demo Debug: (93%)


I have two LPCxpresso LPC1343 boards. Both show the same symptom. Neither board has been in use for more than a couple of days, so it should not be a flash endurance problem. Shorter programs seem to load and run OK.

I get the same symptoms on a direct PC USB connection and on a connection via a powered hub.

Any ideas? Is there a diagnostic that can isolate the problem? Or a parameter that tunes the download behaviour?

Tim
0 项奖励
回复
15 回复数

2,544 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Thu Jul 14 12:16:42 MST 2011
Congratulations on the detective work. Many thanks for chasing the problem down.

Tim
0 项奖励
回复

2,544 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Thu Jul 14 03:11:21 MST 2011
Yes we have. There is a rare issue programming LPC11/12/13 parts, which occurs when you are programming a near identical image to that already in flash, where a particular proportion of the last sector of flash programmed.  This causes the infinite loop that you encountered during the programming phase.

Simple workaround if you encounter the problem is to mass erase the flash before programming. This will be fixed in the next version of LPCXpresso 4, which we expect to release later this month.

Regards,
CodeRedSupport
0 项奖励
回复

2,544 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Thu Jul 14 01:58:41 MST 2011
Have you guys made any progress in this investigation?

Tim
0 项奖励
回复

2,544 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Fri Jul 08 07:55:28 MST 2011
Thanks. We can now replicate. We'll investigate.

Regards,
CodeRedSupport
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Thu Jul 07 17:13:11 MST 2011
Here is the project file.

Download should work the first time. And it will keep on working until you change the ELF. If you change the source and rebuild, the subsequent download will fail unless you do a mass erase. These symptoms hint at an inadequate block erase.

I updated the startup file to the one included in your lpc13_const16k program. The version number of that file appears to be "Version : 110427" - other startup files appear to be unversioned. The symptoms were unchanged.

Deleting the launch files made no difference.
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Thu Jul 07 01:52:05 MST 2011

Quote: Tim

I took Tsuneo's code, which uses Keil language extensions for packed structures. Where necessary I replaced the header files with GDB header files from the LPCxpresso distribution. I also applied a minor fix to HID_DESC_OFFSET in usbdesc.h, but otherwise the code should be unchanged. My code is attached.



I really want your actual application project, rather than just the source code - so that I can try downloading your **exact** binary to flash, built using the same options that you are using, and with the same debug configuration files etc.

To export a full project, please follow the instructions given in :

http://support.code-red-tech.com/CodeRedWiki/ImportExport

However I have just tried creating a new LPC1343 project and placing the source code you supplied into it. When built, I can repeatedly program the project into flash without problem. (Note that I am not going to make any comment here on issues relating to your porting of this code  - I just want to try to get to the bottom of your flash programming issue).

Two possible things to try ([U][B]after[/B][/U] you export your project!!!!):

[LIST]
[*]Try deleting the launch configuration files that the debugger will create inside the root directory of the project if they don't already exist. If your project was created with an older version of LPCXpresso, it is possible that this is causing some problem.
[/LIST]

[LIST]
[*]The cr_startup_lpc13.c file within your sources looks like it dates back to a fairly old version of LPCXpresso. This potentially could cause problems - try replacing the startup file with one created by the new project wizard. Updating the startup code is advisable for both library related and also linker script reasons:
[/LIST]
[INDENT]http://support.code-red-tech.com/CodeRedWiki/redlib_v2_notes
http://support.code-red-tech.com/CodeRedWiki/EnhancedManagedLinkScripts
[/INDENT]Regards,
CodeRedSupport
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Wed Jul 06 17:50:16 MST 2011
I switched workspace and ran some of the CMSIS2 examples. They all worked OK.

I also ran your largeimage example and that ran as expected. I could flip between largeimage and various examples. The loader never missed a beat and the examples all ran OK. largeimage printed out "** Finished - No errors detected" every time.
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Wed Jul 06 17:26:08 MST 2011
Vector catch doesn't fix the problem:(

The code is from the inestimable Tsuneo. He took the USBMSD and USBHID examples and merged them to generate a composite MSD+HID device. Tsuneo's code is here:
http://www.8052.com/users/Notus/LPC134x_USBMem_HID.zip

I took Tsuneo's code, which uses Keil language extensions for packed structures. Where necessary I replaced the header files with GDB header files from the LPCxpresso distribution. I also applied a minor fix to HID_DESC_OFFSET in usbdesc.h, but otherwise the code should be unchanged. My code is attached.

This code <i>nearly</i> works.. The MSD part seems to be solid, but there is a problem with the HID section. I don't know if the problem has always been there or if the substituted headers have changed something.

There's a debugging trap in usbcore.c, line 607, that can be used to vary the size of the compiled code and trigger the download problem. Change the defined constant FOO to include/exclude the debugging statements (or do it via defines in one of the project menus).
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Wed Jul 06 00:59:29 MST 2011

Quote: Tim

A mass erase seems to do the trick. But programming fails the next time the source changes unless I do another mass erase:(



So this implies that something in your source code is putting the board into a "strange state" -  although I must admit that I've not seen this result in the "infinite flash writes" that you are seeing before.  You ought to be able to confirm that it is your application is some way by switching to a new workspace, using

[FONT=Courier New][SIZE=1]File -> Switch Workspace -> Other[/SIZE][/FONT]

then importing the [FONT=Courier New][SIZE=1]LPCXpresso1343_cmsis2.zip[/SIZE][/FONT] examples. If you do a mass erase first, can you then load and execute these examples without problem? I've also attached a "large image" example project to this thread for you to try out. I'ld appreciate if you can confirm that this downloads and executes correctly in your new workspace. It requires the CMSISv2p00_LPC13xx library project to build, and should print "** Finished - No errors detected" when run.

The following FAQ contains a few suggestions of things that can cause debug connection problems....

http://support.code-red-tech.com/CodeRedWiki/DebugAccessChip

It might be worth seeing if setting vector catch as described in this FAQ allows you to reliably connect with this application.

We would obviously be interested in replicating the "infinite flash writes", even if vector catch, say, provides you with a workable solution. Would you be willing to provide your project (preferably in buildable source, but even just an axf would be interesting)? We can arrange to do this outside the forum if you prefer not to attach it to this thread.

Regards,
CodeRedSupport
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Tue Jul 05 16:27:40 MST 2011
Here's a grab of the log without pulling the plug. The last line
( 95) Page  4 at 00004200: 512 bytes
repeats indefinitely.

LPCXpresso Debug Driver v4.0 (Jun 21 2011 23:10:27)
Looked for chip XML file in F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/LPC1343.xml
Looked for vendor directory XML file in F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/nxp_directory.xml
Found generic directory XML file in F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/crt_directory.xml
(  5) Remote configuration complete
( 30) Emulator Connected
( 40) Debug Halt
( 50) CPU ID
Emu(0): Conn&Reset. DpID: 2BA01477. Info: T1S6RGRIA
SWD Frequency: 3000 KHz. RTCK: False. Vector catch: False.
Packet delay: 0  Poll delay: 0.
NXP: LPC1343  Part ID: 0x3D00002B
( 65) Chip Setup Complete
Connected: was_reset=false. was_stopped=false
v Registered license, download limit of 128K
( 70) License Check Complete
( 85) Registered Semihost Handler
(100) Target Ready
CRTv00.1/APFe/MB06W04C1S/rt/Lf
Writing 17756 bytes to 0000 in Flash (assumed clock: 72.0MHz)
1 of 1 (  0) Writing pages 0-4 at 0x00000000 with 17756 bytes
(  0) Page  0 at 00000000
(  5) Page  0 at 00000000: 1024 bytes
( 11) Page  0 at 00000400: 1024 bytes
( 17) Page  0 at 00000800: 1024 bytes
( 23) Page  0 at 00000C00: 1024 bytes
( 28) Page  1 at 00001000: 1024 bytes
( 34) Page  1 at 00001400: 1024 bytes
( 40) Page  1 at 00001800: 1024 bytes
( 46) Page  1 at 00001C00: 1024 bytes
( 51) Page  2 at 00002000: 1024 bytes
( 57) Page  2 at 00002400: 1024 bytes
( 63) Page  2 at 00002800: 1024 bytes
( 69) Page  2 at 00002C00: 1024 bytes
( 74) Page  3 at 00003000: 1024 bytes
( 80) Page  3 at 00003400: 1024 bytes
( 86) Page  3 at 00003800: 1024 bytes
( 92) Page  3 at 00003C00: 1024 bytes
( 98) Page  4 at 00004000: 1024 bytes
( 95) Page  4 at 00004000: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Tue Jul 05 16:19:26 MST 2011
See the previous message for Part 1 of the Debug Log.

<regFormat id="BASEPRI" name="BasePri" description="BASEPRI is a mask of interrupts by priority when not 0. No interrupt with a larger or equal priority will activate">
<fieldFormat id="basepri" type="value" offset="[7:0]" description="BASEPRI is a mask of interrupts by priority when not 0. No interrupt with a larger or equal priority will activate"/>
</regFormat>
<regFormat id="PRIMASK" name="PriMask" description="PRIMASK disables all normal interrupts and faults if true">
<fieldFormat id="primask" type="toggle" offset="[0]" on="enabled" off="disabled" description="PRIMASK disables all normal interrupts and faults if true" />
</regFormat>
<regFormat id="FAULTMASK" name="FaultMsk" description="FAULTMASK disables all interrupts and HardFault if true (only NMI and Reset are possible)">
<fieldFormat id="faultmask" type="toggle" offset="[0]" on="enabled" off="disabled" description="FAULTMASK disables all interrupts and HardFault if true (only NMI and Reset are possible)" />
</regFormat>
<regFormat id="CYCLE" name="Cycle" special="CYCLE" description="CYCLE indicates the number of cycles executed since reset"/>
<regFormat id="CYCLEDELTA" name="CycleDelta" special="CYCLEDELTA" description="CYCLEDELTA indicates the number of cycles executed since the last start"/>
<regFormat name="CFSR" special="FAULT" description="CFSR is the set of fault bits from the last fault (setting 1 clears)"/>
<regFormat name="Faults" special="FAULT_TEXT" description="Faults is a list of faults by name (from the CFSR)"/>
<regFormat name="BFAR" special="FAULT" description="BFAR is the Bus fault precise address, if a precise data bus fault has occurred"/>
<regFormat name="MFAR" special="FAULT" description="MFAR is the MPU fault address, if an MPU data fault has occurred"/>
<regFormat name="VECTPC" special="FAULT" description="VECTPC is the PC pre-empted by an event caught by vector-catch"/>
</processor>
<emulator type="SWD">
<vendor>LPCXpresso</vendor>
<name>Code Red WinUSB emulator support for Cortex-M3</name>
<instance index="0">T1S6RGRIA</instance>
<speed fastestKHz="6000" slowestKHz="50" step="12000/(speed*2)" speed="1" delay="0" determined="test">19KHz</speed>
</emulator>
</info>
</infoList>
15: Target error from Read Memory: Ee(02). Not connected to emulator.
15: Target error from Read Memory: Ee(02). Not connected to emulator.
15: Target error from Read Memory: Ee(02). Not connected to emulator.
15: Target error from Set break/watch: Ee(02). Not connected to emulator.
15: Target error from Set break/watch: Ee(02). Not connected to emulator.
15: Target error from Set break/watch: Ee(02). Not connected to emulator.
[Core Registers]
{r0}R0=<error>
{r1}R1=<error>
{r2}R2=<error>
{r3}R3=<error>
{r4}R4=<error>
{r5}R5=<error>
{r6}R6=<error>
{r7}R7=<error>
{r8}R8=<error>
{r9}R9=<error>
{r10}R10=<error>
{r11}R11=<error>
{r12}R12=<error>
{sp}SP=<error>
{lr}LR=<error>
{pc}PC=<error>
{cpsr}PSR=<error>
[-IntMask]
BasePri=error
PriMask=error
FaultMsk=error
[]
Cycle=<error>
CycleDelta=<error>
[Core Registers]
{r0}R0=<error>
{r1}R1=<error>
{r2}R2=<error>
{r3}R3=<error>
{r4}R4=<error>
{r5}R5=<error>
{r6}R6=<error>
{r7}R7=<error>
{r8}R8=<error>
{r9}R9=<error>
{r10}R10=<error>
{r11}R11=<error>
{r12}R12=<error>
{sp}SP=<error>
{lr}LR=<error>
{pc}PC=<error>
{cpsr}PSR=<error>
[-IntMask]
BasePri=error
PriMask=error
FaultMsk=error
[]
Cycle=<error>
CycleDelta=<error>
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Tue Jul 05 16:15:32 MST 2011
Here it is. The full file is 12,643 characters, which is too long for this forum, so I have chopped the last bit and I'll put it in a follow-up message. As usual I had to unplug the board to get the looping to terminate.

A mass erase seems to do the trick. But programming fails the next time the source changes unless I do another mass erase:(


LPCXpresso Debug Driver v4.0 (Jun 21 2011 23:10:27)
Looked for chip XML file in F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/LPC1343.xml
Looked for vendor directory XML file in F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/nxp_directory.xml
Found generic directory XML file in F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/crt_directory.xml
(  5) Remote configuration complete
( 30) Emulator Connected
( 40) Debug Halt
( 50) CPU ID
Emu(0): Conn&Reset. DpID: 2BA01477. Info: T1S6RGRIA
SWD Frequency: 3000 KHz. RTCK: False. Vector catch: False.
Packet delay: 0  Poll delay: 0.
NXP: LPC1343  Part ID: 0x3D00002B
( 65) Chip Setup Complete
Connected: was_reset=false. was_stopped=false
v Registered license, download limit of 128K
( 70) License Check Complete
( 85) Registered Semihost Handler
(100) Target Ready
CRTv00.1/APFe/MB06W04C1S/rt/Lf
Writing 17716 bytes to 0000 in Flash (assumed clock: 72.0MHz)
1 of 1 (  0) Writing pages 0-4 at 0x00000000 with 17716 bytes
(  0) Page  0 at 00000000
(  5) Page  0 at 00000000: 1024 bytes
( 11) Page  0 at 00000400: 1024 bytes
( 17) Page  0 at 00000800: 1024 bytes
( 23) Page  0 at 00000C00: 1024 bytes
( 28) Page  1 at 00001000: 1024 bytes
( 34) Page  1 at 00001400: 1024 bytes
( 40) Page  1 at 00001800: 1024 bytes
( 46) Page  1 at 00001C00: 1024 bytes
( 52) Page  2 at 00002000: 1024 bytes
( 57) Page  2 at 00002400: 1024 bytes
( 63) Page  2 at 00002800: 1024 bytes
( 69) Page  2 at 00002C00: 1024 bytes
( 75) Page  3 at 00003000: 1024 bytes
( 80) Page  3 at 00003400: 1024 bytes
( 86) Page  3 at 00003800: 1024 bytes
( 92) Page  3 at 00003C00: 1024 bytes
( 98) Page  4 at 00004000: 1024 bytes
( 95) Page  4 at 00004000: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
( 95) Page  4 at 00004200: 512 bytes
Polling error
(100) Writing Flash ended with an error.
15: Target error from Commit Flash write: Ee(02). Not connected to emulator.
SYSPLLSTAT read: Ee(02). Not connected to emulator.
<?xml version="1.0" encoding="UTF-8"?>
<?crt-stub-info version="1.0"?>
<?xml-stylesheet type="text/xsl" href="crt_infolist.xslt"?>
<!DOCTYPE infoList SYSTEM "file:/F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/crt_infolist.dtd">
<infoList vendor="NXP">
<info name="LPC1343" chip="LPC1343" match_ID="0x3D00002B">
<chip determined="specified">
<vendor>NXP (formerly Philips)</vendor>
<name ver="unknown">LPC1343</name>
<family>LPC13xx</family>
<reset board="none" sys="real" core="real" />
<clock freq="72.0MHz" is_accurate="true" changeable="true" />
<memory type="Flash" id="Flash_mem_1" size="32768" is_ro="true" is_wo="false"
is_volatile="false" can_program="true">Flash</memory>
<memoryInstance id="MFlash32" derived_from="Flash_mem_1" location="0x0000" />
<memory type="RAM" id="RAM_mem_2" size="8192" is_ro="false" is_wo="false"
is_volatile="false" can_program="false">RAM</memory>
<memoryInstance id="RamLoc8" derived_from="RAM_mem_2" location="0x10000000" />
<prog_flash location="0x0000" size="32768" blocksz="4096" wordsz="4"
selferase="false" readwhileprog="false" progwithcode="true">Flash_1</prog_flash>
<peripheralInstance id="IOCON" derived_from="LPC11_13_IOCON" determined="infoFile"
location="0x40044000">IO Configuration Block</peripheralInstance>
<peripheralInstance id="GPIO3" derived_from="LPC11_13_GPIO" determined="infoFile"
location="0x50030000">GPIO</peripheralInstance>
<peripheralInstance id="GPIO2" derived_from="LPC11_13_GPIO" determined="infoFile"
location="0x50020000">GPIO</peripheralInstance>
<peripheralInstance id="GPIO1" derived_from="LPC11_13_GPIO" determined="infoFile"
location="0x50010000">GPIO</peripheralInstance>
<peripheralInstance id="GPIO0" derived_from="LPC11_13_GPIO" determined="infoFile"
location="0x50000000">GPIO</peripheralInstance>
<peripheralInstance id="PMU" derived_from="LPC11_13_PMU" determined="infoFile"
location="0x40038000">Power management Unit</peripheralInstance>
<peripheralInstance id="UART0" derived_from="LPC1xxx_UART_MODEM" determined="infoFile"
location="0x40008000">UART</peripheralInstance>
<peripheralInstance id="USB" derived_from="LPC11_13_USBDEV" determined="infoFile"
location="0x40020000">USB Device Controller</peripheralInstance>
<peripheralInstance id="WDT" derived_from="LPC11_13_WDT" determined="infoFile"
location="0x40004000">Watchdog Timer</peripheralInstance>
<peripheralInstance id="TMR161" derived_from="LPC11_13_TIMER16" determined="infoFile"
location="0x40010000">Timer16</peripheralInstance>
<peripheralInstance id="TMR160" derived_from="LPC11_13_TIMER16" determined="infoFile"
location="0x4000C000">Timer16</peripheralInstance>
<peripheralInstance id="I2C0" derived_from="LPC11_13_I2C" determined="infoFile"
location="0x40000000">I2C Interface</peripheralInstance>
<peripheralInstance id="ADC" derived_from="LPC11_13_ADC" determined="infoFile"
location="0x4001C000">Analog to Digital Converter</peripheralInstance>
<peripheralInstance id="SSP0" derived_from="LPC11_13_SSP" determined="infoFile"
location="0x40040000">SPI Interface</peripheralInstance>
<peripheralInstance id="TIMER1" derived_from="LPC11_13_TIMER32" determined="infoFile"
location="0x40018000">Timer</peripheralInstance>
<peripheralInstance id="TIMER0" derived_from="LPC11_13_TIMER32" determined="infoFile"
location="0x40014000">Timer</peripheralInstance>
<peripheralInstance id="SYSCTL" derived_from="LPC13_SYSCTL" determined="infoFile"
location="0x40048000">System control block</peripheralInstance>
<peripheralInstance id="DCR" derived_from="CM3_DCR" determined="infoFile"
location="0xE000EDF0">M3 Debug Core Registers</peripheralInstance>
<peripheralInstance id="NVIC" derived_from="LPC17_NVIC" determined="infoFile"
location="0xE000E000">NVIC M3 Control/Status Regsiters</peripheralInstance>
</chip>
<link href="file:///F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/nxp_lpc11_13_peripheral.xme" type="simple" show="embed" />
<processor determined="detected">
<name rev="r0p0" ID="410FC230" gcc_name="cortex-m3">CM3</name>
<family>Cortex-M</family>
<regFormat id="xPSR" gdb_name="cpsr" special="PSR" description="xPSR contains the 3 main status register for the core: APSR, IPSR, and EPSR">
<fieldFormat id="N_flag" type="toggle" offset="[31]" on="N" off="n" description="The N flag is for negative or less-than"/>
<fieldFormat id="Z_flag" type="toggle" offset="[30]" on="Z" off="z" description="The Z flag is for zero result"/>
<fieldFormat id="C_flag" type="toggle" offset="[29]" on="C" off="c" description="The C flag is for carry or borrow"/>
<fieldFormat id="V_flag" type="toggle" offset="[28]" on="V" off="v" description="The V flag is for overflow"/>
<fieldFormat id="Q_flag" type="toggle" offset="[27]" on="Q" off="q" description="The Q flag is sticky from SSAT/USAT on saturation"/>
<fieldFormat id="Thumb_bit" type="toggle" offset="[24]" on="Thumb" off="invalid" description="The Thumb bit must always be set. If 0, it is an invalid state and will fault."/>
<fieldFormat id="IPSR" type="mixed" offset="[8:0]" enum="Base,,NMI,HardFault,MemManage,BusFault,UsageFault,,,,SVCall,Debug,,PendSV,SysTick" description="The IPSR field contains the current ISR for fault or IRQ, or 0 if at Base (no interrupt)"/>
<fieldFormat id="ICI_IT_high" type="value" offset="[26:25]" description="The ICI_IT field contains the current/saved state of an IT or interrupted LDM/STM"/>
<fieldFormat id="ICI_IT_low" type="value" offset="[15:10]" description="The ICI_IT field contains the current/saved state of an IT or interrupted LDM/STM"/>
</regFormat>
<regFormat name="Flags" special="PSR_TEXT" description="The Flags text line shows the APSR flag bits along with the T bit if not set"/>
<regFormat name="EPSR" special="PSR_TEXT" description="The EPSR register contains the current/saved state of an IT or interrupted LDM/STM"/>
<regFormat name="IPSR" special="PSR_TEXT" description="The IPSR register contains the current ISR for fault or IRQ, or 0 if at Base (no interrupt)"/>
<regFormat id="PSP" name="PSP" description="PSP (process stack) is currently selected as SP when IPSR=0."/>
<regFormat id="MSP" name="MSP" description="MSP (main stack, used for interrupts) is currently selected as SP when IPSR=0."/>
<regFormat id="CONTROL" name="CONTROL" description="CONTROL bits only apply when at base level (IPSR=0) indicates privilege level and which stack is used.">
<fieldFormat id="Privilege" type="toggle" offset="[0]" off="Privileged" on="User" description="Privilege level for a thread is either privileged (all) or user (limited)"/>
<fieldFormat id="Stack" type="toggle" offset="[1]" on="PSP" off="MSP" description="Stack indicates which is being used by SP (PSP or MSP)"/>
</regFormat>

0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Tue Jul 05 02:04:11 MST 2011
Hmm -that wasn't as helpful as I had hoped. Can you try setting the "Stream all stub messages to console" option in:

[FONT=Courier New][SIZE=1]Window -> Preferences -> LPCXPresso -> Debug Options(2)[/SIZE][/FONT]

and then capturing the MCU debug log again.

I would also suggest trying a mass erase of the flash (click on the "Program Flash" icon towards the right hand end of the LPCXPresso icon bar - looks like a black chip), and also try booting into ISP before connecting, as per:

http://support.code-red-tech.com/CodeRedWiki/DebugAccessChip

Regards,
CodeRedSupport
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Tim on Mon Jul 04 15:10:26 MST 2011
Here it is:

LPCXpresso Debug Driver v4.0 (Jun 21 2011 23:10:27)
Looked for chip XML file in F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/LPC1343.xml
Looked for vendor directory XML file in F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/nxp_directory.xml
Found generic directory XML file in F:/work/lingos/LPCXpresso_4.0.5_123/lpcxpresso/bin/crt_directory.xml
Emu(0): Conn&Reset. DpID: 2BA01477. Info: T1S6RGRIA
SWD Frequency: 3000 KHz. RTCK: False. Vector catch: False.
Packet delay: 0  Poll delay: 0.
NXP: LPC1343  Part ID: 0x3D00002B
Connected: was_reset=false. was_stopped=false
v Registered license, download limit of 128K
Writing 17776 bytes to 0000 in Flash (assumed clock: 72.0MHz)


At this point progress stops:(

Tim
0 项奖励
回复

2,542 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Mon Jul 04 13:12:50 MST 2011
In the first place, post the debug log...

http://support.code-red-tech.com/CodeRedWiki/DebugLog

Regards,
CodeRedSupport
0 项奖励
回复