K60 啟動過程分析

2021-09-07 01:14:52 字數 2079 閱讀 9448

很高興老師借給我一k60的開發板,趁著暑假好好鼓搗鼓搗!

有了上圖的過程分析我想心裡大概有個低了吧!

以下看**:

/* codewarrior arm runtime support library

* * $date: 2013/02/08 07:14:44 $

* $revision: 1.6 $

*//*

* __arm_start.c - entry-point for arm programs

* */

#include #include #include _ewl_begin_extern_c

#if support_semihost_argc_argv

#define __max_cmdline_args 10

static char *argv[__max_cmdline_args] = ;

#else

static char *argv = ;

#endif

#if __gnuc__

#define __call_static_initializers __init_cpp

#endif

#if support_semihost_argc_argv

extern int __argc_argv(int, char **);

#endif /* support_semihost_argc_argv */

extern void __call_static_initializers(void);

extern int main(int, char **);

#ifdef __vfpv4__

extern void __fp_init(void);

#endif /* __vfpv4__ */

extern void __init_registers();

extern void __init_hardware();

extern void __init_user();

#if defined(__apcs_ropi)

extern void __init_pic();

#endif

#if defined(__apcs_rwpi)

extern void __init_pid();

#endif

#if defined(__apcs_ropi) || defined(__apcs_rwpi)

extern void __load_static_base();

#endif

#if defined(__semihosting)

extern void __init_semihost(void) _ewl_weak;

#endif

#if support_rom_to_ram

extern void __copy_rom_sections_to_ram(void);

extern char __s_romp;

#endif

static void zero_fill_bss(void)

#ifndef __thumb // thumb version

#error thumb startup

#endif

void __iar_program_start(void) _ewl_naked;

void __thumb_startup(void);

void __iar_program_start()

void __thumb_startup(void) _ewl_naked;

void __thumb_startup(void)

_ewl_end_extern_c

封塵浪用的庫為 蘇州大學 的庫這兩天一直在移植,各種問題,整體來說蘇州的庫還是不錯的。就是資料有點少。這個暑假準備拿下k60,(鴨梨山大)好了,有時間在把學習過程與大家共享受!

同時,歡迎您來交流和共同**,解決這個問題。

K60學習筆記(1) 啟動檔案分析

初始化函式 上電復位 中斷向量表 在vectors.c裡面定義,在vectors.件裡。在vectors.h裡面兩行 define vector 000 vector entry boot stack address arm core initial supervisor sp define vec...

ARM Linux啟動過程分析

5 呼叫 linux核心映像 bootloader完成的最後一項工作便是呼叫 linux核心。如果 linux 核心存放在 flash 中,並且可直接在上面執行 這裡的 flash 指 nor flash 那麼可直接跳轉到核心中去執行。但由於在 flash 中執行 會有種種限制,而且速度也遠不及 r...

Linux啟動過程分析

boot loader 當cpu一上電,此時cpu必須從nor flash或者nand flash中取指令 直接從 nand flash取指令的ap為支援nand 啟動 nand boot 其實原理就是ap 內部的rom裡有一小段 包括nand flash驅動,它啟動從nand flash中讀取一段...