In: Electrical Engineering
Describe three types of memory that are used in an MSP430, explain specifically what each memory type’s purpose and why that type of memory is best suited for that use.
The interrupt vector table is mapped at the very end of memory space (upper 16 words of Flash/ROM), in locations 0FFE0h through to 0FFFEh (see the device-specific datasheets). The priority of the interrupt vector increases with the word address .
The start address of Flash/ROM depends on the amount of Flash/ROM present on the device. The start address varies between01100h (60k devices) to 0F800h (2k devices) and always runs to the end of the address space at location 0FFFFh.
Flash can be used for both code and data. Word or byte tables can also be stored and read by the program from Flash/ROM. All code, tables, and hard-coded constants reside in this memory Space.
The MSP430 flash devices contain an address space for information memory. It is like an onboard EEPROM, where variables needed fort he next power up can be stored during power down. It can also be used as code memory.
The MSP430 flash devices contain an address space for boot memory, located between addresses 0C00h through to 0FFFh. The“bootstrap loader” is located in this memory space, which is an External interface that can be used to program the flash memory in addition to the JTAG. This memory region is not accessible by other applications, so it cannot be overwritten accidentally.
RAM always starts at address 0200h.
The end address of RAM depends on the amount of
RAM present on the device. RAM is used for both code and data.
Peripheral modules consist of all
on-chip peripheral registers that are mapped into the address
space. These modules can be accessed with byte or word
instructions, depending if the peripheral module is 8-bit or 16-bit
respectively. The 16-bit peripheral modules are located in the
address space from addresses 0100 through to 01FFh and the 8-bit
peripheral
modules are mapped into memory from addresses 0010h through to
00FFh.
The Special Function Registers (SFRs) are located at memory addresses from 0000h to 000Fh. SFRs must be accessed using byte instructions only