uClinux for blackfin

Similar documents
华恒家庭网关方案

华恒家庭网关方案

Abstract arm linux tool-chain root NET-Start! 2

一个开放源码的嵌入式仿真环境 ― SkyEye

1

Cygwin Cygwin windows Linux Cygwin.dll Windows Linux API Linux Windows Linux 2

<4D F736F F D20C7B6C8EBCABD6C696E7578BBF9B4A1CAB5D1E92E646F63>

Microsoft Word - 正文.doc

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

RTX3.2.0标准版 - 技术白皮书

Microsoft Word - PS2_linux_guide_cn.doc

自由軟體教學平台

2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD University of California UNIX X/Open Company, Ltd.

嵌入式Linux块设备驱动开发解析

ebook70-22

简 介 本 白 皮 书 高 度 概 述 了 支 持 移 动 互 联 网 设 备 (Mobile Internet Device) 的 Intel C++ Software Development Tool Suite for Linux* OS, 目 标 读 者 主 要 是 技 术 决 策 制 订

Red Flag Linux Desktop 4.0 Red Flag Linux Desktop 4.0 1

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6BFBCCAD4B4F3B8D92E646F63>

陕西职业技术学院(用标志)

EK-STM32F

Microsoft Word - 第5章.doc

<4D F736F F D20C7B6C8EBCABDCAB5D1E9CAD2B7BDB0B82E646F63>

ARM学习报告003——Bios源码分析.doc

ebook35-14

untitled

ebook15-C

untitled

untitled

ARM JTAG实时仿真器安装使用指南

bingdian001.com

PowerPoint 演示文稿

05 01 X Window X Window Linux Linux X Window X Window Webmin Web Linux Linux X Window X Window Notebook PC X Window X Window module Linux Linux kernel

CC213

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

目 录

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

VoIP Make a Rtp Call VoIP Abstract... 2 VoIP RTP...3 Socket IP...9 Config Two Voice-hub

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C Project 30 C Project 3 60 Project 40

MSAC-EX1

lect03.ppt

Microsoft Word - 選擇_無解答2_.doc

ebook8-30

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

Microsoft Word - linux命令及建议.doc

PCM-3386用户手册.doc

Simulator By SunLingxi 2003

FY.DOC

PCMCIA Compact Flash GPRS GPS PCMCIA Personal Computer Memory Card International Association CF Compact Flash PCMCIA CF PCMCIA/CF

Ps22Pdf

ebook71-13

untitled

经华名家讲堂

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

ebook12-1

第 1 页共 9 页 文档履历 版本号日期制 / 修订人内容描述 V 正式版本

Microsoft Word htm

.. 3 N

LinuxÓû§»ù´¡

本文由筱驀釹贡献

NEXT SDT2.51 C:\ARM251 SDT2.51 ARM SDT 2.51 ARM PROJECT MANAGER SDT 2

浙江大学本科论文模板

ebook62-1

Oracle 4

ICD ICD ICD ICD ICD

C) 分 析 指 令 并 发 出 相 应 的 控 制 信 号 D) 只 控 制 CPU 的 工 作 14. 个 人 计 算 机 属 于 A) 小 巨 型 机 B) 小 型 计 算 机 C) 微 型 计 算 机 D) 中 型 计 算 机 15. 目 前 普 遍 使 用 的 微 型 计 算 机, 所 采

概述

untitled

第一章 概论

Microsoft Word - YDB Vehicle Telematics Service Requirement and General Framework

untitled

untitled

2 12

indows CE 1996 Semiconductor Industry Association (SIA) Windows CE Windows Embedded CE 6.0 Windows CE Windows Embedded CE 6.0 Micr

Microsoft Word - 39.doc

P4VM800_BIOS_CN.p65

09 Linux Linux Linux Linux 009.indd /9/4 下午 12:11:10

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

<4D F736F F D20B5E7D7D3D0C5CFA2C0E0D7A8D2B5C5E0D1F8B7BDB0B8D0DEB6C1D6B8C4CF2E646F63>

51 C 51 isp 10 C PCB C C C C KEIL

,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN TP36 CIP (2005) : ( 10 ) : : (010 ) : (010)

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

linux 2.6内核移植_for at91rm9200_归档.doc

提问袁小兵:

網路安全:理論與實務 第二版

《计算机应用基础》学习材料(讲义)

HighPoint产品的FAQ手册

Microsoft PowerPoint - os_4.ppt

Windows 2000 Server for T100

表3:

声 明 Copyright 2010 杭 州 华 三 通 信 技 术 有 限 公 司 及 其 许 可 者 版 权 所 有, 保 留 一 切 权 利 未 经 本 公 司 书 面 许 可, 任 何 单 位 和 个 人 不 得 擅 自 摘 抄 复 制 本 书 内 容 的 部 分 或 全 部, 并 不 得

目录

ebook140-11

九江职业大学2015届毕业生就业质量年度报告

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP

C/C++语言 - C/C++数据

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

Transcription:

uclinux Blackfin support@besovideo.com

QQ 21ic http://bbs.21ic.com/club/bbs/bbsview.asp?boardid=51 24! support@besovide o.com R&D

BF561 Linux

C

MemoryMAP 32 X86 *((volatile unsigned short *)(0x10000300))=0xf0c0; *((volatile unsigned long *)(0x56000020))&=0xffffcfcf;

64MB BANK

0x2C000000 0x28000000 0x24000000 0x20000000 BANK0-SIZE+ BANK1- SIZE+ BANK2-SIZE BANK0-SIZE+ BANK1- SIZE BANK0-SIZE 0x00000000 CS7 CS6 CS5 CS4 SDRAM CS3 16 128MB SDRAM CS2 16 128MB SDRAM CS1 16 128MB SDRAM CS0 16 128MB

0x01f80000

Flash U-Boot Linux Flash FlashU-Boot SDRAM Linux Linux SDRAM

uclinux

Micro-Control Linux MMU real memory manage : FLAT elf2flt C uc-libc/uclibc Motorola DragonBall, and other 68K Derivatives Motorola ColdFire ARM7TDMI and MC68EN302 ETRAX Intel i960 PRISMA Atari68K Blackfin

uclinux TCP/IP data 50~100k bss 100~150k text 300k >80k

uclinux Linux uclinux

uclinux uclinux bootloader vmlinux.lds.s

LinuxGNU 4 GCC: GNU.o AS: GNU (Assembler).S.s.o LD: GNU (Linker) LDD: NM: AR: -m486 -On -shared -static -Wall 486

gcc c I. o hello1.o hello1.c gcc L. o hello hello1.o hello2.o -lcrypt bfin-uclinux-gcc -O2 -Wall -Dlinux -D linux -Dunix -D uclinux -I/BF561-R2/uClinux-dist -I/BF561-R2/uClinux-dist/lib/uClibc/include -I./ - I/BF561-R2/uClinux-dist/lib/libnet -c -o hello1.o hello1.c bfin-uclinux-gcc -Wl,-elf2flt -L/BF561-R2/uClinux-dist/lib/uClibc/. -L/BF561-R2/uClinux-dist/lib/uClibc/lib -L/BF561-R2/uClinux-dist/lib/uClibc/libm -o hello hello1.o hello2.o -lcrypt

Makefile make CC = PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \ auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o tdb.o tty.o CFLAGS += LDFLAGS += LIBS = -lcrypt all: pppd pppd: $(PPPDOBJS) $(CC) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS) romfs: $(ROMFSINST) /bin/$(exec) clean: rm -f $(PPPDOBJS) pppd *~

/BF561/tools/usr/local cp -rf /BF561/tools/* /usr/local 1) bfin-elf-xxx u-boot 2) bfin-uclinux-xxx uclinux C

blackfin cvs -z9 -d:pserver:anonymous@cvs.blackfin.uclinux.org:/cvsroot/gcc3 binutils cvs -z9 -d:pserver:anonymous@cvs.blackfin.uclinux.org:/cvsroot/gcc3 elf2flt cvs -z9 -d:pserver:anonymous@cvs.blackfin.uclinux.org:/cvsroot/gcc3 gcc http://blackfin.uclinux.org/frs/?group_id=17 Binutils: make distclean./configure --target=bfin-elf --prefix=<output_dir> --exec-prefix=<output_dir> make make install cp -rf <2.6 kernel>/linux-2.6.x/include <output_dir>/bfin-elf cp -rf <2.6 kernel>/lib/libc/include <output_dir>/bfin-elf

PATH=<output_dir>/bin:$PATH GCC make disclean./configure --target-bfin-elf --prefix=<output_dir> --exec-prefix=<output_dir> make make install Elf2flt make distclean./configure --target=bfin-elf --with-libbfd=<binutils_dir>/bfd/libbfd.a --with-libiberty=<output_dir>/lib/libiberty.a --with-bfd-include-dir=<binutils_dir>/bfd --with-inutils-include-dir=<binutils_dir>/include --prefix=<ourput_dir> --exec-prefix=<output_dir> make make install

LINUX JTAG/ u-boot TFTP

Visual DSP++ U-BOOT RAM U-BOOT(u-boot.dxe) ROM U-BOOT(u-boot.bin) PCJTAG Visual DSP SDRAM EBIU_SDGCTL: 0x91998D EBIU_SDBCTL: 0x15 EBIU_SDRRC: 0x74A u-boot.dxe PC RAM U-BOOT 0x1000000 115200 8N1 U-BOOT ROM U-BOOTFLASH BOOT> loadb 1000000 BOOT>fl 20000000 1000000 20000 FLASHU-BOOT

uclinux Linux Makefile

Makefile Linux Linux config.in 2.6 Kconfig.config uclinux linux-2.6.x make menuconfig : make clean make dep( 2.4) make

char xxx_init OS ENABLE request_irq file_operation

file_operations include/linux/fs.h lseek read writeread readdir select ioctlcmd mmap open I/O release close inode /dev/xxx file register_chrdev /devfs_register

int request_irq(unsigned int irq, void (*handler)(int irq,void dev_id,struct pt_regs *regs),unsigned long flags, const char *device, void *dev_id); void free_irq(unsigned int irq, void *dev_id); void * kmalloc(unsigned int len, int priority); void kfree(void * obj); I/O check_region request_region release_region check_mem_region request_mem_region release_mem_region I/O inb inb_p outb outb_p inw outw inl outl add_timer del_timer init_timer #define cli() asm volatile ("cli"::) #define sti() asm volatile ("sti"::) printk LINUX III

ENABLE save_flags(flags); cli(); restore_flags(flags); 16 GPRS U IDEhda lost interrupt IDE softirq init_bh() /mark_bh/queue_task/run_task_queue (http://www.linuxforum.net/forum/showflat.php?cat=&board=linuxk&number=88594&page=0&view=collapsed&sb =5&o=7&part=) PENDING request_irq enable

: insmod/rmmod/lsmod gcc -D KERNEL -DMODULE Ikernelsrc_include_dir init_module insmod uclinuxosmain module_init initcall init mem.c kernel/include/linux/init.h cleanup_module module_exit

mknod /dev/xxx c major minor register_chrdev /dev/ devfs_register major + minor fd=open( /dev/xxx,...); read fd,buf,cnt ; register_chrdev(major, xxx,&fops); xxx_open xxx_read

uclinux MMU LINUX CPU < GPIO CPU> MEMORY ioremap copy_from_user(skbuf,buf,cnt)/copy_to_user(buf,skbuf,cnt) bootloader 90% MAC/IDE/SL811/PCMCIA+WLAN

KERNEL read fd,buf,cnt ; xxx_read fd,buf,cnt) interrupt_handler{// while(copied < cnt){ if(irq_evt==receive) interruptible_sleep_on(wq);} wake_up_interruptible(wq); copy_to_user(buf,skbuf,cnt); }

C uclibc uc-libc uc-libc uclinux Ccoldfile uclibc uc-libc bug uclibc libc: C libm: libcrpt: libpthread:posix libutil: Unix libz:

C uclibc uc-libc uc-libc uclinux Ccoldfile uclibc uc-libc bug uclibc libc: C libm: libcrpt: libpthread:posix libutil: Unix libz:

uclinux-dist/user uclinux-dist make menuconfig Busybox Busybox linux UNIX PC Busybox POSIX arg0

Tips Makefile

Linux linux init shell Blackfin Linux BSP ext2 ramdisk uclinux-dist/vendors/ TARGET/Makefile uclinux-dist/romfs genext2fsext2 rootfs.img

rootfs.img.ramdiskrootfs.o rootfs.o linux ld vmlinux.lds.s.data:{ }>ram ramdisk_begin =. ; *(.ramdisk) ramdisk_end =. ; ramdisk_begin ramdisk_end bfin-uclinux-objcopy --add-section.romfs=/bf561-r2/uclinux-dist/linux- 2.6.x/rootfs.img \ --adjust-section-vma.romfs=${addr} --no-adjust-warnings \ --set-section-flags.romfs=alloc,load,data \ /uclinux-dist/linux-2.6.x/linux concat.dxe

uclinux-dist make uclinuxdist/images linux.bin zimage.bin linux.bin linux zimage.bin linux.bin u-boot FLASH, zimage.dxe (ELF ) U-BOOT U-BOOT SDRAM BOOT> tftp 0x1000 linux.bin BOOT> go 1000 BOOT> tftp 0x1000 zimage.bin BOOT> fl 0x20040000 0x1000 0x100000 U-BOOT

Linux uclinux

D/A ADV7171 BF561 PPI0 BF561 GPIO I2C ADV7171 ADV7171 struct file_operations adv7171_fops = { open: adv7171_open, ioctl: adv7171_ioctl, release: adv7171_release, write: adv7171_write, }; init() adv7171 PPI DMA open(): PPIDMA write(): ioctl(): ISR(): DMA

Linux dev_base net_device Linux

EBIUDM9000 D0~D15 16 DM9000 A2 DM9000 / PF11 DM9000 CS1 DM9000

drivers/net/space.c ethif_probe dmfe_probe: dev, ethif_probe dmfe_open: ifconfigopen dmfe_stop: dmfe_start_xmit: sk_buffer dmfe_interrupt dm9000...

Inetd /etc/inetd.conf service type protocal wait user server cmdline service/etc/services Type socket Stream/Dgram Protocol Wait Dgram socket User ID Server Cmdlineargument()

uclinux make menuconfig inetd telnetd ftpd romfs/etc/inittab inet:unknown:/bin/inetd romfs/etc/inetd.conf ftp tream tcp nowait root /bin/ftpd telnet stream tcp nowait root /bin/telnetd make

telnetd: [/]# telnet 192.168.2.254 Trying 192.168.2.254... Connected to 192.168.2.254 (192.168.2.254). Escape character is ^]. Sash command shel (version 1.1.1) />ls bin dev etc home lib mnt proc root sbin tmp usr var />

1. u-boot+ram LINUX 2. u-boot 3. MODULES NFS

./hello minigui/qt/microwin GUI libxxx.socgi : ( ) LINUX PC mkdir /2410lib; gunzip ramdisk.image.gz mount o loop ramdisk.image /tmp cp f /tmp/lib/* /target-lib minicom mount o nolock 192.168.2.122:/targetlib /lib mount -o nolock 192.168.2.122:/ /mnt /mnt/treeview& mount IP PC PC UNIX

BF561 CORE A LINUX CORE B H.264@CIF CORE A CORE B CORE A CORE A

VoIP MPEG4 MP3 WMA email SMS MMS Linux H.264/MPEG4 G.711/G.723.1/G.729/MP3 TCP/IP H.323 GUI ADSP BF561(600MHz) TFT LCD(3.5 ) FLASH SDRAM CCD A/D A/D D/A

1. uclinux uclinux Application Module MP3 SoHo Gateway Communication Module RT BF533 +uclinux50us 2. GPL GPL module insmod GPL

: market@besovideo.com support@besovideo.com http://bbs.21ic.com/club/bbs/bbsview.asp?boardid=51