1.开发板硬件检测,发送hardware_test.bin文件
输入“1”键盘控制LED实验
2.关于U-BOOT
超级终端中输入print,将显示u-boot 的所有参数,这些参数都是可以修改的,保存在flash 的0x40000 到0x4ffff 之间。
修改的命令是setenv(可以简写为set)
命令格式:
set 参数名称 参数,
修改完成以后需要保存这个参数,命令是
save
例子:
00ic_S3C44B0_cmd=>set serverip 192.168.0.2
00ic_S3C44B0_cmd=>save
bootcmd 这个参数,我们已经知道这个参数是自动启动以后执行的命令,多个命令使用/;隔开
00ic_S3C44B0_cmd=>set bootcmd cp 0x50000 0x0c008000 4d4d/;go 0x0c008000
00ic_S3C44B0_cmd=>save
3.使用u-boot来烧写flash
u-boot 常用命令:
loadb 串口下载(kermit)
tftp 网口下载
go 执行指定地址的程序
bootm 解压运行特定的压缩文件
tftp命令的使用
网络设置:
arm版地址默认为 192.168.0.30
主机的地址改成 192.168.0.10(可以在tftp软件中修改)
前提:base directory 下面:
要传送的文件,bootfile指定的文件名(默认 u-boot.bin);
命令格式:
直接输tftp
tftp 目标地址
u-boot 对flash 的操作主要是写入和擦除
开发板一共2M 的flash,地址分配如下:
0x0-0x3ffff u-boot 的代码区 4*64k = 256k
0x40000-0x4ffff u-boot 的参数区 64k
0x50000-0x1fffff 用户程序区 1024k + 680k
cp 命令的使用,这个命令用于拷贝文件,格式是:
cp 源地址 目标地址 长度
?????? 计算需要拷贝的长度,0x21300/4+2=0x84c2,(程序大小为0x21300)
erase 命令:
4.用minicom在linux下调试开发板?????????????????????????????????
Minicom 是个通信程序(类似于超级终端)
在linux 下配置tftp
用 rpm – qa | grep tftp 看一下tftp 有没安装,没有的话,安装一下
可以检查一下配置文件,配置文件位于
/etc/xinetd.d/tftp service tftp
重新启动tftp服务,输入命令service xinetd restart (tftp服务受控与xinetd,启动xinetd服务就可以了)
tftp 服务器已经设置完成,可以使用tftp 和minicom 下载程序了,但是有一点需要注意,如果你启动了防火墙,有可以不能正常下载,我们需要打开端口69。
5.烧写u-boot
在开发板没有任何程序的情况下,是不能使用我们以前讲到的方法来烧写的,我们需要借助我们的另一个工具jtag 来完成
jtag 调试器支持两种模式:(通过jtag 板上的跳线决定)
sdt(即JTAG)和wiggler
?????? 在JTAG模式下,烧录软件为 bootloader
在wiggler 模式,烧录软件为 flashpgm
6.编译u-boot
可以采用的bootloader 程序编译
第一:首先在linux(或其模拟环境)解压源文件
命令: tar -zxvf u-boot.tar.gz
第二:配置你的开发板
命令:make 00ics3c44b0_config
第三:编译程序
命令:make
第四:烧写代码
烧写:u-boot.bin 文件到你的开发板
相关文件以及目录:
1>/u-boot/cpu/3c44b0 cpu 相关代码
2>/u-boot/board/00ic 板级支持代码
3>/u-boot/include/configs/00ics3c44b0.h 开发板配置文件
注:我们的源代码是make 以后的所有部分,所以你可以直接make,你还可以用make mrproper 清除在重新编译
移植uClinux具体步骤:
1、在bootloader命令行中输入:loadb 0x0c008000 回车,发送uclinux_rom.bin文件;
2、在bootloader命令行中输入:erase 0x50000 0x1fffff 回车,擦除程序区域数据;
3、在bootloader命令行中输入:cp 0x0c008000 0x50000 4b46b 回车直到done
4、set bootcmd bootm 0x50000 回车
5、在bootloader命令行中输入:save 回车保存数据;
6、在bootloader命令行中输入:reset 回车重启板子看是否已经烧进出uclinux。