网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: 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();
}

 
推荐文章
·嵌入式系统 Boot Loader 技术内
 
 
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·U-Boot简介
·U-BOOT的启动流程及移植
·嵌入式系统 Boot Loader
·Bootloader存在的必要性
·U-Boot在S3C2410上的移
·bootloader的加载和运行
相关文章
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·Linux PDA和手持PC一览
·嵌入式Linux系统中的GUI
·嵌入式Linux操作系统启
·QTE/Qtopia在Liod-270上
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统