In the KDS IDE, I define a variable as follows:
#define MAX_DATA_LENGTH | (1024*40) |
uint8 pic_data[MAX_DATA_LENGTH];
When I build the project, compiler push these problem
I watch the .map file, I got the message as follow
So I think, the compiler have the limitation size of 0x00008000 ,and I define the variable pic_data whitch overlow the limit.
Unfortunately, I have to define this variable which need to have buffer size of 40*1024 byte.
Also, I select the MCU part number MK10DX256VLH7, and it has ram size of 64k byte. I am sure the variable size is in the physical limit.
Can you tell me how to change the memory configuration!
消息编辑者为:guo huoping
Solved! Go to Solution.
See as well the comments section in
http://mcuoneclipse.com/2013/07/10/freertos-heap-with-segmented-kinetis-k-sram/
It would be possible that you combine the two memory areas, as long you do not have misaligned accesses.
Then you can have one piece of 64 KByte memory.
For this, remove the m_data_2000000 from the linker file and just use one 64 KByte data segment.
Erich
You can allocate that variable in the m_data_2000000 area:
static
uint8 __attribute__((section (
".m_data_20000000"
))) pic_data[MAX_DATA_LENGTH];
see
http://mcuoneclipse.com/2013/07/10/freertos-heap-with-segmented-kinetis-k-sram/
I hope this helps,
Erich
Hi Erich:
Thank You!
See as well the comments section in
http://mcuoneclipse.com/2013/07/10/freertos-heap-with-segmented-kinetis-k-sram/
It would be possible that you combine the two memory areas, as long you do not have misaligned accesses.
Then you can have one piece of 64 KByte memory.
For this, remove the m_data_2000000 from the linker file and just use one 64 KByte data segment.
Erich
Thank you very much!