NanoPayload

Annotated head2.S

8:ea2af6a8d4bd
2015-06-06 Paul Boddie 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