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