1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/head2.S Sat Jun 06 18:03:55 2015 +0200
1.3 @@ -0,0 +1,35 @@
1.4 +/*
1.5 + * head.S
1.6 + *
1.7 + * Entry point of the firmware.
1.8 + * The firmware code are executed in the ICache.
1.9 + * Do not edit!
1.10 + * Copyright (C) 2006 Ingenic Semiconductor Inc.
1.11 + *
1.12 + */
1.13 +
1.14 + .text
1.15 + .extern c_main
1.16 +
1.17 + .globl _start
1.18 + .set noreorder
1.19 +_start:
1.20 + b real_start
1.21 + nop
1.22 + .word 0x0 // its address == start address + 8
1.23 + .word 0x0
1.24 + .word 0x0
1.25 + .word 0x0
1.26 + .word 0x0
1.27 + .word 0x0
1.28 + .word 0x0
1.29 + .word 0x0
1.30 +
1.31 +real_start:
1.32 + /* setup stack, jump to C code */
1.33 + add $29, $20, 0x3ffff0 // sp locate at start address offset 0x2ffff0
1.34 + add $25, $20, 0x40 // t9 = usb_main()
1.35 + j $25
1.36 + nop
1.37 +
1.38 + .set reorder