Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Real time embedded FreeRTOS mailing list 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT Training




Loading

More Secondary USB Bootloader with Rowley

Posted by Ken Mosher on October 9, 2009
After a lengthy support back and forth with the fine folks at Rowley Crossworks, we are at a stand still ... hoping somebody can give us an "AH HA" moment! I can send the project files if somebody with Crossworks wants to look.

Anyway, we are using the NXP/Phillips USB Secondary Bootloader (AN10759.pdf on their site). It works fine with their samples built with the Keil toolchain.

The FreeRTOS Rowley demo works great "out of the box", but when we make the settings changes in Crossworks to rebuild the demo to use 0x2000 as the starting address (and remap the interrupts), it doesn't work.

The Rowley folks used a JTAG debugger (we're evaluating their tool, so we don't have a compatible JTAG device yet) and the result was:

<B>If I debug your FreeRTOS app it starts up (again under debugger control) and dies on the call to vTaskStartScheduler. Interrupts seem to be routed OK.,</b>




RE: More Secondary USB Bootloader with Rowley

Posted by MEdwards on October 9, 2009
Is this an ARM7 device? If so dyeing on vTaskStartScheduler() probably means the chip is not in Supervisor mode. Put a break point on vTaskStartScheduler() then check the mode.

RE: More Secondary USB Bootloader with Rowley

Posted by Ken Mosher on October 9, 2009
Yep, it's an ARM7 device ...

We can't, since I don't have a compatible JTAG device for Crossworks ... what do we need to do to do to put it in Supervisor mode?

RE: More Secondary USB Bootloader with Rowley

Posted by Ken Mosher on October 9, 2009
To elaborate:

- LPC2368 ARM7
- MCB2300 development
board

Trying to get FreeRTOS to run in the target mode with bootloader using evaluation license on Crossworks.

If I can get that to work, then we're golden and we'll buy the Crossworks setup and go to town!

RE: More Secondary USB Bootloader with Rowley

Posted by MEdwards on October 9, 2009
If Rowley have been debugging your code ask them to check the processor is in Supervisor mode.

RE: More Secondary USB Bootloader with Rowley

Posted by Ken Mosher on October 9, 2009
<*grin*> Well, they kicked us over here.

We have SUPERVISOR mode defined in the .s file, BTW

RE: More Secondary USB Bootloader with Rowley

Posted by Richard on October 9, 2009
The start up assembly file will switch into each mode, set up a stack for that mode, before switching into the next mode (modes being IRQ, FIQ, Supervisor, User, etc). You have to ensure that before calling main() you leave the processor in Supervisor mode. Also never go into User mode but instead go into System mode, otherwise you will not be able to get out of User mode without making a system call.

The same will be true before you call the FreeRTOS application from your boot loader - make sure you are in Supervisor mode.

Regards.

RE: More Secondary USB Bootloader with Rowley

Posted by Ken Mosher on October 9, 2009
We are using the supplied .s file (with the demo) except for the offset of the Memory Map to start at 0x2000 ... the "SUPERVISOR" define is defined in the .s file ...

So, I'm not quite sure what you are saying?

RE: More Secondary USB Bootloader with Rowley

Posted by Ken Mosher on October 9, 2009
**GOT IT!**

We were chasing it in the wrong file ... it was in the way the bootloader was exiting (not the way FreeRTOS was starting). *DOH*

Thanks millions for the help!


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.


Free TCP/IP and file system demos for the RTOS


Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists