Memory is essential part of microntrolller. when you read datasheet of microcontroller that supports different types of memory such as Code flash, Data Flash, RAM, ROM, EEPROM and NVM.
Microcontroller feature list contains the details of supported memories.
Below example picture shows the different memory in the microcontroller. Important note here is we need to define memory boundaries for each memory section in the linker script file.
Renesas Memory structure:
Tricore-AURIX Memory
PXR40 Microcontroller from NXP:
Classification of Memory
Primary Memory
Primary memory is very fast but it cannot hold data without power. RAM( Random-access memory) is called as primary memory or main memory.RAM is divided into two types based on speed such as SRAM and DRAM.
SRAM- Static Random Access Memory
DRAM - Dynamic Random Access Memory.
Secondary Memory:
Flash, EEPROM and NVRAM is most important memories in modern automotive controllers.ROM - Read Only Memory: In this memory we can only read the programs and data stored on it but cannot write on it.
Mask ROM: Mask ROM (MROM) chips contain a software mask that is burned onto the chip during the design phase of the semiconductor manufacturing process.
automotive application supporting ECU mostly not contain the MROM.
PROM - PROM stands for Programmable Read-Only Memory. These are programmable chips, the main characteristic being it can only be programmed one time. That is it cannot be erased or reprogrammed. They are also known as One Time Programmable devices or OTPs for short.
EPROM - EPROM stands for Erasable Programmable Read-Only Memory. These chips usually have a small glass window on top and if you expose them to direct sunlight that will erase the chip’s data. They can then be programmed again with fresh data.
EEPROM - EEPROM stands for Electrically Erasable Programmable Read-Only Memory. These chips can be erased and reprogrammed using electricity as opposed to exposing them to UV rays as EPROMs. this memory is comparatively slow and has limited number of write cycles and hence used to store the data that needs to be saved when power supply of microcontroller is switched off.
FLASH Memory: Flash memory is kind of EEPROM. EEPROMs are reprogrammable one bit at a time, while flash storage is a reprogrammable one block at a time. It uses non-volatile memory, which means that data is not lost when the power is turned off. Flash Memory is divided into two types based on using technology, such as –NAND and NOR Flash.
NVRAM - Non Volatile Random Access Memory
- This memory like a SRAM with Power supply. the contents of NVRAM will not lost when power off.
=================================================================================================
Memory Model in different MCs
Basically we have RAM, ROM, EEPROM, FLASH and NVRAM memories but different MCs dividing these memories into different section.
Tiva™ TM4C1294NCPDT Microcontroller:
On-Chip Memory
The TM4C1294NCPDT microcontroller is integrated with the following set of on-chip memory and features:
- 256KB single-cycle SRAM
- The internal SRAM of the device is located at offset 0x2000.0000 of the device memory map.
- Data can be transferred to and from SRAM by the following masters:
- µDMA
- USB
- Ethernet Controller
- 1024KB Flash memory
- The Flash memory is configured as four banks of 16K x 128 bits (4 * 256 KB total) which are two-way interleaved. Memory blocks can be marked as read-only or execute-only, providing different levels of code protection
- 6KB EEPROM
- 6K bytes of memory accessible as 1536 32-bitwords
- Access protection per block
- Interrupt support for write completion to avoid polling
- Internal ROM loaded with TivaWare™ for C Series software:–
- TivaWare™ Peripheral Driver Library
- TivaWare Boot Loader
- Advanced Encryption Standard (AES) cryptography tables–
- Cyclic Redundancy Check (CRC) error detection functionality
STM32F405/415
- Memories
- Up to 1 Mbyte of Flash memory
- Up to 192+4 Kbytes of SRAM including 64-Kbyte of CCM (core coupled memory) data RAM
- Flexible static memory controller supporting Compact Flash, SRAM, PSRAM, NOR and NAND memories
- The 4-Kbyte backup SRAM is an EEPROM-like memory area. It can be used to store data which need to be retained in VBAT and standby mode
- 4 Kbytes of backup SRAM
- SRAM: The embedded SRAM can be accessed as bytes, half-words (16 bits) or full words (32 bits). Read and write operations are performed at CPU speed with 0 wait state. The embedded SRAM is divided into up to three blocks: SRAM1, SRAM2 and SRAM3
- STM32F4xx microcontrollers implement a special mechanism to be able to boot from other memories (like the internal SRAM).
Renesas Memory products and RH850F1K supported memories
- The embedded flash memory will range from 256KB to 2MB
- Includes code flash memory and data flash memory
- The code flash memory can store program codes
- The data flash memory is used for storing data
- SRAM Max. 192KB
- Program Flash Max. 2MB
Infineon - TC233 / TC234 / TC237
Multiple on-chip memories
- All embedded NVM and SRAM are ECC protected
- up to 2 Mbyte Program Flash Memory (PFLASH)
- up to 128 Kbyte Data Flash Memory (DFLASH) usable for EEPROM emulation
- 32 Kbyte Memory (LMU)
- 512 Kbyte Memory (EMEM)
- BootROM (BROM)
MPC5746C
Supported memories
- 3 MB on-chip flash memory supported with the flash memory controller
- 3 x flash memory page buffers (3-port flash memory controller) –
- 512 KB on-chip SRAM across two RAM ports
- Flash segmentation
- Two 16 KB, four 32 KB, and two 64 KB, and ten 256 KB blocks provided for third party code
- Eight 16 KB provided for boot code EEPROM emulation
- Two 64 KB and one 16 KB blocks provided for secure code
- Two 16 KB blocks provided for secure data
- Erase suspend, program suspend, and erase-suspended program all supported
=================================================================================================
To Expand the program flash, your MCU should support XIP(execute in place) that allows you to run code directly from SPI Flash.
Please visit following links for understanding the Memory expansion:
=================================================================================================
Thanks for visiting the post...!!
=================================================================================================
No comments:
Post a Comment