Main Page/ECB BF532

From Qi-Hardware
Jump to: navigation, search

Contents

[edit] ECB_BF532 Open Platform

This project provide a set of hardware and Software tools for work with Analog Device's BF532 DSP. The files will release under CC-BY-SA licence by Departamento de Ingeniería Eléctrica y Electrónica de la Universidad Nacional de Colombia.

ECB-BF532 V1
  • Author: Carlos Camargo
  • Contributor: Carlos Gavilan




This project is based on BlackfinOne, IP04 and BlackStamp projects, and use the Blackfin BF532 Processor. The main documentation can be found here, however, this explains the most important issues and changes made to the development board.

[edit] Specifications

  • 400MHz Analog Device Blackfin BF532
  • 32M SD-RAM running at 133MHz
  • Inferface Pheripheral Parallel Port / GPIO
  • M25Pxx SPI flash (in testing)
  • 2G NAND Flash (not tested)
  • microsd (not tested)
  • Philips ISP1362 USB 2.0 controller (not tested)
  • Daughter card connector FPGA or Expansion connector (not implemented)

[edit] Blackfin Basics

Introduction of Blackfin

[edit] Development Host Setup

Although the majority of people use the Blackfin toolchain to compile applications which run under the Linux kernel, many people use it to compile applications, which run with no operating system, or are operating systems by themselves. Howto set up development host.

[edit] Installing the Blackfin Toolchain

You can use the latest versions of the toolchain, which can be obtained from the SVN repository, however, are not recommended because it is not stable and is susceptible to continuous changes during its development. The recommended version and is handled in the repositories of analog device is the version 2009. Installing Toolchain

[edit] Debuging and Flashing

For flashing and debuging process is going to use the jtag port. The programs that are going to use are the GNU debugger gdb and gdbproxy, which requires urjtag, which is responsible for communication with the blackfin jtag. Gdb is included with the toolchain, and gdbproxy and urjtag are external tools, which can be downloaded separately or in the toolchain source package.

"At power up Blackfin boots first-stage loader from SPI dataflash, called Loader0. It initializes and tests the SDRAM, checks that it's not in service mode (used for reflashing throught Ethernet) and after that it loads u-boot from SPI dataflash to SDRAM and runs. When u-boot is starting it's already in SDRAM, so it does not need to boot anything from anywhere (BOOT_BYPASS mode)."

The steps to take to load any program depends on how the blackfin makes the boot process - boot modes availability.

The generic mode is to use the jtag, however, you must initialize the configuration process of memory where you want to save the program. For this board, you just use jtag. Run the gdbproxy in a terminal, which is responsible for communicating with the blackfin via jtag. If you use the latest version of urjtag and gdbproxy, they automatically recognize the programmer, in other case, you need to initialize manually.example

On the other hand, you should use gdb to send the program or set the blackfin (gdb is included in the toolchain). GDB communicates with gdbproxy and sends the commands to perform the desired processes.

If you want to execute programs in RAM or on a specific site of memory, one must modify this information in the file compiler linker, to create an executable in that position, it should be noted that memory space is accessible and not is reserved. In this example, you can change where you have to run (l1code) in the linker file.

GDB is run from specific commands, which can be used manually or through a script aumomaticamente. By default, gdb searches for the file. Gdbinit and runs, however, if this does not exist, it opens in console mode. The most important line is "remote target <ip>: <port>" because it communicates with gdbproxy through TCP protocol (ip of the machine that runs gdbproxy, and port, usually 2000). Here is an example of the script.

[edit] U-boot Boot loader

How load

Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export