Hello all;
I am currently using emUSB (CDC device profile) along with embOS successfully in a project, targeting Atmel's AT91SAM7S256. Now, I wish to add a bootloader/firmware update application that will take a hex file from a PC via USB in order to update the firmware. I wish to again use emUSB (CDC), however without an OS this time.
In the emUSB manual, on page 14 it states that emUSB can be used with or without an RTOS. However, on page 21, it states that a real-time kernel is required. Isn't this conflicting?
I've tried to use the USB_OS_NONE interface with no success - it seems as though I'm not getting any interrupts. I've put a breakpoint on the assembly code located at 0x18 - I can see this is being hit from the firmware (the Timer interrupt for embOS), but not my bootload application. My intent was to have logic located at this location to call the appropriate interrupt handler function - either that of embOS or emUSB - but I'm not even getting that far. Shouldn't the emUSB driver take care of ensuring all required interrupts are enabled? If so, is there some interrupt vector remapping that I must be doing when switching between apps?
Thanks for any advice,
Derrick
I am currently using emUSB (CDC device profile) along with embOS successfully in a project, targeting Atmel's AT91SAM7S256. Now, I wish to add a bootloader/firmware update application that will take a hex file from a PC via USB in order to update the firmware. I wish to again use emUSB (CDC), however without an OS this time.
In the emUSB manual, on page 14 it states that emUSB can be used with or without an RTOS. However, on page 21, it states that a real-time kernel is required. Isn't this conflicting?
I've tried to use the USB_OS_NONE interface with no success - it seems as though I'm not getting any interrupts. I've put a breakpoint on the assembly code located at 0x18 - I can see this is being hit from the firmware (the Timer interrupt for embOS), but not my bootload application. My intent was to have logic located at this location to call the appropriate interrupt handler function - either that of embOS or emUSB - but I'm not even getting that far. Shouldn't the emUSB driver take care of ensuring all required interrupts are enabled? If so, is there some interrupt vector remapping that I must be doing when switching between apps?
Thanks for any advice,
Derrick