S3C2440运行裸机小程序需烧录到NAND Flash(学习笔记)

  1. 对于韦东山的S3C2440开发板,当运行LED等简单的小程序时,必须烧录到NAND Flash,原因如下:
    (1)NOR Flash虽然可以向内存一样进行读操作,但不可以像内存一样进行写操作,所以假如要从NOR Flash启动,一般先在代码的开始部分使用汇编指令初始化外接的内存器件(外部RAM),然后将代码复制到外存中,最后跳转到外存中继续执行。(这段初始化代码比较复杂,需要后面再学习)。
    (2)S3C2440中有称为“Steppingstone”的4KB内存RAM,当选择从NAND Flash启动CPU时,CPU会通过内部的硬件将NAND Flash开始的4KB字节数据复制到这4KB的内部RAM中(此时内部RAM的起始地址为0),然后跳转到地址0开始执行。(即有内部硬件自动执行复制操作)。
    所以对于小程序,一般将它烧入NAND Flash中,借助CPU内部RAM直接运行。

  2. 将小程序烧入NAND Flash的方法:
    (1)使用韦东山提供的专用工具EOP(普通JLINK只能烧录NOR Flash,不能烧录NAND Flash);
    (2)先烧录提供的u-boot到NOR Flash,再设置从NOR启动,启动后按空格键停留在u-boot指令等待界面,通过u-boot和上位机的DNW软件配合,将小程序烧录到NAND Flash。最后关机,设置从NAND启动,重启开发板,即可验证程序效果。

你可能感兴趣的:(linux)