开发板烧录

注意:
1、只有在bootloader阶段才能使用j-link下载调试,一旦Linux运行起来后,j-link就不能再使用了。
2、如果开发板上没有出厂时的wince系统,就可以跳过前面的擦除出厂系统自带bootloader的过程,直接使用j-link下载bootstrap程序并烧录u-boot。 
3、所有的flash都只能由1 write成0,不能由0 write成1; 如果要从0变为1,只能erase; 所以在往flash写数据之前,必须先擦除要写的地址空间。

烧录文件说明:

bootstrap-s3c2440.bin
bootstrap文件主要用来初始化CPU外部的SDRAM;在烧录时,该程序需要使用j-link下载到0x0(CPU内部SRRAM)地址上去运行,另外此程序不需要烧录到Nandflash上。

u-boot.bin:

u-boot就相当于电脑的BIOS程序,该程序用来烧录/启动Linux系统等。在运行完bootstrap后,我们需要使用j-link将它加载到0x33f80000(CPU外部SDRAM)中去运行,当他在内存中运行起来后,再使用nand write命令将他烧录到nandflash的0地址上去。

linuxrom-s3c2440.bin:

linuxrom是linux系统文件,我们需要在u-boot运行时,使用tftp命令下载到SDRAM的0x30008000地址上,然后再使用nand write命令将其烧录到nandflash的0x100000地址上,记得flash再写之前一定要先使用nand erase命令擦除。

s3c2440_apps.apm:

该程序为FL2440上的应用程序,包括系统配置,WiFi使用,3G/GPRS拨号,数据库,web server,MP3/MP4播放器程序等;修改网卡IP地址和MAC地址在:/apps/etc/network/ifcfg-eth0

nand scrub恢复出厂

j-link加载u-boot命令:

h   停止CPU中正在执行的程序,如果没有停下,可以多按几次h
speed 12000   设置J-link调试速度为12M
loadbin F:\fl2440\bin\bootstrap-s3c2440.bin 0          加载bootstrap程序到CPU内部的4K SRAM中运行
setpc 0                              让PC寄出去指向SRAM的起始地址,该地址放的是刚才下载的bootstrap程序
g                                   开始执行bootstrap程序,该程序用来初始化外部扩展的64M SDRAM,地址空间为0x3000 0000~(0x3000 0000+64M)
h                                   停止bootstrap程序的执行,如果没有停下,可以多按几次h
loadbin F:\fl2440\bin\u-boot-s3c2440.bin 0x33f80000   将u-boot加载到SDRAM的0x33f80000
setpc 0x33f80000                      使PC寄存器指向0x33f80000,即u-boot程序的第一条代码
g                                   开始执行u-boot程序

u-boot下载烧录命令:

I. 设置u-boot环境变量:
set ethaddr    设置fl2440开发板上的u-boot程序中的MAC地址
set ipaddr     设置fl2440开发板上的u-boot程序中的IP地址
set serverip   指定tftp下载时使用的tftp服务器的IP地址

II. 下载并烧录u-boot程序:
-----
tftp 30008000 u-boot-s3c2440.bin   将u-boot临时下载到SDRAM的30008000地址
nand erase 0 100000   将nandflash的0~1M的分区擦除,该分区是用来存放u-boot程序的;
nand write 30008000 0 ${filesize} 将刚下载到SDRAM 30008000地址上的u-boot写到nandflash的0地址偏移处,大小为下载的U-boot文件大小

III. 下载并烧录linux系统:
-----
tftp 30008000 linuxrom-s3c2440.bin   将linux系统程序临时下载到SDRAM的30008000地址
nand erase 100000 F00000   将nandflash的1M~16M的分区(总共15M)擦除,该分区是用来存放linux系统的;
nand write 30008000 100000 ${filesize} 将刚下载到SDRAM 30008000地址上的linux系统写到nandflash的1M地址偏移处,大小为下载的linux系统文件大小

posted @ 2016-05-06 14:57  小禾先生  阅读(591)  评论(0编辑  收藏  举报