当前位置: Home > Linux > 嵌入式系统 > Boot loader > 文章 |
|
ARM的嵌入式Linux移植体验之BootLoader
|
文章来源: 天极开发
文章作者: 宋宝华
发布时间: 2006-08-12
字体:
[大
中
小]
|
|
STEP1的putstr(vivi_banner)语句在串口输出一段字符说明vivi的版本、作者等信息,vivi_banner定义为:
const char *vivi_banner = "VIVI version " VIVI_RELEASE " (" VIVI_COMPILE_BY "@" VIVI_COMPILE_HOST ") (" VIVI_COMPILER ") " UTS_VERSION "\r\n"; |
reset_handler进行相应的复位处理:
void reset_handler(void) { int pressed;
pressed = is_pressed_pw_btn();
if (pressed == PWBT_PRESS_LEVEL) { DPRINTK("HARD RESET\r\n"); hard_reset_handle(); } else { DPRINTK("SOFT RESET\r\n"); soft_reset_handle(); } } |
hard_reset_handle会clear内存,而软件复位处理则什么都不做:
static void hard_reset_handle(void) { clear_mem((unsigned long)USER_RAM_BASE, (unsigned long)USER_RAM_SIZE); } |
STEP2进行板初始化,设置时间和可编程I/O口:
int board_init(void) { init_time(); set_gpios();
return 0; } |
STEP3进行内存映射及MMU初始化:
void mem_map_init(void) { #ifdef CONFIG_S3C2410_NAND_BOOT mem_map_nand_boot(); #else mem_map_nor(); #endif cache_clean_invalidate(); tlb_invalidate(); } |
|
|
↑返回顶部
打印本页
关闭窗口↓
|
|
|
|