新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 在基于ADSP BF533的嵌入式Linux系统上的移植

在基于ADSP BF533的嵌入式Linux系统上的移植

作者:时间:2012-04-26来源:网络收藏

(3)与头文件相关的代码:在include/configs创建mybf533.h,参考include/configs/stamp.h,如下:



Flash的修改与具体型号和容量有关,修改过程中参考Flash擦除数据命令、特定寄存器的写入地址以及扇区的大小和位置。

与SDRAM相关设置:




注意:最后一行要用Tab键开头表示命令。其中blackfin表示CPU的种类.bf533是cpu bf533对应的代码目录,mybf533是目标板对应的目录。这样可使用make mybf533_config配置自身的开发板。

其他修改视情况而定。如根据SDRAM大小修改cplb表,根据需要修改堆栈大小。如drivers/cfi_flash.c中flash_init()函数,cpu/bf533/ints.c中init_IRQ()函数等。

修改完毕后就可以采用如以下命令编译:bash$>make clean,bash$>make mrproper,bash$>make mybf533_config,bash$>make。

编译完后_1.1.3生成的二进制文件U-Boot.bin(U-Boot.bin只能用于更新)。执行 bash$>bfin-uclinux-objcopy-I binary-Oihex U-Boot.bin,生成可在Windows下首次烧写到Flash的十六进制文件U-Boot.hex。

4.2 U-Boot的烧写

第一次下载U-Boot到目标板或者当U-Boot不能正常启动时。必须通过JTAG或者ADI ICE将U-Boot下载到目标板。在此可将ADI公司的仿真器与Visual DSP++环境相连,通过Visual DSP++,在TOOLS-->Flash Programmer下执行Flash驱动程序M25P64.dxe,选择"Erase all"-->Load Flie烧写U-Boot.hex文件到Flash中。

移植成功后,打开终端minicom复位开发板,若串口能输出正确的启动信息.则表明移植基本成功。启动后,如果在设定的时间内,串口没有接收到按键。U-Boot将自动加载操作系统内核和文件系统。若设定时间内串口接收到按键,则U-Boot停止自动加载,进入命令行,可看到U-Boot的提示符"mybf533>",查看Flash信息,调试或手动加载内核。

生成新的U-Boot.bin文件后。可通过Ethernet或者串口更新U-Boot。因为网络的传输速度远比串口快,故一般选择网络传输。将新生成的U-Boot.bin拷贝到宿主机根目录下的tftpboot目录(前提是已经创建tftp sever),在目标板出现U-Boot提示符后。按任意键进入下载模式:
mybf533>tftp 0x1000000 U-Boot.bin

0x1000000为SDRAM默认的下载地址空间,用于U-Boot的升级、调试。当需要升级或者修改U-Boot,可将新的U-Boot从 SDRAM烧写到。Flash,覆盖原来的U-Boot,以减少烧写Flash的次数。在烧写以前最好测试一下所下载的U-Boot能否正常运行:

如果不正确,应重复执行Erase all和Copy命令,直到正确为止。至此,U-Boot移植的步骤已基本完成。

5 结束语

U-Boot是一个功能强大的Boot loader。前期移植工作是嵌入式系统开发的首要环节。但其移植不可避免的存在一些难以预料的问题。嵌入式开发人员应该在了解U-Boot的工作机理、移植条件后,根据目标板和具体情况灵活裁减U-Boot以提高操作系统移植的稳定性,缩短移植周期,降低产品成本。

本文结合U-Boot的运行机理以及U-Boot移植的基本要求,研究了U-Boot在基于的嵌入式系统上的移植。本文的移植是在不改变 U-Boot框架前提下,对嵌入式目标板和CPU相关代码进行修改,实现了成功移植且移植后的U-Boot能够在目标板上稳定运行,为后续开发奠定了良好的基础。


上一页 1 2 3 下一页

关键词: U-Boot BF533 Linux系统

评论


相关推荐

技术专区

关闭