简而言之,HAB Toolkit是Freescale提供的用于把代码下载到SDRAM中运行或是烧写到Flash的工具软件。下面以i.MX21处理器为例,讲讲HAB的工作原理。
MX21带着一个内部ROM,出厂时在其中内置了一段叫做Bootstrap的程序。板子上电后,通过检查BOOT[3:0]的设置決定启动位置:
Bootstrap只负责初始化板子上的 UART和USB接口,所以在下载代码之前,要通过meminit.txt这个文件来设置内存控制器。
Flash Loader提供将RAM 中的代码烧写到flash 的功能, 所以当板子更换了 flash,就必须重写此文件,并包装成bin格式的文件后给HAB Toolkit 使用。
总结HAB烧写流程如下:
设置跳线---上电---Bootstrap运行---meminit.txt---Flash Loader和Image都下载到RAM中---Flash Loader把Image烧写到Flash