Whether can Kinetis MCU RAM continuous distribution ??

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

Whether can Kinetis MCU RAM continuous distribution ??

746 Views
thoomanwang
Contributor V

1.PNG

For example: uint8_t Buffer [100], the Buffer can be from 0 x1ffff FFF0 beginning, to the end of the 0 x2000 0054?

0 Kudos
Reply
3 Replies

525 Views
egoodii
Senior Contributor III

The memory is 'contiguous enough', you just CANNOT allow a single transaction to attempt to span the boundary, i.e. mis-aligned access.  If you attempt to read 32bits from 0x1FFFFFFF you will get a fault.

0 Kudos
Reply

525 Views
jorge_a_vazquez
NXP Employee
NXP Employee

Hi Tooman Wang

In Kinetis MCU you can access (read/write) to memory in aligned 16 bits, what I mean,  If your object is 8-bit length, then there is no problem. As long as you’re using unit8 there shouldn’t be problem, because you read/write bytes.

For more information you can check the following links that discuss about this topic:

RAM Memory Utilization

https://mcuoneclipse.com/2013/07/10/freertos-heap-with-segmented-kinetis-k-sram/

Hope this helps

Jorge Alcala

525 Views
thoomanwang
Contributor V

MEMORY { m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x000000F8 m_text      (RX) : ORIGIN = 0x00000410, LENGTH = 0x0001FBF0 m_data      (RW) : ORIGIN = 0x1FFFE000, LENGTH = 0x00002000 m_data_20000000 (RW) : ORIGIN = 0x20000000, LENGTH = 0x00002000 m_cfmprotrom  (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010

If i difine like this :

MEMORY {   m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x000000F8   m_text      (RX) : ORIGIN = 0x00000410, LENGTH = 0x0001FBF0   m_data      (RW) : ORIGIN = 0x1FFFE000, LENGTH = 0x00004000  m_cfmprotrom  (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010

If my application need 12K ram,Can my application run right?
0 Kudos
Reply