.

arch/arm/lib/vectors.S

1     /*
2      *************************************************************************
3      *
4      * Symbol _start is referenced elsewhere, so make it global
5      *
6      *************************************************************************
7      */
8
9     .globl _start
10
11    /*
12     *************************************************************************
13     *
14     * Vectors have their own section so linker script can map them easily
15     *
16     *************************************************************************
17     */
18
19        .section ".vectors", "ax"
20
21    /*
22     *************************************************************************
23     *
24     * Exception vectors as described in ARM reference manuals
25     *
26     * Uses indirect branch to allow reaching handlers anywhere in memory.
27     *
28     *************************************************************************
29     */
30
31    _start:
32
33    #ifdef CONFIG_SYS_DV_NOR_BOOT_CFG
34        .word    CONFIG_SYS_DV_NOR_BOOT_CFG
35    #endif
36
37        b    reset
  • 9번 줄에서 외부에서도 이 라벨을 호출할 수 있게 선언합니다.
  • 19번 줄에서 vectors섹션을 allocatable, writable하게 선언합니다.
  • 31번 줄에서 _start라벨이 사직됩니다.
  • 33번 줄의 CONFIG_SYS_DV_NOR_BOOT_CFG이 선언되어 있지 않아 34번 줄은 수행되지 않습니다.
  • 37번 줄에서 reset라벨로 점프합니다.

results matching ""

    No results matching ""