image_info 结构体:
struct image_info
{
unsigned int offset;
unsigned int length;
char *filename;
unsigned char *dest;
};
dest : 目的地址,加载到内存中的地址,必选;
offset + length : 从flash启动时使用,和filename二选一,offset为image在flash中的偏移量,length为image的大小。
filename : 从SD卡启动时使用,和offset + length二选一,filename为image文件的文件名,因是文件,故不需要大小等额外信息。
1、bootloader下载有几种方式?
a.通过串口、jtag等直接烧写到0x00地址处。(需硬件支持)
b.先放到某一地址处(flash、内存均可),再拷贝到0x00地址处。(程序已可运行)
2、将程序下载到某一地址(flash、内存)有几种方式?
a.JTAG:通过jtag直接烧写到目的地址。(需要硬件支持)(慢)
b.串口 :使用loadb指令,通过串口kermit协议下载二进制数据。(慢)
c.网口 :使用tftp通过网络下载二进制数据。
3、程序启动有几种方式?
bootloader + kernel(flash / tftp) + rootfs(nfs/ramdisk/initramfs/flash)