Loading...

Embedded Linux software design

TASK

Client

Our client is a microscopes and scientific instruments manufacturer and he order development of handheld video capture system.

About project

New system should be able to:
  • Capture 1.3Mpix video stream;
  • Stream video over WiFi;
  • Stream video over USB;
  • Work from 2 batteries AAA size.
Main advantage of new system should be low cost.

We selected new Analog Devices BF707 DSP as main core of the capture system and Embedded Linux as main operating systems for such device.
All adaptation procedure was done on ADSP-707 EZ-KIT:

bf707kit-bk.jpg

PROCESS

SHORT INTRODUCTION

Analog Devices has announced its ADSP-BF70x processor family featuring 800 MMACS performance at less than 100 mW.
What’s new in ADSP-BF70x:
  •   Big L2 SRAM (1MB, now able to load small RTOS to SRAM without using external dynamic memory);
  •   Hardware security system (Secure boot is also available);
  •   New Blackfin+ core with additional 32-bit MAC and 72-bit accumulator:
bfcorecomp.jpg

Milestone 1

At first, we adopt GCC compiler for ADSP-BF707 DSP with new Blackfin+ architecture with new memory layout. Also we put new LDR utility for BF70x-family DSP UART booting.
We prepared BFIN-ELF- and BFIN-LINUX-UCLIBC- (version  4.3.5) compilers for building uboot and uClinux.

Milestone 2

By using Cross Core Studio and ICE-1000 debug probe - basic uboot functionality was adopted to ADSP-707 EZ-KIT.

ccse_ice1000.jpg

Basic uboot includes: DDR2 RAM initialization, UART for debug output messages initialization, cache initialization, CGU clocks and external memory interface.

Milestone 3

Also SD/MMC (MSI), QSPI Flash, TWI (I2C) drivers were developed. Finally uboot able to from QSPI Flash:

uboot_log_bk.jpg

Milestone 4

On this step we fix Linux kernel hardware abstraction layer and develop drivers for SD/MMC, QSPI controllers.

SOLUTION

Finally our development team started Linux on BF707 DSP with next features:
  • TWI (I2C) driver
  • Timers/PWMs driver
  • Counter driver
  • CAN driver
  • UART driver
  • SPI Host port (with QuadSPI/DualSPI support) driver
  • SPORT (for ADC/DACs, Audio CODECs) driver
  • MSI (for SD/SDIO) driver
  • PPI (video capture/out) driver

And finally, Uboot and Linux to customized ADSP-BF707 board was adopted. In uClinux SDIO WiFi module (TI WL1835) support was added.

Custom hardware:

mcsp_out.jpg

With working with us, our customer got highly skilled team with experience in ADI DSPs. Full Uboot and uClinux board support packge for ADI Blackfin BF70x DSPs was developed by our team. Our Linux experts was optimize boot time to 2,8 seconds (full boot) and device became ready to operate in 3 seconds.
This solution gives all advantages of Linux on ADI Blackfin DSP for our customer.

You see how effectively the DAB-Embedded company solves tasks for adaptation of Linux on a new platform. Please contact us for for more information.

Also you can download Uboot source for Analog Device Blackfin BF707 DSP here.