Main Site Documentation

TinyCLR OS Memory Map


Is there a memory map for TinyCLR OS? I need to erase and use some sectors and don’t want to walk all over TinyCLR OS. I’m using the Quail (STM32F427) if that makes any difference. My current NETMF code uses sectors 10 and 11. Thanks.


You should be able to find what you need between the platform header file and the memory scatter file. Both are in the specific port’s folder.


Indeed I was wondering how TinyCLR OS porting structure takes care of what in .NET MF source tree was made of target-specific BlockConfig configuration (for flash pages, section definitions for CLR, CONFIG and DEPLOYMENT areas, etc.), as well as flash memory controller, e.g. in 427/429/437/439 flash memory over 1Mb is available only driving these mcu’s new flash controller, as far as I know.

It seems that acting only through scatter files and deviceselctor.h constants some degree of freedom is actually lost…am I wrong?


@ Innovactive and B5 Fan - All of that information is now managed by the device itself. All TinyCLR needs to know is where the deployment is. You can put the deployment anywhere you want as long as you satisfy the deployment provider requirements: at least one memory range that can be read, written, and erased with optional XIP. The firmware itself can go anywhere, it doesn’t need to know where it’s executing from.


I installed the FEZCerberus firmware onto my STM32F405 board and started my project. I exited the project and went to DFU Tester and examined the memory map. It showed sectors 10 and 11 with code. The header bytes were GHI ASM1. My code uses sectors 10 and 11 for data storage and when I tried to erase them I got an exception. Are these sectors reserved and are there any that are available that I can use? Thanks.


You need to change to port so it ignores the last sectors that you want to use to store dates. The stock firmware uses the entire flash.