Root/Examples/hello_nand/build/start.S

1/*
2 * Copyright (c) 2009, yajin <yajin@vm-kernel.org>
3 * Copyright (c) 2005-2008 Ingenic Semiconductor Inc.
4 * Author: <jlwei@ingenic.cn>
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of
9 * the License, or (at your option) any later version.
10 */
11
12#include <jz4740.h>
13#include <board.h>
14
15    .text
16        .word 0xffffffff /* NAND 8 Bits 3 cycles */
17        b startup; nop /* entry point */
18        b startup; nop /* software reboot */
19    .set noreorder
20    .global startup
21startup:
22    /*
23     * Disable all interrupts
24     */
25    la $8, 0xB0001004 /* INTC_IMR */
26    li $9, 0xffffffff
27    sw $9, 0($8)
28
29    /*
30     * CU0=UM=EXL=IE=0, BEV=ERL=1, IP2~7=1
31     */
32    li $26, 0x0040FC04
33    mtc0 $26, $12 /* CP0_STATUS */
34
35    /* IV=1, use the specical interrupt vector (0x200) */
36    li $26, 0x00800000
37    mtc0 $26, $13 /* CP0_CAUSE */
38
39    /* Setup stack pointer */
40    la $29, 0x81000000
41
42    /* Jump to the main routine */
43    j main_func
44    nop
45    .set reorder
46
47

Archive Download this file

Branches:
master



interactive