An Elnec Emmc
An Elnec Emmc
An Elnec Emmc
(initial version)
December 2018
AN_Elnec_eMMC, version 1.00
1. eMMC Partitions
The memory configuration initially consists of the User Area, two Boot Areas and RPMB
Area partition.The sizes and attributes of Boot Areas and RPMB Area are defined by the memory
manufacturer. The sizes and attributes of General Purpose Area Partitions 1-4(GP0-GP3) and
Enhanced User Data Area can be programmed by the host setting the corresponding values in the
Extended CSD registers.
Extended CSD bytes for configuring the parameters of General Purpose Area Partitions
and Enhanced User Data Area:
To enable programming the Extended CSD register, open Device operation options
(ALT+O) window and use check box “Extended CSD”, see figure 1. Setting this option is
mandatory to allow programming selected bytes of Extended CSD register. For setting the
individual bytes of Extended CSD register use the checkboxes in View/Edit Device settings
(ALT+S) window, section "Extended CSD", see figure 1. During the "Program" operation only
selected bytes of the Extended CSD register are programmed and verified. During operation of
"Verify" all bytes of the Extended CSD register are verified.
For the loading Extended CSD register values you can use two ways. First, the user can
view and edit the individual bytes of Extended CSD register via the View/Edit Device settings
(Alt+S) window, section "Extended CSD", see figure 1. The Second way is import the data from
the file(*.bin) to the buffer called “Extended CSD”, see figure 2. Both ways are equivalent and the
setting of individual bytes is mirrored between the “Extend CSD” buffer and View/Edit Device
settings (Alt+S) window.
To enable programming of the User Area, open the Device operation options (ALT+O)
window and tick the “User Area” check box. If the status of Command execution option "Partition
table" is disable then address range for the User Area can be set in the Operation options window,
section "Addresses", see figure 5. If the option "Partition table" is enabled then the address range
of User Area is defined by the Partition table.
The data for the User Area area must be stored in a separate *.bin file. For loading data of
the User Area, open “Load file” window, select the appropriate target buffer to User Area,
Partition1-4 and open *.bin file, see figure 6. The loaded data can be viewed in View/Edit Buffer
window, “User Area,Partition1-4” buffer tab.
5. Program Partitions
To enable programming of Partition 1, open the Device operation options (ALT+O) window
and tick the “Partition 1” check box. Data for the Partition 1-4 must be loaded in the 'User Area'
buffer. There exist two ways for loading input data *.bin file.
If the option "Partition table" is disabled then address range for Partition1-4 is not possible
to view and edit. The data size of Partition 1-4 in the User Area buffer must be identical to the size
of Partition 1-4 of the selected device. The data for the Partition 1-4 must be placed in the “User
Area” buffer accord to the physical size of the User Area and Partitions 1-4, see figure 7.
Buffer offset
0x1D0000000
Data for Partition 1 Partition 1
Buffer offset Size = 0x1000000 Size = 0x1000000
0x1D080000
Partition 2
Data for Partition 2
Size = 0x1000000
Size = 0x1000000
If the option "Partition table" is enabled then address ranges for Partition1-4 can be viewed
and edited in the Partition Table window. The user define the size, location of data in the “User
Area, Partiton 1-4” buffer and the target area in the device, see figure 8. For more information see
section “5. Partition Table”.
Partition 1
Size = 0x1000000
Partition 2
Size = 0x1000000
For loading data to the Partition 1, open Load file window, set buffer offset, choose the
“User Area,Partition1-4” target buffer and open specified *.bin file(see figure 9). It is necessary to
enter the correct buffer offset and then load the *.bin file. The loaded data can be viewed in View/
Edit Buffer window, “User Area,Partition1-4” buffer tab.
Partition table records allow user to define address ranges for User Area and General
Purposes Partition 1-4. Each partition record is specified by four items Device_Start_Sec,
Buffer_Start_Sec, Data_Size_Sec and Device_Location (4 bytes/32bits in size for each item).
Every partition record have size of 16bytes. The data in the buffer "Partition Table" is stored using
Little Endian byte ordering.
Device_Start_Sec – indicates the start of sector location for this partition within the device.
Buffer_Start_Sec – indicates the start of sector location for this partition within the buffer
"User Area".
Data_Size_Sec – indicates the number of bytes for processing within the specified partition
record
Device_Location – indicates the location of specified partition record. The lowest byte indicate
wich physical partition it belongs to. The higher 3 bytes are not used.
The user can view and edit the individual records of Partition table via the “Partiton table”
window, see figure 10. The Second way is import the data from the file(*.bin) to the buffer called
“Partition table”, see figure 11. The loaded data can be viewed in View/Edit Buffer window,
“Partition table” buffer tab. Both ways are equivalent and the setting of individual records is
mirrored between the “Partition table” buffer and Partion table window.
Revision history: