Main Site Documentation

Why does my Flash Sector map differ from my Scatterfile?


#1

I am building my own firmware with GCC. The firmware is valid and works, but the sizes are not what I defined. I defined the deployment to start at 0x08080000, but when I load the Tinybooter and look at the Flash sectors in MFDeploy, I see it starts at 0x080A0000 and the size is 0x60000 instead of the expected 0x80000. I want to embed lots of resource files, so I want as much deployment space as possible…

Also, I defined Tinybooter to be 0x8000 in size, but it shows 0xC000 for the Boostrap size.

Is there another location where I should be setting this stuff? I just don’t see what I am doing wrong…

-Valkyrie-MT


#2

What is the chipset, Atmel or STM?


#3

@ Aron - Good question. It’s the STM32F405, just like the Cerberus.


#4

Have you checked the TinyCLR.proj file? There is a special line that needs to match the scaterfile.

This is the example from the Hydra:


<Target Name="TransferER_FLASH" Condition="'$(TARGETLOCATION)'!='RAM'" Inputs="$(BIN_DIR )\tinyclr.bin\er_flash" Outputs="$(BIN_DIR )\tinyclr.hex\er_flash">
    <Exec Command="BinToSrec -b 00084000 -i $(BIN_DIR)\tinyclr.bin\er_flash -o $(BIN_DIR)\tinyclr.hex\er_flash" />
  </Target>

I think there is another area that is hidden as well… just cannot remember right now but perhaps this will give you a hint to find the rest. :slight_smile:


#5

@ Aron - Thanks Aron, but my firmware does not seem to have those references. That’s ok though, I decided to just make use of the skipped sector for logging using the Cerberus InternalFlashStorage class. That wasn’t my original plan, but it should work well…