Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Andy Ayre

ARM Cortex / Debugging SWD/USB
July 18, 2017, 01:08:57 AM
This post contains steps to help debug problems with using the "SWD over Link2" and "SWD over LPC11U35" interfaces.

1. I don't have entries in the Interfaces list

For LPCxpresso boards make sure to install the DFU Link jumper and for LPC-Link2 boards make sure to remove jumper JP1. Connect the boards to your PC and make sure they are recognized by Windows in the Device Manager as "LPC device". Then start Flash Magic. At this point an LED on the boards should start flashing.

2. The LED doesn't start flashing

Check the board has been recognized by the PC. In Device Manager look for "HID-compliant vendor-defined device". Right-click and choose properties. Then click on the Events tab and scroll down in the information box. You should see something like "Parent Device: USB\VID_1FC9&PID_F059\xxxxxxxxxx" where xxxxxxxx is the interface serial number.

General / Running on OS X
December 10, 2014, 07:57:18 AM
Steps to install:

  • Download
  • Double-click on the dmg file
  • A window will open with the Flash Magic application in it
  • Drag the Flash Magic application from that window to wherever you want to install it. e.g. Applications in Finder

If you get the following error:

QuoteERROR! cannot write to info.plist, there are permission problems, or you are on a read-only volume. This cannot run from within a read-only dmg file

then that means you have missed out step four in the list above.

ARM Cortex / Testing the Ethernet Bootloader
November 25, 2014, 03:07:17 AM
Here are details of our recent test of the Ethernet bootloader.

Flash Magic 8.55
Keil MCB1700 board version 1.2 with LPC1768

Rebuild the LPC1700 ethernet bootloader project using uVision/Realview V5.12

Program on to board using:

  • LPC1768
  • 19200 baud
  • Interface = None (ISP)
  • Oscillator = 12.000
  • Erase all flash
  • Verify after programming
  • Don't use my line feed settings

Connect board to router using standard Ethernet cable. The connection tested is as follows:

PC <----> Router <----> MCB1700

Reset board.

LED P2.6 is flashing showing that the bootloader is executing.

Ethernet link LED is on, activity LED is flashing.

Rebuild blinky example using uVision/Realview V5.12.

PC's IP address is, therefore we will use 192.168.1.XXX for the IP address of the bootloader, where XXX is an unused value that is not in the DHCP pool.

Restart Flash Magic, this time running as Adminstrator (right-click on EXE, choose 'Run as Administrator').

Program on to board using:

  • LPC1768 Ethernet
  • IP address
  • MAC address 0C-1D-12-E0-1F-10
  • UDP Tx Delay = 10
  • Erase block 2 only
  • Verify after programming

Erase, programming and verify is successful.

Reset the board.

LED P1.28 is now flashing showing that the blinky example is executing.

If you have any problems please refer to the sticky topic on Debugging the Ethernet Bootloader.
ARM Cortex / MCB1800 Board Hints
November 20, 2013, 02:06:59 AM
This is from Frank who ran into execution problems and hoped it would benefit others:

QuoteWhen downloading the firmware to KEIL's MCB1800 evaluation board via USART0, you have to set the jumpers J4A - J4D to select boot mode and also jumpers J13 / J16 to select Rx / Tx of USART0 (default position is USART3).

The download into the flash banks by Flash Magic works fine.
When resetting the device, it runs at first sight, but it gets stuck sporadically in the Hard Fault Handler.

You have to set the jumpers J13 / J16 back to USART3 position to avoid sporadic adressing errors on A12 / A13.

Thanks Frank for sharing!
General / MOVED: P89CV51 support
September 13, 2012, 01:03:11 AM
The following is from Per Olesen on solutions he found to problems using the MCB900. Thank you to Per for providing this for the benefit of others!

QuoteI use the TSSOP types on my boards, so it is not possible to program them in the MCB900, and then move it to the target board.

In 2 cases I had the problem that it would only program 1. Time.

Solution problem 1: I had a RS485 chip on the RxT TxT line on the target board, and with no external power on the target board, the RxT line was overloaded. I simply put a 100K resistor in serial with the input on the 485 chip, and it worked fine.

Solution problem 2: To be safe I had placed a 100uF capasitor on the VDD of the LPC, and it is too much, it kills the rise time of the VDD from the programmer. 22uF works.
Announcements / Yahoo
July 15, 2011, 12:56:37 AM
Sadly we now have to ban the use of Yahoo email addresses due to spammers. If you wish to obtain an exception to this please contact us through email.

Announcements / Hotmail
July 04, 2011, 01:19:53 AM
Spammers are repeatedly posting using Hotmail accounts, so sadly we will not allow registrations using Hotmail from this point on.

When registering for this forum please use your company email address. If you don't have one and wish to ask for an exception please contact us via email first.

Off-Topic (Read Only) / This Section is Now Read Only
January 28, 2011, 01:07:13 AM
The inclusion of an off-topic area was to allow questions on other aspects of microcontrollers. Sadly, spammers see this as a potentially valid place to post in the hopes that their spam will be kept.

We have now marked this area a read only, therefore all questions and answers on this forum must be related to Flash Magic in some way, otherwise they will be deleted.

For general microcontroller support please visit or the NXP LPC support groups.

Previously code read protection was enabled by checking a box in the main window of Flash Magic. This supported only level 2 of CRP.

Starting with Flash Magic 5.11 the code read protection setting is read from the hex file and all CRP levels are supported. If an attempt is made to set the device to CRP3 then the user is prompted for confirmation.

To set the CRP value in your project add something like the following (Keil RealView example):

const unsigned long crp __attribute__ ((at(0x1FC))) = 0x87654321;


const unsigned long crp __attribute__ ((at(0x2FC))) = 0x87654321;

If you don't wish to use CRP then set the value to zero.

If you have previously programmed hex files without problems and now find that you cannot read the contents of memory or access a few other features then this change is the likely cause. Erase all the flash in the device and add the above line (or similar).