1 /* 2 * head.S 3 * 4 * Entry point of the firmware. 5 * The firmware code are executed in the ICache. 6 * Do not edit! 7 * Copyright (C) 2006 Ingenic Semiconductor Inc. 8 * 9 */ 10 11 .text 12 .extern c_main 13 14 .globl _start 15 .set noreorder 16 _start: 17 b real_start 18 nop 19 .word 0x0 // its address == start address + 8 20 .word 0x0 21 .word 0x0 22 .word 0x0 23 .word 0x0 24 .word 0x0 25 .word 0x0 26 .word 0x0 27 28 real_start: 29 /* setup stack, jump to C code */ 30 add $29, $20, 0x3ffff0 // sp locate at start address offset 0x2ffff0 31 add $25, $20, 0x40 // t9 = usb_main() 32 j $25 33 nop 34 35 .set reorder