OMAP-L138 的新历程之 boot 引导(3)
上一篇文章讲到了 omap 双核分开跑各自的应用程序,这儿再提醒大家一下:由于 arm 和 dsp 的指令集
不一样,因此他们各自执行的二进制代码也不相同,大家在做开发的时候一定要把两个核的各自工程编译
环境分开!只不过由于
语言不涉及指令集的问题 ,因此大家可能发现我使用的程序是一样的,但其编
译环境是不一样的。这样 CCS 就可以根据你选择的芯片的不同类型编译出不同内核可以执行的二进制代
码已达到应用的目的。
今天我实现了 arm 的 boot 引导。就是把 arm 可执行程序烧写到 nandash 中,然后选择启动
nandash 启动模式。由于 l138 中有 rom 空间已经固化了 boot 的程序,也是我们在 ash 中
开头设置可供 boot 程序使用的识别码就可以实现
boot 程序的引导。大家可以看看 TI 的 boot 说明书《Using the OMAP-L1x8 Bootloader》,这里应
用的是“Application Image Script (AIS) Boot”。但是 HPI 和 nor ash boot 不能应用这种模式。
这里的 Magic Word 为 0×41504954,如果 ash 的头一块为坏的 ash,那么 omap 的 root 程序就
会一块一块的向下查找,直到找到正确的魔幻数。然后执行第二个三十二 bit 的代码,第二个一般是
Function Execute Command (0x5853590D)可以在 boot 之前实现对一些特殊资源的配置,例如:
PLL0、PLL1 和 DDR 控制器。当然这个得在自己制作 AIS 选择一些配置寄存器来实现配置。
http://www-s.ti.com/sc/techlit/sprab41.zip.这是 TI 提供给大家制作 AIS boot 的 windows 程序。
评论1