Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
CaDu_3933941
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

Hi all,

 

I am currently working on a project that requires the logging of some events. This requires more capacity than that provided by the EEPROM so I am now considering using the rest of the flash space available (256k in total). 

My only concern with doing this is that I would need to know which is the last row that contains my code as I do not wish to overwrite any of this of course. 

I have been looking around and do not seem to be able to find any information on this. Would anyone know how to tell which rows are safe to write?

My device also uses a Bootloader, which only leaves me with the space between the last application row and the first metadata row.

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

At the last part of Compiler output usage of Flash is reported, 

so (I think that) you can calculate the rows used from that number.

001-Compiler_output.JPG

Or we can refer to the map file

<project>\CoretexM3\ARM_GCC_541\Debug\<project>.map

Note: To generate map file, we need to set

Create Map File to True

in Build Settings > ARM GCC xxx > Linker > General 

002-Build_Setting_Linker.JPG

 

BTW, if all you need is larger EEPROM type storage,

we could use EmEEPROM instead of EEPROM.

And by using EmEEPROM, we don't have to worry about the row numbers

as far as the size of EmEEPROM fits inside the available Flash area.

Attached is my emEEPROM test I wrote while ago,

or you can just refer to the datasheet of Em_EEPROM Component.

moto

 

View solution in original post

2 Replies
lock attach
Attachments are accessible only for community members.
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

At the last part of Compiler output usage of Flash is reported, 

so (I think that) you can calculate the rows used from that number.

001-Compiler_output.JPG

Or we can refer to the map file

<project>\CoretexM3\ARM_GCC_541\Debug\<project>.map

Note: To generate map file, we need to set

Create Map File to True

in Build Settings > ARM GCC xxx > Linker > General 

002-Build_Setting_Linker.JPG

 

BTW, if all you need is larger EEPROM type storage,

we could use EmEEPROM instead of EEPROM.

And by using EmEEPROM, we don't have to worry about the row numbers

as far as the size of EmEEPROM fits inside the available Flash area.

Attached is my emEEPROM test I wrote while ago,

or you can just refer to the datasheet of Em_EEPROM Component.

moto

 

This helps a lot. Thanks again Moto!