How is the maximum code size of XMOS XE216-512-TQ128? Topic is solved

If you have a simple question and just want an answer.
hantfhan
Junior Member
Posts: 4
Joined: Fri Nov 07, 2014 1:22 pm

How is the maximum code size of XMOS XE216-512-TQ128?

Post by hantfhan »

Could anyone answer me?
How is the maximum code size (or program size except ram) of XMOS XE216-512-TQ128?
When XMOS is powered on, the program from external flash memory will be loaded into RAM of XMOS chip, won’t it?
If so, when I use “xMOS-200 explorerKIT”, flash memory 8 Mb and RAM of XE216-512-TQ128 chip 512Kb, should the program size be limited to RAM of XMOS chip 512Kb?
Why is “xMOS-200 explorerKIT” provided with external flash memory 8Mb?


View Solution
matthew1
Active Member
Posts: 48
Joined: Mon Oct 19, 2015 2:12 pm

Post by matthew1 »

Hi hantfhan,

sure you're aware of this, but I just wanted to clarify: there's a mix of bits and bytes in your question which does confuse things a little. As Bianco says, the XE216-512-TQ128 has two tiles with each 256 KByte RAM; the flash memory on the eXplorer board is 1MBtye - 8Mbit.

Regards,

Matthew.
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm

Post by Bianco »

The XE216-512-TQ128 has two tiles with each 256 KB RAM. All code is executed from RAM. So the maximum code size is 256 KB for each tile and 512 KB in total (but you can't just add them up because each tile has its own memory space). Please note that each program also requires stack and data sections, so it is unlikely to use the whole 256 KB of RAM for code only.

I want to add that there is an option however to get a larger program on the XMOS platform, it is called overlays, and consists of code resident in the flash memory but loaded into RAM when required, therefore a part of RAM may contain different code at distinct times. It is however only useful for code that is not executed often because loading from flash is relatively slow.

The Explorer kit has a larger external flash memory, this can be used in multiple ways: the external flash can also be used to store non-volatile data using libflash. The external flash can also contain the images of other XMOS processors that boot through an xCONNECT Link. And the overlays mentioned above.
hantfhan
Junior Member
Posts: 4
Joined: Fri Nov 07, 2014 1:22 pm

Post by hantfhan »

Thank you for your reply. May I ask other questions?
The XMOS XEF216-512-TQ128 has 2MB internal flash memory, but XE216-512-TQ128 does not have internal flash memory.
What is the pros & cons of XEF216-512-TQ128 when compared with XE216-512-TQ128?
Can we use standalone chip XEF216-512-TQ128 without external flash memory for program code?
Should we have another configuration of code or program for XEF216-512-TQ128 when compared with XE216-512-TQ128?
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am

Post by mon2 »

The XMOS XEF216-512-TQ128 has 2MB internal flash memory, but XE216-512-TQ128 does not have internal flash memory.
Correct.
XEF216-512-TQ128 = part has internal Flash.
XE216-512-TQ128 does not have internal flash memory.
Correct. Part will NOT have internal flash (F is missing in the p/n).
What is the pros & cons of XEF216-512-TQ128 when compared with XE216-512-TQ128?
Pros - single chip solution. May be available in stock as compared to other models of this p/n. You may be able to use the SPI flash pins as GPIO for your project - check this detail with the respective datasheets.
Cons - you will pay a slight premium for the p/n with internal flash. The flash is a fixed size so cannot be changed after you have sourced the p/n.

If you source the p/n without internal flash, you can purchase an external flash from assorted suppliers and perhaps negotiate lower costs over time. For example, just received an alter from a major supplier in China (icbase.com) noting a Chinese memory supplier who has a line of replacement parts to Atmel, ST, etc. but at lower costs. The replacement vendor is Chips Winner. Will ping them to request the costs to confirm if it makes business sense to migrate to alternate suppliers.
Can we use standalone chip XEF216-512-TQ128 without external flash memory for program code?
Correct.
Should we have another configuration of code or program for XEF216-512-TQ128 when compared with XE216-512-TQ128?
If you select this device as a target, the compiler should do the rest.