1、AIS文件中的命令仅仅是实现代码的搬移,程运行控制权的交接,校验,以及对基本的寄存器配置吗。
2、我用的norflash进行程序存储,AIS方式boot程序加载是不是按以下过程进行:
内部rom中的bootloader读取配置字后,直接将控制权交给AIS文件,然后AIS文件在norflash中运行将用户程序全部搬移到ram中后,用户程序开始运行。
3、如果我的程序大于32KB,必然会有二次bootloader程序,如果仍然使用AIS方式boot。那么程序加载是不是按以下过程进行
内部rom中的bootloade读取配置字后,直接将控制权交给二次bootloader程序对应的AIS文件,二次bootloader加载到ram后,,AIS将控制权交给二次bootloader,二次bootloader运行实现GPIO口对NORFLASH高位地址的切换,然后再将控制权交给norflash中的AIS文件,AIS文件接着在norflash中运行实现将用户程序搬移到ram中,如果程序较大,那么程序加载过程中控制权一定会在二次bootloader和norflash中的AIS文件之间来回交接直至用户程序全部加载到ram中后,再将控制权交给用户程序。
(1)在上述程序加载过程中的控制权交接是如何实现的,AIS文件中是通过JUMP指令来实现吗。具体在C语言程序中如何实现。是不是应该把二次bootloader程序和用户程序分成两个工程来处理。在程序烧写时,分开烧写到norflash中。
(2)如果上述过程正确,那么很显然在程序较大的情况下,采用AIS方式较为繁琐,是不是采用传统加载方式或直接加载方式较为便捷。或者二次bootloader采用AIS方式加载,用户程序采用普通二进制格式文件。
4、当使用其他接口进行boot时,AIS文件是如何运行的,比如uart、spi等。