AnsweredAssumed Answered

USB Stack: Putting enumeration strings in FLASH?

Question asked by Bill Elliot on May 6, 2014
Latest reply on May 6, 2014 by Mark Butcher

Using the USB Stack v4.1.1 (for HID device) on an MK20DX128VLH5, I noticed that the enumeration structures were in RAM due to the following macro definitions at the top of usb_descriptor.c:

 

#if (defined __MCF52xxx_H__) || (defined __MK_xxx_H__)

/* Put descriptors in RAM */

#define USB_DESC_CONST

#else

#define USB_DESC_CONST const

#endif

 

where __MK_xxx_H__ is defined in the project. 

 

If I change the macro above to only "#if (defined __MCF52xxx_H__)" in order to put the structures into FLASH the code will compile fine (IAR EWARM) but the device will not enumerate.

 

Is there a fundamental reason that the enumeration strings can not be in FLASH?

 

Thanks,

 

Bill

Outcomes