cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F303CB: How many flash pages are accessible? Is it truly 128?

YYian.1
Associate

I have a piece of code which was developed on the STM32F303CC. This code writes to the last page of embedded flash (page 127), address 0x0803F000-0x0803F7FF.

The STM32F303CB has half the flash (128KB vs 256KB). Running the code on the CB still executes correctly. I found this odd as I expected the top half of flash pages to be non accessible.

Checking the Reference manual I can see the following:

"The memory organization is based on a main memory block containing 128 pages of 2 Kbytes in STM32F303xB/C"

So what does this tells us? One can access 128pages of flash in both the CC and CB versions of the chip?

If so how does the CB version only have 128KB of flash?

Does the CB version reserves the first 64 pages (in a space of 128 pages) used and then refuses to write to more pages?

Cheers,

Yiangos

2 REPLIES 2

Many of the part share a common die, portions of memory are tested to save time-on-tester which effects part throughput. They could in the future shrink the die to increase die/wafer, but I doubt they'll spend that much effort on old lines.

There is a 16-bit word in OTP that has the package/marking specific data about the flash size.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
YYian.1
Associate

Yes checking the 16bit word in the OTP does indeed return 128 (CB part) 256 (CC part)

I am not trying to check which of the parts I have. Rather my code saves some variables in page 128 and therefore I am trying to understand how 128kb of memory is mapped into 128, 2kb pages