The following changes may be old. Please refer to the new code.
Freescale ATK (advanced toolkit) is an embedded system flash burning software designed for its MX series CPU core. It can be used to burn Bootloader and kernel to flash (nor, Nand, MC/SD ...).
The principle and workflow are as follows:
First, set the jumper to UART/USB boot. Then, after the Board is powered on, the ROM in the SOC starts to initialize the internal RAM and waits for the data on the UART/USB to arrive, load it into internal RAM.
Then on the host side, after starting the GUI, select the flash operation to be executed and other related options. After selecting the option, click execute. the execution process is divided into two phases:
1. Ram kernel and flash lib are first stationed in the SOC internal RAM through UART/USB (SOC has been initialized );
2. Host DLL generates commands Based on the ram kernel protocol, and sends flash operation commands to SOC through UART or USB.
In the SOC, the RAM kernel in internal RAM receives the flash operation command from the host and calls the flash operation implementation in Flash lib to control NFC (NAND Flash Controller) to complete the flash operations. The Flash lib operation result is returned to the ram kernel and sent to the host, which is displayed on the GUI.
Freescale I. mx advanced toolkit (ATK) download tool to modify the ATK source program to support the new NAND. The new development board changes the DDR and the NAND needs to compile and generate a new romlib. Bin
1) Add a new DDR
This test file can be called during download after the memory test is successful using ice
2) Add new Nand
Edit device_program/flash/nand_flash/src/nand_ids.c
Add new NAND Parameters
Currently used Nand
Nand_t _ attribute _ (aligned (8) nand_type [] = {
/* Man Dev Io ps oob Mo Po scan row blks ppb name */
{0xec, 0x76, 8,512, 16, 5, 0, 1, 3, 4096, 32, "NAND k9f1208u0m "},
{0xec, 0x36, 8,512, 16, 5, 0, 1, 3, 4096, 32, "NAND k9k1208q0c "},
{0xec, 0x75, 8,512, 16, 5, 0, 1, 2, 2048, 32, "NAND k9f5608u0d "},
{0xec, 0x79, 8,512, 16, 5, 0, 1, 3, 8192, 32, "NAND k9k1g08u0b "},
{0xec, 0x78, 8,512, 16, 5, 0, 1, 3, 8192, 32, "NAND k9k1g08r0b "},
{0xec, 0x45, 16,512, 16, 11, 0, 1, 2, 2048, 32, "NAND k9f5616q0c "},
{0x98, 0x79, 8,512, 16, 5, 0, 1, 3, 8192, 32, "NAND tc58dvg02a1ft00 "},
{0xec, 0xaa, 8, 2048, 64, 0, 0, 2, 3, 2048, 64, "NAND k9k2g08r0a "},
{0xec, 0xaa, 8, 2048, 64, 0, 0, 2, 3, 2048, 64, "NAND k9f2g08r0a "},
{0xec, 0xdc, 8, 2048, 64, 0, 0, 2, 3, 4096, 64, "NAND k9f4g08u0m "},
{0xec, 0xd5, 8, 2048, 64, 0,127, 1, 3, 8192,128, "NAND k9lag08u0m "},
{0xec, 0xd7, 8, 4096,128, 0, 127, 1, 3, 8192,128, "NAND k9lbg08u0m "},
{0x2c, 0xac, 8, 2048, 64, 0, 0, 2, 3, 4096, 64, "NAND mt29f4g08abc "},
{0xec, 0xd3, 8, 2048, 64, 0,127, 1, 3, 4096,128, "NAND k9g8g08u0m "},
{0x2c, 0xd5, 8, 4096,218, 0, 0, 1, 3, 4096,128, "NAND mt29f32g08qaa "},
{0}
};
Compilation environment cygwin
Compile command make MCU = MX51 REV = to2 flashlib flash_type = Nand
Binfile generated is in device_program/bin/mx51to2_nand.bin
Call this file during download.