FL2440开发板烧录

来源:互联网 发布:服装软件哪个好 编辑:程序博客网 时间:2024/06/14 22:20

FL2440开发板

一、准备工作

1、fl2440开发板简介

1、参考了开发板使用手册址:https://wenku.baidu.com/view/2ad0d719b7360b4c2e3f642e.html以及一些参考书和网上的资料。

1、大致了解了fl2440的cpu类型、SDRAM、Nandflash、以太网卡、EEPROM等主要参数以下图为主要参数表:
这里写图片描述

2开发板的图片的样子及各个部件的位置
这里写图片描述

2、开发板的存储系统

1 cpuS3C2440里面的存储系统有4k的SRAM

2有两个32G的主内存组成了64M大小的SDRAM

3有大小为256M的Nandflash。Nandflash里面又分了6个存储区。

4存储系统图

这里写图片描述

2、FL2240烧录流程

1.J-link加载bootstrap程序到SRAM 0地址上去运行,该程序用来初始化外面的SDRAM。

2.J-link加载u-boot程序到外部的SDRAM的0X33f8000地址上运行,该程序相单于pc上的BIOS

3.u-boot在SDRAM上运行起来后,使用tftp命令将u-boot、Linux内核(包括根文件系统)烧入到Nandflash相应的位置上去

3、软件准备

1.J-link驱动

2.USB转串口用360驱动大师

3.secureRCT

4.windows下的tftp:tftp32

4、烧入文件(u-boot的程序目前不会写借用一些写好的程序)

1.bootstrap-s3c2440.bin

2.u-boot-s3c2440.bin

3.linuxrom-s3c2440.bin

4.rootfs-ubifs.bin

5、硬件准备

1.J-link/J-Tag—-供裸机烧录bootloader使用。

2.串口—-供pc与开发板使用。

3.网线—-pc与开发板通信下载使用。

二、执行操作过程

1、程序操作的过程

jlink启动uboot

打开J-Link ARM V4.10i.exe

h                        //halt 停下来看有没有一连串的地址出现,如果有则硬件连接好了。speed 12000              //设置波特率为12000H                                 loadbin F:\linux\1\bootstrap-s3c2440.bin 0      /*找到pc机/F/linux/1/文件夹下的名为bootstrap-s3c2440的   二进制文件并下到内存地址0的位置上*/setpc 0                 //pc为程序计数器(Program Counter)用于指示当前将要执行的下一条机器指令的内存地址。go                     //运行h                     //停haltloadbin F:\linux\1\u-boot-s3c2440.bin 33f80000     //找到文件存储位置并下载到内存33f80000的位置setpc 33f80000                                     //指定下一次存储的位置go

tftp下载uboot kernel rootfs到内存 内存再烧写到nandflash

tftp 30008000 u-boot-s3c2440.bin  //用tftp下载u-boot到内存地址为30008000的位置nand erase 0 100000               //擦除nandflash0到100000的地址位置nand write 30008000 0 100000      //把内存30008000写到nandflash的0到100000的位置

关机 拔掉jlink 重启

tftp 30008000 linuxrom-s3c2440.bin   //用tftp下载linuxrom-s3c2440.bin到内存地址为30008000的位置nand erase 100000                    //擦除nandflash100000以后的位置nand write 30008000 100000 900000    //把内存30008000写到nandflash的100000到100000的位置   tftp 30008000  rootfs-ubifs.bin      //用tftp下载rootfs-ubifs.bin到内存地址为30008000的位置nand erase 1000000                   //擦除nandflash1000000以后的位置nand write 30008000 1000000 900000  //把内存30008000写到nandflash的1000000到1900000的位置boot                                //启动wireless router login:root         //账户passwd:12345`                      //密码

三、经验总结与教训

1.linux的基本操作命令不熟练。

1.设置u-boot环境变量的时候以太网的IP和u-boot上的ip不一致,主要是找不到以设置哪个以太网的IP为准,改以太网ip的时候以太网的ip又变回原来的ip(就是改不动以太网的ip),后面又通过改u-boot的ip(set ipaddr和set serverip)和以太网的ip一致解决了上面的问题。

pc就是指向下一条命令所在的地址

setpc是强制归0

g以后保证执行bootstrap