- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I see a very big difference in memory footprint for PSoC3 and PSoC5
( I changed only Project-> Device selector-> select chip )
What is the reason for this difference and whether it is possible to reduce.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
PSoC3 is a 8051 core, PSoC5 is a ARM-Cortex M3. Different startup code, different instruction set, different libaries (due to different compilers), different code optimizations.
If you really need to get it smaller (right now there is plenty of room left), turn on better optimizations.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
PSoC3 is a 8051 core, PSoC5 is a ARM-Cortex M3. Different startup code, different instruction set, different libaries (due to different compilers), different code optimizations.
If you really need to get it smaller (right now there is plenty of room left), turn on better optimizations.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The 8051 is a very old design and its internal structure is not optimized to run stack-oriented languages as C. Optimization is difficult with only a few registers which have dedicated functionality and nearly no (256 bytes) stack.
On the other hand is a RISC with a mostly symmetrical set of registers, an nearly unlimited stack depth. The optimization usually frees 50% flash compared to no optimization.
The only advice I can give you is: Use a PSoC5
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you. It seemed to me that in other projects it was not so noticeable.
I'll keep that in mind.