K70 internal RAM size

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

K70 internal RAM size

Jump to solution
1,311 Views
jeffgu
Contributor I

Can anyone tell me what is the size of K70 RAM. I got confused by 2 different explanation.

From the datasheet, it is said 128KB as pasted below:

捕获.JPG

Another way  is from icf file, from the file, it seems that it is 64KB.

MK70FN1M0_RAM.icf

/*-Memory Regions-*/

define symbol __ICFEDIT_region_ROM_start__   = 0x00000000;

define symbol __ICFEDIT_region_ROM_end__     = 0x0007FFFF;

define symbol __ICFEDIT_region_RAM_start__   = 0x20000000;

define symbol __ICFEDIT_region_RAM_end__     = 0x2000FFFF;

/*-Sizes-*/

define symbol __ICFEDIT_size_cstack__   = 0x4000;

define symbol __ICFEDIT_size_heap__     = 0x4000;

/**** End of ICF editor section. ###ICF###*/

So what is the real size?

Presently I'm usng the MK70FX512VMJ12.

Labels (1)
0 Kudos
Reply
1 Solution
1,147 Views
mjbcswitzerland
Specialist V

Jeff

All K70s have 128k - to be absolutely sure, always check the orderable parts in the respective user's manual:

pastedImage_0.png

I don't know where you got the linker script file from but it is only allocating the RAM_U (0x20000000..0x2000ffff) and not RAM_L (0x1fff0000..0x1fffffff).

Generally

define symbol __ICFEDIT_region_RAM_start__   = 0x1fff0000;

define symbol __ICFEDIT_region_RAM_end__     = 0x2000FFFF;

is correct but it may be that only half of the RAM is being used due to worries about the fact that there is a restriction when accessing data in both RAM_L and RAM_U (burst accesses can't occur across the 0x20000000) but this is a very specific case and usually one can just use it as if it were a single block of memory.

Regards

Mark

Kinetis: µTasker Kinetis support

K70: µTasker Kinetis TWR-K70F120M support  / µTasker EMCRAFT K70F120M support

For the complete "out-of-the-box" Kinetis experience and faster time to market

View solution in original post

0 Kudos
Reply
2 Replies
1,148 Views
mjbcswitzerland
Specialist V

Jeff

All K70s have 128k - to be absolutely sure, always check the orderable parts in the respective user's manual:

pastedImage_0.png

I don't know where you got the linker script file from but it is only allocating the RAM_U (0x20000000..0x2000ffff) and not RAM_L (0x1fff0000..0x1fffffff).

Generally

define symbol __ICFEDIT_region_RAM_start__   = 0x1fff0000;

define symbol __ICFEDIT_region_RAM_end__     = 0x2000FFFF;

is correct but it may be that only half of the RAM is being used due to worries about the fact that there is a restriction when accessing data in both RAM_L and RAM_U (burst accesses can't occur across the 0x20000000) but this is a very specific case and usually one can just use it as if it were a single block of memory.

Regards

Mark

Kinetis: µTasker Kinetis support

K70: µTasker Kinetis TWR-K70F120M support  / µTasker EMCRAFT K70F120M support

For the complete "out-of-the-box" Kinetis experience and faster time to market

0 Kudos
Reply
1,147 Views
jeffgu
Contributor I

Mark,

You completely help solved my question.

The icf file is from Freescale USB stack v4.1.1, not sure you have already updated it or not in 5.0 version. Thank you any way.

Jeff

0 Kudos
Reply