看crt0_gnu.S:/* Branch on C code Main function (with interworking) */_branch_main: ldr r4, = main mov lr, pc bx r4/* Branch to the application at the end of the bootstrap init */_go: ldr r1, =MACH_TYPE mov lr, pc bx r0 /*跳到Uboot*/在main.c 中,把u-boot從dataflash 讀入記憶體main()load_df(AT91C_SPI_PCS_DATAFLASH, IMG_ADDRESS, IMG_SIZE, JUMP_ADDR)return JUMP_ADDR在at91sam9260ek.h中已經定義了U-boot 在dataflash中的地址 和將讀入到記憶體中的地址#define JUMP_ADDR 0x23F00000 /* Final Jump Address#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */#define IMG_SIZE 0x33900 /* Image Size in DataFlash */這裡並不需要異常向量,只是為了使u-boot程式碼一致保留其風格而已。
看crt0_gnu.S:/* Branch on C code Main function (with interworking) */_branch_main: ldr r4, = main mov lr, pc bx r4/* Branch to the application at the end of the bootstrap init */_go: ldr r1, =MACH_TYPE mov lr, pc bx r0 /*跳到Uboot*/在main.c 中,把u-boot從dataflash 讀入記憶體main()load_df(AT91C_SPI_PCS_DATAFLASH, IMG_ADDRESS, IMG_SIZE, JUMP_ADDR)return JUMP_ADDR在at91sam9260ek.h中已經定義了U-boot 在dataflash中的地址 和將讀入到記憶體中的地址#define JUMP_ADDR 0x23F00000 /* Final Jump Address#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */#define IMG_SIZE 0x33900 /* Image Size in DataFlash */這裡並不需要異常向量,只是為了使u-boot程式碼一致保留其風格而已。