Deploying 'release' version of firmware from Crossworks or FlashMagic

Started by kevin_townsend2 November 5, 2009
I've recently finished a project that I want to be able to deploy to a handful of devices, and have built the hex file in release mode in Crossworks with Level 1 optimisations. I can run it properly from within Crossworks over JTAG (the USB device enumerates, and FreeRTOS starts executing tasks as expected), but when I try to deploy the HEX files via Flash Magic and then reset the device (after verifying the uploaded hex file), nothing seems to happen. When I deploy it via JTAG in Crossworks and then reset the device, it also doesn't seem to execute (I have to run via F5).

Do I need to set some specific compiler option so that the code starts executing when building for release mode? I definately was expecting it to run (or remain in flash), and I'm not really sure what I'm doing wrong???

An Engineer's Guide to the LPC2100 Series

----- Original Message -----
From: "kevin_townsend2"
To:
Sent: Thursday, November 05, 2009 2:30 PM
Subject: [lpc2000] Deploying 'release' version of firmware from Crossworks
or FlashMagic
> I've recently finished a project that I want to be able to deploy to a
> handful of devices, and have built the hex file in release mode in
> Crossworks with Level 1 optimisations. I can run it properly from within
> Crossworks over JTAG (the USB device enumerates, and FreeRTOS starts
> executing tasks as expected), but when I try to deploy the HEX files via
> Flash Magic and then reset the device (after verifying the uploaded hex
> file), nothing seems to happen. When I deploy it via JTAG in Crossworks
> and then reset the device, it also doesn't seem to execute (I have to run
> via F5).
>
> Do I need to set some specific compiler option so that the code starts
> executing when building for release mode? I definately was expecting it
> to run (or remain in flash), and I'm not really sure what I'm doing
> wrong???

You need STARTUP_FROM_RESET. See the CrossWorks FAQs.

Leon

kevin_townsend2 wrote:
> I've recently finished a project that I want to be able to deploy to a handful of devices, and have built the hex file in release mode in Crossworks with Level 1 optimisations. I can run it properly from within Crossworks over JTAG (the USB device enumerates, and FreeRTOS starts executing tasks as expected), but when I try to deploy the HEX files via Flash Magic and then reset the device (after verifying the uploaded hex file), nothing seems to happen. When I deploy it via JTAG in Crossworks and then reset the device, it also doesn't seem to execute (I have to run via F5).
>
> Do I need to set some specific compiler option so that the code starts executing when building for release mode? I definately was expecting it to run (or remain in flash), and I'm not really sure what I'm doing wrong???
Have you defined STARTUP_FROM_RESET? See the CrossWorks FAQ.

Regards,
Richard.

+ http://www.FreeRTOS.org
Designed for Microcontrollers. More than 7000 downloads per month.

+ http://www.SafeRTOS.com
Certified by T as meeting the requirements for safety related systems.

Richard:

Thanks for that ... I added it to preprocessor definitions for 'release' mode and it works fine now. Here's the link if anyone else comes across this:

http://rowley.zendesk.com/forums/51134/entries/50337

> Have you defined STARTUP_FROM_RESET? See the CrossWorks FAQ.
>
> Regards,
> Richard.