uclinux系统移植到bf561板子上过程学习2

接下来要移植U-BOOT引导程序,类似于PC机的BIOS,负责把内核映像从FLASH拷贝到SDRAM,然后把执行权交给内核。
首先应该将U-BOOT程序烧到目标板FLASH中,在此需要Visual DSP++在裸板上调试、烧写

具体步骤为:
1、从Blackfin网站下载为BF533移植的U-BOOT
http://blackfin.uclinux.org/frs/?group_id=20&release_id=110
经过简单的移植,U-BOOT也可以很容易的在BF561上跑起来
2、编译得到RAM版U-BOOT(u-boot.dxe),和ROM版U-BOOT(u-boot.bin)
2.1 U-BOOT编译:
   make clean
   make mrproper
   make ezkit561_config
2.2编译ROM版的U-BOOT
   make clean
   make all
2.3 编译RAM版的U-BOOT
    make clean
    make u-boot.ram
3、用串口线将开发板同PC机相连,同时把仿真器接到开发板的JTAG口
4、系统上电,启动Visual DSP调试环境z手工配置SDRAM寄存器
EBIU_SDGCTL:0x91998
DEBIU_SDBCTL:0x13
EBIU_SDRRC:0x74A
5、下载u-boot.dxez修改PC指针,将其指向RAM版U-BOOT的入口地址,0x1000000。
6、启动超级终端作为开发板的控制台(115200 8N1)运行U-BOOT程序,在超级终端进行调试
7、下载ROM版U-BOOT并烧写到FLASH中
BOOT> loadb 1000000
BOOT>fl 20000000 1000000 20000
8、重启后即可执行FLASH上烧好的U-BOOT引导代码。


内核镜像的调试与烧写
在uClinux-dist目录下执行make命令将完成全部的编译工作,编译完成后在uClinux-dist/images目录下将生成linux.bin和zImage.bin
linux.bin是包含根文件系统的linux二进制代码;
zImage.bin是将linux.bin压缩后做成的可用于u-boot解压的压缩文件,因为开发板上FLASH大小有限,为了节省空间,因而使用压缩的内核代码。

两种方式调试内核:
1、同U-BOOT一样使用仿真器调试;
通过JTAG我们可以控制flash芯片上所有管脚,这样可以通过向JTAG接口输入相应的指令和数据,用软件的方法在flash芯片的数据、地址和控制总线上产生出Flash器件的读写操作时序,将uClinux的内核映像文件烧写到Flash中
2.通过tftp将内核下载到SDRAM,然后再从SDRAM写到FLASH中
首先需要建立一个tftp服务器,为了简便,可以直接在windows下建这个服务器,然后把内核和文件系统映像放在服务器的目录下,烧写的过程也就是从服务器上把内容写到Flash指定位置
过程为:
利用U-BOOT调试,将内核下载到SDRAM中直接运行
BOOT> tftp 0x1000 linux.bin
BOOT> go 1000
内核烧写:
BOOT> tftp 0x1000 zImage //内核从0x1000处开始存放
BOOT> fl 0x20040000 0x1000 0x100000

重启后如果没有用户输入,U-BOOT将自动引导内核启动。


上面的步骤实现了将U-BOOT和uclinux镜像烧写到flash中


u-boot实现uClinux自举的顺序如下:
(u-boot和uClinux的压缩映像都预先驻留在FLASH中.)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值