网站公告列表

  没有公告

加入收藏
设为首页
联系本站
您现在的位置: AnalogCN安诺电子 >> 文章 >> 技术交流 >> 文章正文
  BF537 Core Module           ★★★ 【字体:
BF537 Core Module
作者:jujiante…    文章来源:http://jujiantechlife.spaces.live.com/blog/    点击数:    更新时间:2008-9-5    

由于ADSP-BF532在对TFT-LCD的功能和驱动方面始终支持不够完善,而在BF533上工作也不是足够的稳定,我们不得不转向了Blackfin ADSP-BF537。在BF533上,对于PPI接口时钟为25MHz的情况下,由于CPU对外部MAC+PHY芯片LAN91C111通过总线访问有着较高的优先级,因此虽然内部的PPI有较高的优先级,却无法得到足够的响应。其特征表现为TFT-LCD会出现不同程度的移位现象。一个比较有效的解决办法是通过降低PPI接口的时钟,在BF533 STAMP开发板上,当时钟降低到20MHz时,可以得到稳定的图像。然而即便如此,也还是偶尔会发生图像移位的现象,例如运行网络吞吐量较大的程序。

BF537 Core Module 硬件特性:

    CPU Blackfin ADSP-BF537BBCZ-5A, 500MHz
    RAM 64MB SDRAM
    FLASH 8MB
    Ethernet 10M/100M, w/ PHY chip
    UART 2
    CAN 1
    PPI 1
    I2C 1

由于硬件上没有采用并行接口的Flash,减少了复杂的布线和节省了PCB的空间,但是带来坏处是无法通过常用的JTAG方式来烧录u-boot。相比BF533而言,BF537提供了丰富了启动模式(共8种方式),其中UART启动(BMOD = 111)是本模块唯一采用的方式。基本思路是通过UART来下载和运行u-boot,然后利用u-boot支持从UART来传送文件来传送可以通过SPI接口来启动的u-boot,并将此u-boot来烧录到M25P64里实现串行SPI Flash启动(BMOD = 011)。

由于通过UART来启动的第一个环节用到了自动波特率设置,不同于常用的三线串口,还需要增加CTS和RTS信号线,硬件上这两根线分别连接到PG6和PG7上,Port G既可用于GPIO,也可复用为PPI接口。然后可以采用随blackfin linux toolchain提供的bfin-uclinux-ldr来进行u-boot的下载和启动。

    jian@linux:~/blackfin/uboot> bfin-uclinux-ldr -l /tftpboot/u-boot-bf537.ldr /dev/ttyS0
    Loading LDR /tftpboot/u-boot-bf537-uart.ldr ... auto detected LDR as 'BF537'
    OK!
    Opening /dev/ttyS0 ... OK!
    Configuring terminal I/O ... OK!
    Trying to send autobaud ... OK!
    Trying to read autobaud ... OK!
    Checking autobaud ... OK!
    Autobaud result: 115200bps 49.766mhz (header:0xBF DLL:0x1B DLH:0x00 fin:0x00)
    Sending blocks of DXE 1 ... OK!
    You may want to run minicom or kermit now
    Quick tip: run 'ldr <ldr> <tty> && minicom'

下载完成后,启动kermit并运行version显示u-boot的版本,到这一步我们已经通过串口成功的启动了u-boot。

    jian@linux:~/blackfin/uboot> kermit
    C-Kermit 8.0.211, 10 Apr 2004, for Linux
    Copyright (C) 1985, 2004,
      Trustees of Columbia University in the City of New York.
    Type ? or HELP for help.
    Linux Kermit> connect
    Connecting to /dev/ttyS0, speed 57600
    Escape character: Ctrl-\ (ASCII 28, FS): enabled
    Type the escape character followed by C to get back,
    or followed by ? to see other options.
    ----------------------------------------------------
    version
    U-Boot 1.1.6 (ADI-2008R1) (Jun  5 2008 - 18:05:42)
    bfin>

下面我们首先需要回到u-boot目录下,重新定义启动模式为串行SPI Flash,重新make得到新的u-boot,这个文件是我们下面需要通过刚刚已经运行在板子上u-boot来下载到RAM并且固化到M25P64里。

    #define CONFIG_BFIN_BOOT_MODE BFIN_BOOT_SPI_MASTER

将新的u-boot.ldr更名为u-boot-bf537-spi.ldr,并copy到/tftpboot目录下。然后通过loadb准备接受文件

    bfin> loadb
    ## Ready for binary (kermit) download to 0x01000000 at 57600 bps...

    (Back at linux.site)
    ----------------------------------------------------

ctrl+\,接着ctrl+c切换到host kermit shell环境,使用send来传送u-boot-bf537-spi.ldr文件。

    Linux Kermit> send /tftpboot/u-boot-bf537-spi.ldr

传送完毕后再connect回到bfin console状态,可以看到134460 Bytes被传送到了0x01000000地址处。

    Linux Kermit> connect
    Connecting to /dev/ttyS0, speed 57600
    Escape character: Ctrl-\ (ASCII 28, FS): enabled
    Type the escape character followed by C to get back,
    or followed by ? to see other options.
    ----------------------------------------------------
    ## Total Size      = 0x00020d3c = 134460 Bytes
    ## Start Addr      = 0x01000000

最后使用eeprom名来来烧录u-boot到serial flash。

    bfin> eeprom info
    SPI Device: m25p64 0x20 (ST) 0x20 0x17
    Parameters: num sectors = 128, sector size = 65536, write size = 256
    Flash Size: 64 mbit (8 mbyte)
    Status: 0x0
    bfin> eeprom write 0x1000000 0 $(filesize)
    EEPROM @0x0 write: addr 01000000  off 0000  count 134460 ... ......done

重新将启动模式设定到011,重启,可以看到u-boot已经运行了。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    前置放大器在移动医疗服务系
    便携式多通道大容量生理信号
    防腐监测仪的设计与应用
    基于AD1674的酶标仪的设计
    基于C/S模式的JRTPLIB库的测
    ffmpeg与jrtplib相结合应用
    blackfin模拟摄像头驱动中的
    可编程逻辑在数字信号处理系
    发现VDSP4.5一个BUG:单步调
    VDSP5.0双核工程下sml3中的变
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    版权所有:AnalogCN安诺电子 湘ICP备06016315号