Freescaleatk (advanced toolkit) Workflow

Source: Internet
Author: User

 

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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.