微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM移植之BootLoader(4)

ARM移植之BootLoader(4)

时间:11-10 来源:互联网 点击:

  SHELL中读取用户从串口输出的命令字符串,执行该命令:

void
vivi_shell(void)
{
 #ifdef CONFIG_SERIAL_TERM
  serial_term();
 #else
  #error there is no terminal.
 #endif
}
void serial_term(void)
{
 char cmd_buf[MAX_CMDBUF_SIZE];

 for (;;) {
  printk("%s> ", prompt);

  getcmd(cmd_buf, MAX_CMDBUF_SIZE);

  /* execute a user command */
  if (cmd_buf[0])
   exec_string(cmd_buf);
 }
}

  5.电路板调试

  在电路板的调试过程中,我们首先要在ADT新建的工程中添加第一阶段的汇编代码head.S文件,修改Link脚本,将代码和数据映射到S3C2410A自带的0x40000000开始的4KB内存空间内:

SECTIONS
{
. = 0x40000000;
.text : { *(.text) }
Image_RO_Limit = .;
Image_RW_Base = .;
.data : { *(.data) }
.rodata : { *(.rodata) }
Image_ZI_Base = .;
.bss : { *(.bss) }
Image_ZI_Limit = .;
__bss_start__ = .;
__bss_end__ = .;
__EH_FRAME_BEGIN__ = .;
__EH_FRAME_END__ = .;
PROVIDE (__stack = .);
end = .;
_end = .;
.debug_info 0 : { *(.debug_info) }
.debug_line 0 : { *(.debug_line) }
.debug_abbrev 0 : { *(.debug_abbrev)}
.debug_frame 0 : { *(.debug_frame) }
}

   借助万用表、示波器等仪器仪表,调通SDRAM,并将vivi中自带的串口、NAND FLASH驱动添加到工程中,调试通过板上的串口和FLASH。如果板电路的原理与三星公司DEMO板有差距,则vivi中硬件的操作要进行相应的修改。 全部调试通过后,修改vivi源代码,重新编译vivi,将其烧录入NAND FLASH就可以在复位后启动这个Bootloader了。

  调试板上的新增硬件时,宜在ADT中添加相应的代码,在不加载操作系统的情况下,单纯地操作这些硬件。如果电路板设计有误,要进行飞线和割线等处理。

  6.小结

  本章讲解了ARM汇编、Bootloader的功能,Bootloader的调试环境及ARM电路板的调试方法。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top