- Silicon Labs Community
- Welcome and Announcements
- Silicon Labs Knowledge Base
- 8-bit MCU
- 32-bit MCU
- Bluetooth / Wi-Fi
- Other Products Category
- Optical/RH/Temp Sensor
- Other Products
- Hardware and Software Tools
- Simplicity Studio and Software
- General Discussions and Suggestions
- Chinese Forum
- Software Libraries
- Development Kits
- Reference Designs
- Third Party Tools
- White Papers
- Official Blog of Silicon Labs
- Chinese Blog
10-09-2017 03:15 PM
10-09-2017 05:04 PM
Re: c8051f206 chip expandable to 64k code space?
.... From the IDE go to Project -> Tool Chain Integration -> Compiler -> Customize -> Memory Model -> Code size limits. Here I can change this from small: Program 2k or less to 64k.
That is just the Compiler setting, not the physical device setting.
2k options is historic in 8051 tools, allows use of AJMP, and some evaluation versions used limited size.
Silabs have had 64k tools for some time now.
2) Why does the spec sheet for this device make no mention of the extra space?
Because there is no 'extra space' c8051f206 has 8k Flash.
You have confused a compiler setting, with a physical flash size.
Of course, it would be wonderful to be able to increase the physical flash in any 8051, from a PC GUI, but the real world does not work that way
10-09-2017 05:26 PM
10-09-2017 07:15 PM
My understanding is that the compiler creates an "artificial" memory boundary, which this setting changes. What I don't understand is why the 8051 line is 64k architecture but the f206 spec sheet has no mention of this? In fact it states it is limited to 1280 bytes. Why is this the case?
The 8051 architecture can support up to 64k of CODE(flash) and 64k of XDATA(RAM), but it is rare to find a controller with both those maxed out.
XDATA is especially costly to add, and the largest XDATA in mainstream 8051 MCUs is ~ 8k
It is up to the chip supplier to choose how much Flash and RAM they include, as they do add cost, and that can remove customers....
The F206 has 8k CODE and 1024+256 bytes of RAM, which means 1024 bytes of XDATA.