Reserved memory for ROM-based USB-HID

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Reserved memory for ROM-based USB-HID

190 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by ktownsend on Sun Jan 24 12:29:01 MST 2010
The user manual states that rom-based USB (HID) uses 0x1000 0050-0180, meaning you can't use any of this memory yourself (which I found out the hard way) ... I was wondering if someone could confirm whether this chunk of memory was automatically being set aside in LPCXpresso or not (I'm sure it's not), and what the easiest way to reserve this memory block is?  In the case of Crossworks I just modified the flash placement file to start at 0x10000180, but not being terribly familiar with RedSuite/LPCXpresso I'm not sure how to go about that with your own software.  For reference sake, here's the quote (p.131 of the latest UM):

[FONT=Arial][SIZE=2][FONT=Arial][SIZE=2][LEFT]On-chip RAM from address 0x1000 0050 to 0x1000 0180 is used by the USB driver. This address range should not be used by the application. For applications using the on-chip USB driver, the linker control file should be modified appropriately to prevent usage of this area for the application’s variable storage[/LEFT]
[/SIZE][/FONT][/SIZE][/FONT]
0 Kudos
2 Replies

178 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by whitecoe on Sun Jan 24 12:57:51 MST 2010
There is some stuff on using your own linker script files with the LPCXpresso IDE (rather than the auto-generated ones) at:

http://lpcxpresso.code-red-tech.com/LPCXpresso/node/31
0 Kudos

178 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by ktownsend on Sun Jan 24 12:36:41 MST 2010
I can see that this linker file is being automatically generated, but I'm not sure if there's a way to adjust it's content from within the IDE, or would I have to manually provide the linker file(s) myself?

/*
* GENERATED FILE - DO NOT EDIT
* (C) Code Red Technologies Ltd, 2008-9
* Generated linker script include file for
* (created from LinkMemoryTemplate (v3.1.2 (200912111246)) on Sun Jan 24 20:16:34 CET 2010)
*/
MEMORY
{
/* Define each memory region */
MFlash32 (rx) : ORIGIN = 0x0, LENGTH = 0x8000 /* 32k */
RamLoc8 (rwx) : ORIGIN = 0x10000000, LENGTH = 0x2000 /* 8k */
}
/* Define a symbol for the top of each memory region */
__top_MFlash32 = 0x0 + 0x8000;
__top_RamLoc8 = 0x10000000 + 0x2000;
0 Kudos