ECM-BF609 uClinux Software User Manual

Aus BECOM Systems Support
Zur Navigation springen Zur Suche springen

Introduction

Bluetechnix offers a Board Support Package that is based on the U-Boot boot loader and the Buildroot with Linux kernel.

Support

Development host setup

We are using Linux distribution Ubuntu 10.04 LTS on the development host.

  • Ubuntu uses dash as the preferred shell. However, we want bash. So, reconfigure /bin/sh to point to /bin/bash instead of /bin/dash:
sudo dpkg-reconfigure dash

Select no when asked if it should link dash to /bin/sh.

  • You probably need access to the serial console (UART1) which is available via the USB-UART converter.
  • We recommend to install a TFTP Server.
  • Optionally, you may want to set up a DHCP Server.

Releases

Release 1.0.1

Release date
2015-09-22
Supported hardware
eCM-BF609-C-C-Q25S256F8
eCM-BF609-C-I-Q25S256F8
eDEV-BF609
Download path
https://support.becom-group.com/releases/blackfin/eCM-bf609/
Base board support package
Analog Devices 2013R1-RC1
Used tool chain
Analog Devices 2013R1-RC1
Release Notes
For information about supported features have a look at the #Support Matrix
Changes
- Fixed Ethernet PHY connection problems

Release 1.0.0

Release date
2013-12-02
Supported hardware
eCM-BF609-C-C-Q25S256F8
eCM-BF609-C-I-Q25S256F8
eDEV-BF609
Download path
https://support.becom-group.com/releases/blackfin/eCM-bf609/
Base board support package
Analog Devices 2013R1-RC1
Used tool chain
Analog Devices 2013R1-RC1
Release Notes
For information about supported features have a look at the Support Matrix
Known issues
- Ethernet PHY may not start correctly (workaround: additional reset).

Support Matrix

We are working on basic support for our core module. This matrix gives you the current status.

Legend:

  • OK = supported
  • ? = unknown
  • NO = not supported (software)
  • N/A = combination not allowed/not available/not relevant (hardware)

Bluetechnix offers custom development services! Feel free to contact us if you are missing support for specific hardware!

eCM-BF609
U-Boot uClinux
eDEV-BF6xx Ethernet {{#switch: OK OK OK OK OK OK OK #default = OK

}} || {{#switch: OK

OK OK OK OK OK OK #default = OK

}}

SD-card {{#switch: ? ? ? ? ? ? ? #default = ?

}} || {{#switch: OK

OK OK OK OK OK OK #default = OK

}}

USB-OTG {{#switch: ? ? ? ? ? ? ? #default = ?

}} || {{#switch: OK

OK OK OK OK OK OK #default = OK

}}

Audio {{#switch: NO NO NO NO NO NO NO #default = NO

}} || {{#switch: NO

NO NO NO NO NO NO #default = NO

}}

HDMI {{#switch: NO NO NO NO NO NO NO #default = NO

}} || {{#switch: OK

OK OK OK OK OK OK #default = OK

}}

ISM-MT9M131 {{#switch: NO NO NO NO NO NO NO #default = NO

}} || {{#switch: NO

NO NO NO NO NO NO #default = NO

}}

ISM-MT9P031 {{#switch: NO NO NO NO NO NO NO #default = NO

}} || {{#switch: NO

NO NO NO NO NO NO #default = NO

}}

ISM-MT9M024 {{#switch: NO NO NO NO NO NO NO #default = NO

}} || {{#switch: NO

NO NO NO NO NO NO #default = NO

}}

CAN {{#switch: NO NO NO NO NO NO NO #default = NO

}} || {{#switch: NO

NO NO NO NO NO NO #default = NO

}}

LVDS {{#switch: NO NO NO NO NO NO NO #default = NO

}} || {{#switch: NO

NO NO NO NO NO NO #default = NO

}}

Touchscreen {{#switch: NO NO NO NO NO NO NO #default = NO

}} || {{#switch: NO

NO NO NO NO NO NO #default = NO

}}

NOTE: HDMI is not enabled by default in the kernel configuration. For inforation how to configure HDMI see here.

Getting started with eDEV-BF609

  • Plug in your eCM-BF609 on your eDEV-BF609.
  • Default dip switch settings:
  S1 00000001
  S2 11111000
  S4 1010
  S6 1100
  • Connect to the Board (X13) to your computer with a mini USB cable.
  • Use your Serial Terminal Program of your choice with the following settings:
Baudrate: 115200
FlowControl: NONE
Parity: None
Stop Bits: 1
Data: 8Bit
  • If you like, connect Ethernet.
  • Connect 12V DC to the power connector.

NOTE: After power up the reset button must be pressed and hold for 1 seconds to boot correctly.

Install software sources

Download and extract the newest releases of the Buildroot und the U-Boot boot loader. For Release 1.0.0 we used tool chain 2013R1_RC1 from https://sourceforge.net/projects/adi-toolchain/files/. You have to add the path of your tool chain to your PATH variable.

The U-Boot boot loader

The main task for the boot loader is to initialize hardware appropriately (especially the RAM), and to load the Linux kernel. Via environment variables, you can configure U-Boot as you wish: Network settings, where to load the Linux kernel from, set up the kernel's command line, etc.

In most cases, you will not need to change and recompile U-Boot, but simply alter the environment variables so that U-Boot's behaviour fits your needs.

U-Boot development

Build the u-boot for the eCM-BF608

cd bf609-u-boot
make ecm-bf609

Environment storage

The u-Boot environment is usually saved in the SPI flash.

Linux loading and parameters

Set the U-Boot variable bootcmd according to your wishes:

  • set bootcmd run ramboot
Loads the uImage via TFTP.
  • set bootcmd run flashboot
Loads uImage from SPI flash.

Updating

NOTE: You can also update U-Boot from Linux. Here, we talk about updating U-Boot with a running U-Boot.

You need to have your network configured. Set at least ipaddr, serverip, and ethaddr.

run update

Linux kernel development

  • Change the buildroot configuration:
cd bf609-buildroot
make menuconfig
  • Change the kernel configuration:
make linux-menuconfig
  • Store your current kernel config:
cp output/build/linux-custom/.config linux/linux-kernel/arch/blackfin/configs/ECM-BF609_defconfig
  • Build kernel
make
  • Write uImage to flash
In u-Boot type:
tftp $(loadaddr) uImage;sf probe 1;sf erase 0x40000 0x7c0000;sf write $(loadaddr) 0x40000 $(filesize)
The uImgae gets loaded over TFTP and gets stored in the SPI flash at address 0x40000.

Knowledge base

In alphabetical order.

Ethernet

{{#if: eDEV-BF609 ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}
eDEV-BF609   ≥V1.0
   {{{4}}}
{{{5}}}   {{{6}}}
{{{7}}}   {{{8}}}
{{{9}}}   {{{10}}}
{{{11}}}   {{{12}}}
{{{13}}}   {{{14}}}
{{{15}}}   {{{16}}}
{{{17}}}   {{{18}}}
{{{19}}}   {{{20}}}
  • Unit test for Linux (You must have TFTP server running on 192.168.0.2 which provides the file 1MBrandomfile for the test to be successful):
/unit_tests/ethernet.sh
  • U-Boot default network configuration:
    • IP address 192.168.0.15
    • Server IP address 192.168.0.2

SD card

{{#if: eDEV-BF609 ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}
eDEV-BF609   ≥V1.0
   {{{4}}}
{{{5}}}   {{{6}}}
{{{7}}}   {{{8}}}
{{{9}}}   {{{10}}}
{{{11}}}   {{{12}}}
{{{13}}}   {{{14}}}
{{{15}}}   {{{16}}}
{{{17}}}   {{{18}}}
{{{19}}}   {{{20}}}
  • Unit test /dev/mmcblk0
/unit_tests/sd.sh

USB OTG

{{#if: eDEV-BF609 ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}
eDEV-BF609   ≥V1.0
   {{{4}}}
{{{5}}}   {{{6}}}
{{{7}}}   {{{8}}}
{{{9}}}   {{{10}}}
{{{11}}}   {{{12}}}
{{{13}}}   {{{14}}}
{{{15}}}   {{{16}}}
{{{17}}}   {{{18}}}
{{{19}}}   {{{20}}}
  • The Linux driver for USB Host is automatically loaded (part of the kernel).
  • If you want to test the port in device mode, then you have to load a gadget kernel module. For available gadgets, look into
bf609-buildroot/linux/linux-kernel/drivers/gadget/
  • Note: Do not use the USB Host mode (e.g. connect a USB flash disk) while a gadget module is loaded. (We observed that the driver crashes.)
  • Unit test; assumes that a USB disk is plugged into the USB-OTG port)
/unit/tests/usb.sh

HDMI

{{#if: eDEV-BF609 ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}{{#if: ||}}
eDEV-BF609   ≥V1.0
   {{{4}}}
{{{5}}}   {{{6}}}
{{{7}}}   {{{8}}}
{{{9}}}   {{{10}}}
{{{11}}}   {{{12}}}
{{{13}}}   {{{14}}}
{{{15}}}   {{{16}}}
{{{17}}}   {{{18}}}
{{{19}}}   {{{20}}}

You have to eanbele the v4l2 and display driver.

Device Drivers  --->
    <*> Multimedia support  --->
        [*]   Cameras/video grabbers support
        [*]   Media Controller API (EXPERIMENTAL)
        [*]   V4L platform devices  --->
              <*>   Blackfin Video Display Driver
        [ ]   Autoselect ancillary drivers (tuners, sensors, i2c, frontends)
        Encoders, decoders, sensors and other helper chips  --->
              <*> Analog Devices ADV7511 HDMI transmitter
  • Unit test

Prepare a 720p yuv file and transfer it to your board.

tftp -r image.yuv -g 192.168.0.2

Use v4l2_video_display to play this file on your tv.

v4l2_video_display -F image.yuv