FreescaleATK(Advanced ToolKit)工作过程
来源:互联网 发布:拜占庭 推理 知乎 编辑:程序博客网 时间:2024/05/22 09:51
下面的改动可能比较老,请参考新的代码。
Freescale ATK(Advanced ToolKit) 是一个针对其MX系列CPU为核心的嵌入式系统flash烧录软件。可以用来烧录bootloader和kernel到flash上(nor, nand , mc/sd...)。
其原理和工作流程如下:
首先是板子这边, 首先将跳线设置成UART/USB启动, 然后板子上电后, SOC内的rom开始初始化internal ram, 开始等待UART/USB上数据到来后, 将其加载到internal ram中。
然后host这边, 启动GUI界面之后, 选择所要执行的flash操作,以及其他相应的选项, 勾选完毕后, 点击执行, 执行过程分为2个阶段:
1. ram kernel和flash lib首先通过UART/USB驻扎进SOC的internal ram(SOC已经初始化好了);
2. host dll生成基于ram kernel协议的命令, 通过UART或USB发送flash操作命令到SOC。
此时, SOC里面,驻扎在internal ram里的ram kernel 收到host过来的flash操作命令后, 调用flash lib里的flash操作实现, 控制NFC(Nand Flash Controller)来完成相应的flash操作。flash lib操作的结果回传给ram kernel, 由其回传给host, 显示在GUI界面上。
Freescale i.MX Advanced Toolkit(ATK)下载工具修改ATK源程序来支持新NAND ,新的开发板更改DDR以及NAND需要编译生成新的ROMLIB.bin
1)加入新的DDR
采用ICE对内存测试成功后可以在下载的时候调用此测试文件
2)加入新的NAND
编辑device_program/flash/nand_flash/src/nand_ids.c
加入新的nand参数
目前用到的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}
};
编译环境cygwin
编译命令make MCU=mx51 REV=to2 flashlib FLASH_TYPE=NAND
产生的bin文件在device_program/bin/mx51to2_nand.bin
在下载的时候调用此文件即可
- FreescaleATK(Advanced ToolKit)工作过程
- Freescale ATK(Advanced ToolKit)工作原理
- An advanced WebGL debugging toolkit
- jsPlumb Toolkit库破解过程分析
- 工作过程
- ToolKit
- CNTK学习笔记 -- Computational Network Toolkit part4 -- Advanced Command Line Parsing Rules
- CNTK学习笔记 -- Advanced Setups in Computational Network Toolkit part1 -- Network Definition Language
- CNTK学习笔记 -- Advanced Setups in Computational Network Toolkit part2 -- Model Editing Language
- yii2-app-advanced的composer安装过程
- 本地安装django-bootstrap-toolkit过程中遇到的问题解决
- JWebPro工作过程图
- S3C2410 DMA工作过程
- Velocity的工作过程
- VRRP工作过程
- pppoe的工作过程
- U-Boot工作过程
- Hibernate的工作过程
- C# Tutorial - Serialize Objects to a File
- linux 格式化输出输入函数
- stagefright框架(五)-Video Rendering
- 进程线程及堆栈关系的总结
- 简明x86汇编语言教程(2)-认识处理器
- FreescaleATK(Advanced ToolKit)工作过程
- ArchLinux 配置双网卡
- C语言 内存分配 (malloc/realloc/calloc区别)
- stagefright框架(七)-Audio和Video的同步
- 简明x86汇编语言教程(1)-汇编语言简介
- Window下用Cmake和vs 2010构建和编译podofo
- Windows中32位(x86)和64位(x64)解释
- 简明x86汇编语言教程(3)-使用寄存器
- Oracle正则表达式函数