Emmc Dl Command



  1. Emmcdl Command Download
  2. Emmc Pdf
  3. Emmc Protocol
  4. Emmc Layout
  5. Emmc Command Queue

Open the extracted files again and now open eMMC DL Tool for customers ENG V5.2.0. Step 4, A pop up of eMMC DL Tool will be launched. Click on more options at the right bottom end, i.e.option, it will ask you to specify the folders by browsing. Locate the firmware folder and place the same properly.

EMMC, short for Embedded MultiMediaCard, is the embedded memory standard specification defined by the MMC (MultiMediaCard Association). . CMD - The signal is mainly used by Host to send command and eMMC to eMMC to the Host for the Response. DAT0-7 - The signal is mainly used for data transfer between Host and eMMC. After the eMMC is powered on or soft reset, only DAT0 can transmit data. After initialization, DAT0-3 or DAT0-7 can be configured for data transmission. A pop up of eMMC DL Tool will be launched. Click on more options at the right bottom end, i.e.option, it will ask you to specify the folders by browsing. Locate the firmware folder and place the same properly.

  • 5U-boot console commands
  • 7Display and Hardware settings
  • 8Building U-Boot
  • 9Building U-Boot (based on v2015.10)

FAQ

Q: U-Boot doesn't start anymore?
A: See U-Boot recovery for i.MX6_Q/D/DL/S/ULL via JTAG
Q: Initialization of MAC address in the bootloader?
A: At the first start, the bootloader reads the MAC address from the EEPROM and creates env variable ethaddr. The env variable ethaddr could be changed during lifetime to any other MAC address. If you like to get back the original MAC address, please remove ethaddr, save environment and restart the system. In addition to that the env variable ethaddr would be initialized again with eeprom MAC address.
Q: The automatic update is not executed before the operating system boots!
A: Check if the command update auto is included in the bootloader environment variable bootcmd or in a script-variable which is called within bootcmd before bootm.
Q: The automatic update does not work with my desired update-media!
A: The command update auto can be configured with flags within the DHCOM settings.bin block. It is possible to disable a interface for the update mechanism. You can run a update from a disabled interface if you use the command update without the argument auto.

Downloads

Please have a look at the i.MX6 Download binaries/images section.

Enter Bootloader Console

  1. Connect DHCOM UART1 via null modem cable to the RS232 Port of your PC
  2. Start terminal program (e.g. Tera Term) on the Host PC with the following settings:
    Baud rate: 115200
    Data: 8 bit
    Parity: none
    Stop bits: 1 bit
    Flow control: none
  3. Press 'DEL' on the Host PC during Core Module system start to enter bootloader console

U-Boot recovery

See U-Boot recovery for i.MX6_Q/D/DL/S/ULL via JTAG

U-boot console commands

SPI Flash

SPI Flash Init
sf probe
Example: sf probe
Description: Initializes the OnBoard SPI Flash
SPI Flash Read
sf read <SDRAM address> <SPI Flash address> <Bytes>
Example: sf read 10000000 0 100
Description: Copies 256Bytes from SPI Flash address 0x0 to SDRAM address 0x1000_0000
SPI Flash Write
sf write <SDRAM address> <SPI Flash address> <Bytes>
Example: sf write 10000000 40000 10000
Description: Copies 64kByte from SDRAM address 0x1000_0000 to SPI Flash address 0x4_0000
SPI Flash Erase
sf erase <SPI Flash address> <Bytes>
Example: sf erase 100000 1000
Description: Deletes SPI Flash content from address 0x10_0000 to 0x10_0FFF
Note: The Bytes information needs to be sector size aligned!

NAND-Flash

Read from NAND-Flash Device
nand read <SDRAM address> <NAND Flash address> <Bytes>
Example: nand read 80000000 400000 b40000
Description: Copies 11,25MByte from NAND Flash address 0x40_0000 to SDRAM address 0x8000_0000
Erase NAND-Flash blocks
nand erase <Block base address> <Bytes>
Example: nand erase 400000 40000
Description: Deletes NAND Flash content from address 0x40_0000 to 0x43_FFFF
Note: The Bytes information needs to be block size aligned!
Write to NAND-Flash Device
nand write <SDRAM address> <NAND-Flash address> <Bytes>
Example: nand write 80000000 400000 b40000
Description: Copies 11,25MByte from SDRAM address 0x8000_0000 to NAND Flash address 0x40_0000
Note: The Bytes information needs to be page size aligned!
Show bad NAND-Flash blocks
nand bad
Description: Shows the bad NAND-Flash blocks.
Show NAND-Flash content
nand dump <NAND-Flash address>
Example: nand dump 400000
Description: Shows the content of the specified NAND-Flash block

UBI Filesystem

Partition Definition
mtdparts
Example: mtdparts
Description: Shows the current nand flash partitions. In case of i.MX6 one default partition set, which includes the entire flash. For linux that partition is used to create two volumes 'boot' and 'rootfs'.
Note: In case of UBIFS it is better to have one big partition with different volumes instead of many small partitions, because the wear leveling process is always applied to every partition.


Set or show active partition
ubi part <partition name>
Example: ubi part gpmi-nand
Description: Show or set current partition. In i.MX6 default case this is shold always set to gpmi-nand.
Show ubi layout information
ubi info layout
Example: ubi info layout
Description: Display ubi layout information.
Mount UBI volume
ubifsmount <UBI device>:<volume name>
Example: ubifsmount ubi0:boot
Description: Mount UBIFS volume. The default name of the first i.MX6 volume is 'boot'.
List files
ubifsls <directory>
Example 1: ubifsls
Description: List files in a UBIFS directory.
Load Files from UBI volume
ubifsload <SDRAM address> <directory+filename>
Example 1: ubifsload 10100000 zimage
Description: Load file from an UBIFS filesystem to memory.
Unmount UBI volume
ubifsumount
Example: ubifsumount
Description: Unmount current volume.

SD/MMC Card

Switch between MicroSD, SD Slot and eMMC
mmc dev <Slot number> <Partition number>
Example: mmc dev 0
Description: Switch between SD/MMC Slots: 0 => SD/MMC Slot | 1 => MicroSD Slot | 2 => eMMC
Note eMMC hardware partition number: 0 => User partition | 1 => first boot partition | 2 => second boot partition
Initialize SD/MMC Card
Emmcdl command download
mmc rescan
Description: Initialize new inserted SD Card
Show SD/MMC information
mmcinfo
Description: Shows SD/MMC device information
Write to MicroSD, SD Slot and eMMC
Emmcdl
mmc write <SDRAM address> <block number> <block count>
Example: mmc write 11000000 5000 400
Description: Write 512kByte (device block size is 512Byte) to the eMMC offset 10MByte.
Read from MicroSD, SD Slot and eMMC
mmc read <SDRAM address> <block number> <block count>
Example: mmc read 11000000 5000 400
Description: Read 512kByte (device block size is 512Byte) from the eMMC offset 10MByte.

Filesystem

NOTE: File system types are recognized automatically
List files
ls <interface> <device[:partition]> <directory>
Example 1: ls mmc 1
Example 2: ls mmc 1 /folder
Emmc Dl Command
Load Files from device to SDRAM
load <interface> <device[:partition]> <SDRAM address> <directory+filename>
Example 1: load mmc 1 10100000 nk.gz
Example 2: load mmc 1 10100000 /folder/nk.gz

Ethernet

Load File via TFTP to SDRAM
tftp <SDRAM address> <directory+filename>
Example: tftp 80100000 nk.gz
Example TFTP Server: 'Winagents TFTP Server Manager'
Note: For TFTP download it is necessary to config the ENV variables 'ipaddr' and 'serverip'
Load File via TFTP to SDRAM using DHCP
dhcp <SDRAM address> <directory+filename>
Example: dhcp 80100000 nk.gz
Example TFTP Server: 'Winagents TFTP Server Manager'
Note: It is necessary to config the ENV variable 'serverip' with the ip-address of your TFTP-Server
Ping
ping <IP address>
Example: ping 192.168.55.32

Unzip

unzip <source address> <destination address>
Example: unzip 12900000 10100000
Note: The unzip command is supporting the gzip file format.

Bitmap

Information
bmp info <Bitmap address>
Display
bmp display <Bitmap SDRAM address> [x y]
Note: It is necessary to load bitmap file to memory address with an offset of an odd multiple of +2, since the use of a four-byte alignment will cause alignment exceptions at run-time.

Memory

Display
md[.b, .w, .l] <address> [count]
Example: md.b 80100000 100
Write
mw[.b, .w, .l] <address> <value> [count]
Example: mw.b 80100000 aa 100
Description: Writes the value 0xaa to the next 0x100 bytes from the address 0x8010_0000.
Copy
cp[.b, .w, .l] <source> <destination> <count>

Show DHCOM Settings

settings
Example:

I2C

Set current I2C bus
i2c dev <I2C bus>
Example: i2c dev 0
Description: Set current I2C bus to 0.
List available devices
i2c probe
Description: Test for and show device(s) on the I2C bus.
Read
i2c md <I2C address> <start address> <end address>
Example: i2c md 57 10 20
Description: Reads 16 Bytes from the address 0x10 to address 0x20.
Emmc Dl Command
Write
i2c mw <I2C address> <I2C register> <Value> <Bytes>
Example: i2c mw 57 0 aa 5
Description: Writes 0xaa to 5 Bytes from the offset 0.

Environment

Show ENV variables
env print
or
printenv



Set ENV variables
env set <ENV name> <ENV value>
or
setenv <ENV name> <ENV value>



Example: env set ipaddr 192.168.55.2
Note: If you need to edit 'bootcmd' it is necessary to insert ; between the unique commands. Put the whole sequence in quotation marks '...'.
Save ENV variables
env save
or
saveenv



Delete ENV variable
env delete <ENV name>
Revert to default ENV (all)
env default -a
Import ENV from textfile
env import -t <SDRAM address> $filesize
Example:
load mmc 0 0x10000000 uLinuxEnv.txt
env import -t 0x10000000 $filesize
Important:
The uLinuxEnv.txt file should have unix line ending. Also make sure that there is an empty line at the end of the file.

USB Mass Storage

Use device as USB Mass Storage
ums <USB_controller> <devtype> <dev[:part]>
Example: Write an image on PDK2 to the eMMC using the 'ums' command:
1. Connect the USB OTG on the PDK2 with a suitable cable to a computer running Debian Linux
2. Go to the U-Boot console on the module
3. Start UMS by typing:
ums 0 mmc 2
4. Eject partitions that may appear
5. Double klick on the image (*.img.xz file)
6. Select a destination drive
7. Press 'Start Restoring...'
8. Stop UMS in U-Boot by pressing CTRL+C

How to do Updates

Display and Hardware settings

DHCOM settings and Splash bitmap

Emmcdl Command Download

The DHCOM settings are used to setup display and special hardware parameters. For detailed description please have a look at How to create a settings.bin file.
The DHCOM settings file and the splash bitmap are loaded via the env variables 'load_settings_bin' and 'load_splash' during startup from boot partition. The default content of these env variables is:
Note: The DHCOM display settings can also be stored in external eeprom (address 0x50 / 7bit I2C address) which is connected to DHCOM I2C1 port. If eeprom is available and DISP_ADPT_EEPRM flag is set to 1, the settings from eeprom override the settings from boot partition!
Next you can see the settings load order:

Displaying a splash screen with u-boot

Notes:

  • This is possible with u-boot version v1.0.0.6 or newer.
  • Only RGB interface and LVDS (only first channel) is supported.
  • If you use lvds panel on vendor Kernel 3.10.17 the linux patch “imx6 clk: Init LDB (lvds) parent clock“ (19.Jan 2016) is needed, because otherwise the display isn’t working properly in linux.
    (https://github.com/dh-electronics/linux-imx6-vendor/commit/6f7cabb4d7504c4d1cfe244d460f9891d5a0e411 )

The process to set it up is the following:

  • Configure your display parameters with DHCOM settings generator (How to create a settings.bin file)
    Here you can see an LVDS display example:
  • Generate settings bin file with settings generator.
  • Copy settings bin file to boot partition on boot media (eMMC, NAND or microSD card).
  • Generate your splash bitmap (bitmap with 8 bit color depth).
  • Copy also bmp file to boot partition.
  • Start core module and enter u-boot console.
  • Delete env variable “panel”: env delete panel
  • Set env variable “settings_bin_file” with settings bin filename:
    Example: env set settings_bin_file 10_LG_7inch_LB070WV8.bin
  • Set env variable “splash_file” with bitmap filename:
    Example: env set splash_file 800x480_splash_DHCOM_iMX6.bmp
  • Save u-boot environment to flash: saveenv
  • Restart the system --> Splash bitmap should now be displayed from the bootloader.

Generated Linux boot args for the display by u-boot

  • U-boot is generating Linux boot args from the display settings file:

Emmc Pdf

Display disabled by default

With default u-boot configuration u-boot doesn't initialize the Display interface. This feature can be activated by deleting the 'panel' environment variable. But also with deactivated display interface, the bootlaoder reads the display settings and pass the settings to the linux kernel.

Backlight enable GPIO

If ENV variable 'panel' is set to 'no_panel' the backlight enable GPIO (defined via DHCOM settings file or eeprom settings) will be disabled from the bootloader during startup.
If ENV variable 'panel' is deleted, the backlight enable GPIO is activated or deactivated in relation to BL_ON flag of DHCOM settings file.
Note: Supported by U-Boot DH VERSION v0.4.2.5 or higher for iMX6

Building U-Boot

Prepare Build Environment

Emmc Protocol

1. Download and start the Virtual Machine for Application Development

Get Sources

2. Start a terminal on Linux
3. # git clone https://github.com/dh-electronics/u-boot-imx6qdl.git
4. # cd u-boot-imx6qdl
5. # git checkout dev/legacy/2018.05_dhcom

Start Build

6. # make ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- dh_imx6_defconfig
7. # make ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- all

Your new u-boot-with-spl.imx file is available in u-boot-imx6qdl/

Building U-Boot (based on v2015.10)

Prepare Build Environment

1. Download and start the Virtual Machine for Application Development

Emmc Layout

Get Sources

Emmc Command Queue

2. Start a terminal on Linux
3. # git clone https://github.com/dh-electronics/u-boot-imx6qdl.git
4. # cd u-boot-imx6qdl
5. # git checkout dev/2015.10_dhcom

Start Build

6. # ./uboot_make [q_d dl s s_1g] # add argument 'dl' to build for Duallite (if unsure contact DH electronics)

  • Your new u-boot.imx file is available in u-boot-imx6qdl/
  • If your build does fail please check content of uboot_make and adjust PATH.
Retrieved from 'https://wiki.dh-electronics.com/index.php?title=COM_iMX6_Bootloader_U-Boot&oldid=2884'

Table 27-3 EMCTL Commands for Management Agent

EMCTL CommandDescription

emctl start agent

Starts the Management Agent.

On IBM AIX environment with a large memory configuration where the Management Agent is monitoring a large number of targets, the Agent may not start. To prevent this issue, prior to starting the Management Agent, add the following parameters to the common environment file:

The LDR_CNTRL variable sets the data segment size and disables loading of run time libraries in kernel space. The AIXTHREAD_SCOPE parameter changes AIX Threadscope context from the default Processwide 'P' to Systemwide 'S'. This causes less mutex contention.

emctl stop agent

Stops the Management Agent.

emctl status agent

Lists the status of Management Agent.

If the Management Agent is running, this command displays status information about the Management Agent, including the Agent Home, the process ID, and the time and date of the last successful upload to the Management Repository ().

Note: On a Windows system change the directory to the AGENT_INSTANCE_HOME directory before executing the command.

emctl status agent -secure

Lists the secure status of the Mangement Agent and the secure mode port on which the Management Agent is running. It also lists the OMS security status and the port.

emctl status agent scheduler

Lists all the running, ready, and scheduled collection threads.

emctl status agent jobs

Lists the status of the jobs that are running at present on the Management Agent.

emctl status agent target <target name>,<target type>,<metric>

Lists the detailed status of the specified targets such as target name, target type, and so on. You can also provide a particular metric name in the emctl status agent command to get the status of a particular metric of a target.

emctl status agent mcache <target name>,<target type>,<metric>

Lists the names of the metrics whose values are present in the metric cache.

emctl upload

Uploads the .xml files that are pending to the OMS under the upload directory.

emctl upload (agent)

Use this command to force an immediate upload of the current management data from the managed host to the Management Service. Use this command instead of waiting until the next scheduled upload of the data.

emctl reload (agent)

This command can be used to apply the changes after you have manually modified the emd.properties file. For example, to change the upload interval, emd.properties can be modified, and emctl reload can then be run.

Note: Oracle does not support manual editing of the targets.xml files unless the procedure is explicitly documented or you are instructed to do so by Oracle Support.

emctl reload agent dynamicproperties [<Target_name>:<Target_Type>]...

Recomputes the dynamic properties of a target and displays them.

emctl pingOMS [agent]

Pings the OMS to check if the Management Agent is able to connect to the OMS. Management Agent will wait for the reverse ping from the OMS so that Management Agent can confirm that the pingOMS is successful.

emctl config agent getTZ

Configures the current time zone as set in the environment.

emctl config agent getSupportedTZ

Displays the supported time zone based on the setting in the environment.

emctl config console <fileloc> [<EM loc>]

Configures the console based on the configuration entries mentioned in the file <fileloc>.

The <EM loc> parameter is optional and can be used to operate on a different Oracle home.

emctl config agent listtargets [<EM loc>]

Lists all the target names and types monitored by the Management Agent, that are present in targets.xml file.

The <EM loc> parameter is optional and can be used to operate on a different Oracle home.

emctl control agent runCollection <target_name>:<target_type> <metric_name>

Allows you to manually run the collections for a particular metric of a target.

For example, emctl control agent runCollection myOracleHomeTargetName:oracle_home oracle_home_config.

emctl control agent runCollection <targetName>:<targetType> <colletionItemName>

Performs an immediate reevaluation of a metric collection

Executing this command causes the reevaluated value of the metric to be uploaded into the Management Repository, and possibly trigger alerts if the metric crosses its threshold.

To identify the metric name and the collection item name associated with the metric, see Reevaluating Metric Collections Using EMCTL Commands.

emctl resetTZ agent

Resets the time zone of the Management Agent. To change the current time zone to a different time zone, stop the Management Agent and then run this command. You can then start the Management Agent.

Important:

Before you change the Management Agent time zone, first check to see if there are any blackouts that are currently running or scheduled to run on any targets managed by that Management Agent. Refer to Viewing Blackouts/Notification Blackouts to know how to check for blackouts.

If any blackouts exist, then from the Cloud Control Console, stop all the scheduled and all the currently running blackouts on all targets monitored by that Management Agent. You can then change the Management Agent's time zone and later create new blackouts on the targets as needed.

emctl getversion agent

Prints the version of the Management Agent.

emctl dumpstate agent <component> . . .

Generates the dumps for the Management Agent. This command allows you to analyze the memory/CPU issues of the Management Agent.

emctl gensudoprops

Generates the sudo properties of the Management Agent.

emctl clearsudoprops

Clears the sudo properties.

emctl clearstate

Clears the state directory contents. The files that are located in the $ORACLE_HOME/sysman/emd/state will be deleted if this command is run. The state files are the files which are waiting for the Management Agent to convert them into corresponding .xml files.

emctl getemhome

Prints the Management Agent home directory.

emctl start blackout <Blackoutname> [-nodeLevel] [<Target_name>[:<Target_Type>]].... [-d <Duration>]

Starts blackout on a target.

If the parameter <Target_name:Target_type> is not entered, then the local node target is taken as the default.If -nodeLevel parameter is specified after <Blackoutname>,the blackout will be applied to all targets and any target list that follows will be ignored.The <Duration> should be specified in [days] hh:mm format.

emctl stop blackout <Blackoutname>

Stops the blackout that was started on a particular target. Only those blackouts that are started by the emctl tool can be stopped using emctl. This command cannot stop the blackouts that are started using the console or em cli utility.

emctl status blackout [<Target_name>[:<Target_Type>]]....

Provides the status of the target blackout. The status includes the type of blackout and whether it is a one-time action, or repeating, or a scheduled blackout. This command also specifies whether the blackout has started or stopped.

emctl secure agent [registration password] -emdWalletSrcUrl <url> -protocol <ssl|tls>

Secures the Management Agent with an OMS. The registration password is essential, as you will be prompted for it if you do not provide it along with the command.

The -emdWalletSrcUrl parameter indicates the URL of the OMS with which the agent has to be secured.

The -protocol parameter indicates the protocol to be used to secure the Management Agent. The allowed values are ssl and tls.

emctl unsecure agent

Un-secures the Management Agent. This command changes the Management Agent's port to a HTTP port. After executing this command the Management Agent will be able to upload to the OMS on HTTP by connecting to OMS's HTTP upload port instead of the HTTPS upload port.

emctl verifykey

Verifies the communication between the OMS and Management Agent by sending pingOMS.

emctl deploy agent [-s <install-password>] [-o <omshostname:consoleSrvPort>] [-S] <deploy-dir> <deploy-hostname>:<port> <source-hostname>

Creates and deploys only the Management Agent.

The parameters are explained below:

  • [-s <password>]: Indicates the install password for securing the Management Agent.

  • [-S ]: Indicates that the password will be provided in STDIN.

  • [-o <omshostname:consoleSrvPort>]: Indicates the OMS host name and the console servlet port. Choose the un-secured port.

  • <deploy-dir>: Indicates the directory to create the shared (state-only) installation port.

  • <deploy-hostname:port>: Indicates the host name and the port of the shared (state-only) installation. Choose an unused port.

  • <source-hostname>: Indicates the host name of the source install. Typically, it is the machine where the EM is installed. The host name is searched for and replaced in the targets.xml file with the host name provided in the argument <deploy-hostname:port>.

  • <sid>: Indicates the instance of the remote database. It is only specified when deploying the dbconsole.

emctl setproperty agent

Configures the specified property name and value in the Management Agent configuration file. The flag, allow_new is an optional flag that inserts a new property in the Management Agent configuration file, if it does not exist.

emctl getproperty agent

Gets the specified properties or a category of properties from the Management Agent configuration files. Currently, this command does not support spaces in the name. The flag, -name provides a list of property names separated by spaces.

emctl clear_property agent

Clears the value of the specified property in the Management Agent configuration file.

emctl status agent verify

Verifies that the Management Agent is live.