23
The World Leader in High Performance Signal Processing Solutions Linux on Blackfin Feb 2010 Sonic Zhang Open Platform Solutions Processor-DSP

Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

  • Upload
    ngophuc

  • View
    219

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

The World Leader in High Performance Signal Processing Solutions

Linux on Blackfin

Feb 2010

Sonic Zhang

Open Platform Solutions

Processor-DSP

Page 2: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Agenda

�What is Linux on Blackfin�License�Developing Environment�What’s new in 2009R1 and 2009R1.1�What’s obsolete in 2009R1 and 2009R1.1�Other Key Features�Online Document�Resource and Support�Hardware Available�Q & A

Page 3: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

What is Linux on Blackfin

� Linux on Blackfin is a software development platform for Blackfin microprocessor, which is composed of toochain, boot loader and Linux distribution.

� The Linux distribution includes Linux 2.6 kernel as well as a collection of system and user applications and libraries.

� Linux kernel for Blackfin is the same kernel running on x86, ARM, MIPS, etc. Direct access to hardware or MMR managed by kernel from user space is illegal.

� The Linux 2.6 kernel running on Blackfin has MMU option disabled. Kernel and user space code sit in the same flat physical address space. To develop multi-processor application, vfork or thread API other than fork should be used.

� Because memory fragment is a big issue for NOMMU architecture, frequent memory allocation and free should be avoided. Application are recommended to malloc all memory at start up or manage allocation by itself.

� Linux itself is not a real time OS. But, 3rd party RT enhancement enable RT applications to run under Linux as well. ADEOS is such an option for Linux on Blackfin.

Page 4: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

License

� The license of Linux is GPL/LGPL.� Customers should determine their IP licensing position for

application/library/driver used in end products.� If customer doesn’t want to open its source code:

� Avoid putting proprietary code in kernel.

� Statically link application with libraries of LGPL other than GPL.

� Ask customer to ask their lawyer before making any decision.

Page 5: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Developing Environment

Appsdebugger

(gdb)

Serial or Ethernet

kerneldebugger

(gdb)

JTAG

uboot

LinuxKernel

Standard Apps

Custom Apps

library

Compiler(gcc)

Assembler(gas)

Linker(ld)

Tool Chain

Binutils

Page 6: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

What’s new in 2009R1 and 2009R1.1

� Kernel General� Update kernel to 2.6.28.10� Port to new arch bf51x, bf526/4/2, bf538/9, mobile

ddr bf54xm � New ADEOS against 2.6.28.10 kernel� Full SMP support for bf561� Update KGDB to mainline, support SMP and on chip

RAM access� Improve double fault handling and other exception

handling � Generic GPIO framework� CPUfreq and voltage scaling framework

� Driver Enhancement� 24-bit EPPI and multi ports for BF548� Write operation in OPT driver� Interrupt driven flow control and hardware flow

control for BF548 in serial driver� 4-bit operation in SDIO driver� Full functional PIO/DMA bfin USB 2.0 host/device

driver

� New drivers� AD73322, SM2602, AD7183B, ADZS-BFLLCD-

EZEXT, AD7879, ADP5588, ADP5520� Marvell 8686 wifi, ENC28J60 Ethernet, KS8893M

Ethernet switch� UBIFS on flash, USB Audio gadget, USB video class

gadget, SPI over SPORT

� New Development Boards� BF518-ezbrd� BF526-ezbrd� BF538-ezkit

� Applications� New shell Hush� Benchmark bonnie++, EDN� USB video class gadget utility� CPUfreq utility� PCMCIA utility� PPI/FPGA Demo� Tslib support in Microwin

� Libraries� Optimize libjpeg forward DCT for Blackfin� Bluetooth ALSA library� TIFF, GIF, OGG, AGG, Vorbis libraries� QT embedded 4.5.0 library� Update to Linphone 3.0 with G.729 codec support

Page 7: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

What’s new in 2009R1 and 2009R1.1

� Toolchain� GCC stable version 4.1 and tryout version

4.3.� Support new arch bf51x, bf522/4/6, bf538/9,

bf54xm� Performance enhancement for USB 2.0

gnICE JTAG utility and hardware debugger. 100 times faster than old version.

� Support building and loading L2 SRAM code/data with L2 attribute in source

� Better support for MAC OS X and Windows host

� U-boot� Update to version 2008.10� Port to new arch bf51x� Switch to new SPI flash framework� New MMC_SPI driver� On-chip ATAPI support� On-chip SDIO support� On-chip USB host support� New console over JTAG driver� Support resuming kernel from suspend to

RAM.� Support boot from UART at any baud rate.

Page 8: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

What’s obsolete in 2009R1 and 2009R1.1

� Page cache limitation patch� Now kernel reap page cache at runtime when memory is allocated.

� No Power of 2(NP2) malloc support� No replacement. Use generic kmalloc.

� PBX Zaptel driver� recommend customer to Asterisk code base

� blackfin specific NAND driver� switch to generic platform NAND driver

� blackfin specific spi_mmc driver� swtich to generic mmc_spi driver.

� blackfin specific IDE driver� switch to libata platform driver and pcmcia driver

� unmaintained pehci USB driver� use ISP 1760 USB HOST driver in kernel

� Uncompressed kernel binary with initramfs� Generate uImage only. Booting kernel ELF image is no longer supported in uboot.

Page 9: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Other Key Features

� Blackfin on chip drivers� Ethernet, UART, DMA, I2C, SPI, CAN Bus,

Power Management, Real Time Clock, Watchdog Timer

� Add-on board drivers� V4L driver for cmos camera� Frame buffer driver for LCD or video� Wireless 802.11/Bluetooth� Sound codec� UART over SPORT� SPI ADC/DAC/SD/MMC/Capacitance to Digital

Converter/Touchscreen� I2C keypad/character LCD

� Kernel Memory Management� L1/L2 SRAM allocator� Reserve RAM in boot arguments� DMA memory copy� Process stack check

� Libraries� uClibc� Blacfin DSP lib, Float point lib� SQL Lite� ALSA, USB, Bluetooth� PNG lib, ffmpeg� Touchscreen lib� Microwin, SDL, DirectFB

� Applications� Network camera capture� Network waveform Gen, software oscilliscope� Network audio player� Mplayer, VLC� HTTPS web server pound

� Tools� Generate FLAT, FDPIC, bare metal ELF binary� Link shared library� Generate hardware loop and long jump� GCC built-in functions� Eclipse developing and debugging support� JTAG Debugger, lmbench, strace, oprofiler

Page 10: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Online documentation

� Developing Guide for Blackfin Linux� getting started, development host setup,

How to use� Drivers and kernel� debugging

� Projects� Linphone� ffmpeg and VLC� ADEOS Real Time� Asterisk PBX

� Examples� Using the Distribution� Adding new board configuration� Adding a Hello Program� Adding a new driver� Using available drivers� Living without forks� Cache management� Example applications

http://docs.blackfin.uclinux.org

Page 11: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Resource and Support

http://blackfin.uclinux.org

Page 12: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Support via Help Forum

Page 13: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Bug Tracker

http://blackfin.uclinux.org

Page 14: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Bug Tracker

Page 15: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Release Download

http://blackfin.uclinux.org

Page 16: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Release Download

Page 17: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Other Resource

�SVN trunk source repository� Linux Distribution

� svn checkout svn://firewall-sources.blackfin.uclinux.org:80/svn/uclinux-dist/trunk uclinux-dist

� Toolchain� svn checkout svn://firewall-sources.blackfin.uclinux.org:80/svn/toolchain/trunk

toolchain� Boot Loader

� svn checkout svn://firewall-sources.blackfin.uclinux.org:80/svn/u-boot u-boot

�Hardware buy stuff� http://docs.blackfin.uclinux.org/doku.php?id=buy_st uff

�Hardware schematics download� http://blackfin.uclinux.org/gf/project/stamp/frs

Page 18: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Hardware Available

BF537 STAMP Board

Part Number: ADDS-BF537-STAMPCost: $200 (distribution only)

Parallel PortAvailable from Excelpoint

www.execelpoint.comCost: $40

IGLOO ICE

USB 2.0Available from Bluetechnix

http://www.bluetechnix.comCost: €60

gnICE

Page 19: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Add-On Boards Available

TFT QVGA LCD CMOS Camera

Page 20: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Add-On Boards Available

I2C Character LCD (24x4) ENC28J60 SPI Ethernet

Page 21: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

More Add-On Boards

� AD1836a sound codec� AD73311 sound codec� ADV7393 video out� ADXL34x I2C/SPI accelerator� USB device/host (SL811/isp1362, isp1760, net2272)� AD7142 SPI Capacitance to Digital Converter� AD7877 SPI Touchscreen� I2C Keypad (4x4)� UART/SPI over SPORT

Page 22: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

Q & A

Page 23: Linux on Blackfin Feb 2010 Linux on Blackfin Feb 2010 Sonic Zhang ... CPUfreq and voltage scaling framework ... Blacfin DSP lib, Float point lib SQL Lite

The World Leader in High Performance Signal Processing Solutions

Thank You