I'm confused that KEIL MDK has 2 options as the below,
One is off-chip
The other is
I'm confused that what is the difference between Off-chip and On-chip?
"On-Chip" means literally what it says - the memory is on the chip!
to spell it out, the memory is integrated onto the same chip - ie, the same piece of silicon - as the CPU and its peripherals.
So, conversely, "Off Chip" means that the memory is not on the same chip as the CPU. Thus the memory is external to the IC.
Thanks Could you let me know what is the No Init check box?
Have you tried pressing the 'Help' button?
See also: µVision User's Guide: Target (MDK-ARM)
I have one more question,
I'm not sure whether do they work as the same or not, if I set the ROM1 : 0x01000000 or IROM1 :0x01000000 ?
They would be very similar, if not identical, review the documentation, experiment and review the output.
That's really a question for Keil.
As Clive One says, it's unlikely to make any difference.
As he said earlier, it's there to allow you to assign stuff to different memory types when you have specific reasons to do so; eg, because your particular hardware design has different types of memory available.
Remember that Keil is just a software tool.
It allows different memory regions to be defined, these may be physically non-contiguous, and of varying access speed.
NO INIT - Doesn't initialize, don't use for variables you expect to have initial content, ie float pi = 3.14f;
Clive One wrote: NO INIT ... don't use for variables you expect to have initial content, ie float pi = 3.14f;
Clive One wrote:
NO INIT ... don't use for variables you expect to have initial content, ie float pi = 3.14f;
Also means that statics without initialisation won't be zeroed.
This is useful if you want data to survive a reset; eg, if you have some sort of "non-volatile" RAM ...
Retrieving data ...