Working with OSK5912 By T Siva Viswanathan Naresh Krishnaswamy Harshvardhan V.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Threads, SMP, and Microkernels
DSPGateway Architecture in Detail
PIKA Technologies Inc. PADS for the PIKA WARP Appliance March 2009.
Operating System Structure
Lab 4 Department of Computer Science and Information Engineering National Taiwan University Lab4 - Bootloader 2014/10/14/ 13 1.
Handheld TFTP Server with USB Andrew Pangborn Michael Nusinov RIT Computer Engineering – CE Design 03/20/2008.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Linux+ Guide to Linux Certification, Second Edition Chapter 3 Linux Installation and Usage.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
04/16/2010CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying an earlier edition.
29 April 2005 Part B Final Presentation Peripheral Devices For ML310 Board Project name : Spring Semester 2005 Final Presentation Presenting : Erez Cohen.
Figure 1.1 Interaction between applications and the operating system.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
LECTURE 14 Operating Systems and Utility Programs
Embedded Systems Programming Introduction to the course.
OS Implementation On SOPC Final Presentation
Ehsan Shams Saeed Sharifi Tehrani. What is DSP ? Digital Signal Processing (DSP) is used in a wide variety of applications, and it is hard to find a good.
COMPUTER SYSTEM LABORATORY Lab4 - Bootloader. Lab 4 Experimental Goal Learn how to build U-Boot bootloader for PXA /10/8/ 142.
NET+OS 6.1 Training. BSP NET+OS 6.1 BSP Initialization Memory map New features Debugging Porting Issues.
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Operating Systems Operating System
1.  Project Goals.  Project System Overview.  System Architecture.  Data Flow.  System Inputs.  System Outputs.  Rates.  Real Time Performance.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
Computer System Laboratory
LPC2148 Programming Using BLUEBOARD
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
02/2008 MATRIX VISION GmbH 1 Presentation The intelligent camera and Image processing sensor.
Porting Android to Beagleboard
Beagle Board Fast Boot Hui Chen Keji Ren Dec 10 th, 2009 EE382N-4 Project.
GBT Interface Card for a Linux Computer Carson Teale 1.
Guide to Linux Installation and Administration, 2e1 Chapter 2 Planning Your System.
Porting Operating Systems Phan Duy Hùng (PhD) ES Lecturer – Hanoi FPT University.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
NIOS II Ethernet Communication Final Presentation
Release 16/07/2009Jetking Infotrain Ltd. Basic Router Configuration Chapter 5.
Unit - VI. Linux and Real Time: Real Time Tasks Hard and Soft Real Time Tasks Linux Scheduling Latency Kernel Preemption Challenges in Kernel Preemption.
Challenges in KeyStone Workshop Getting Ready for Hawking, Moonshot and Edison.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
VLSI Algorithmic Design Automation Lab. THE TI OMAP PLATFORM APPROACH TO SOC.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
CSC414 “Introduction to UNIX/ Linux” Lecture 2. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Linux Operations and Administration
Implementation of Embedded OS Lab3 Porting μC/OS-II.
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 – Bootloader + OS Kernel 2015/10/27/ 25 1.
Embedded Systems Design with Qsys and Altera Monitor Program
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 AT91RM9200 Software delivery.
Implementation of Embedded OS
졸업 프로젝트 발표 1/74 Trinity Snapshot Boot 날 짜: 팀 명: Trinity
Implementation Method Linux-USB Gadget Framework –The Linux-USB Gadget Framework makes it easy for peripherals and other devices embedding GNU/Linux system.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Chap. 4 ARM Boot Loader Internals. 2 S3C2500 ARM940T Core module ARM9TDMI CoreIC.
WP1- Documentation Booting Petalinux from TFTP and using Network file system Section for developers Zynq 7020 R. Assiro.
Linux on ARM7TDMI or Nothing is as easy as it looks Helicon technologies Ltd. How to run uClinux on NXP LPC22xx.
Improvement of startup time using Software Suspend - Project Update -
ECE 3551 Microcomputer Systems 1
CSCI 315 Operating Systems Design
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Chapter 3: Operating-System Structures
IS3440 Linux Security Unit 7 Securing the Linux Kernel
Introduction to 5685x Series
Computer System Laboratory
Command and Data Handling
Presentation transcript:

Working with OSK5912 By T Siva Viswanathan Naresh Krishnaswamy Harshvardhan V

Project Phases Codec DSP Gateway Schematic Analysis Booting From OSK5912 Preparation to Work with Kit

Phase I Introduction to OMAP What is OMAP? Open Multimedia Application Platform Dual Core Processor OMAP5912 ARM926EJS TMS320C55x Exercises Done: Demonstration of Audio Processing Program – Filtering of Voice available from Audio Input using Filters

OMAP Architecture Phase I

Boot Process Studied general boot process Phase I BIOS GRUB/ LILO Kernel initrd/sbin/init Run levelsPrograms Filesystem

Kernel Compilation First Exercise – To compile a sample kernel/ filesystem, small enough to fit in a floppy Size Constraint – Severely limited kernel options available Kernel Configured in Linux using make Went for minimum possible compilable options – final kernel size around 1 MB Required second floppy for file system Phase I

File System Basic File system Problem: Space constraints, not enough resources available on the net. Finding the right configuration/ dependencies and fitting onto a floppy. Phase I File system /dev/usr/sbin/bin/etc/lib/mnt/opt/proc/root/tmp

NFS – Network File System What is NFS? Concept of Server and Client Exports file, NFS Service Network Daemon Mounted Sample Directory from one Computer Using NFS – Direct Connection Using Server Constraint: NETWORK PROBLEM – Inconsistent Network Performance, NFS server takes unusually long time to initialize Phase I

DHCP – Dynamic Host Configuration Protocol Starting DHCP server Dynamic Assignment of IP address to a client from the server Constraints: Network, Configuration of network file Phase I

Additional Work – Bootloader and Filesystem Study Phase I Bootloader U-boot Redboot rrload Filesystems JFFS2 CRAMFS SQUASHFS

Working with OSK5912 Components: –Bootloader –Kernel –Filesystem NFS Standalone Filesystem Required for starting a proper system. Phase II

OSK Kernel Key features: –Patching with OMAP patch –Configured using make menuconfig NFS option included or Standalone Filesystem – mtdblock support Needed arm specific gcc toolsuite to compile Prb : Root option not included. Kernel did not uncompress Phase II

Filesystem populated Files used – Busybox – An introduction File system /dev/usr /Bin/sbin /bin/etc/lib/mnt/opt/proc OSK Filesystem Phase II

Network Cable Connected Memory pages cleared Boot to Bootloader options menu Setting Up the OSK Phase II Bootloader in system Bootloader options Kernel loaded using Tftpboot to RAM Memory pages cleared Kernel copied to flash from RAM File system loaded via Tftpboot File system copied from RAM to Flash Bootargs changed to mtdblock Bootargs changed to nfs, server ip defined, file specified System Rebooted

Filesystem Options Phase II NFS Useful for Debugging Quick Change of Information NFS server required Multiple options can be kept Boot args parameters Fusing Useful for Final Product Information only changed in RAM Limited File size – 16 MB Different Images need to be loaded Size Constraints

Research in filesystems Comparison of JFFS2, Cramfs, Squashfs Failure to implement CRAMFS Phase II JFFS2CRAMFSSQUASHFSYAFFSRAMFS UsageR/WRead-only R/W RAM UsageNoYes Size on diskLoop BackFixed Variable Compression supportYes N/A Compression Ratioonly 1 : 1only 2 : 11: 1 or 2 : 1only 1 : 1 LogicNOR NANDRAM Block Size64 K4 K4 K - 64 K16 K64 K K Creating utilityMTD DriverMake cramfsmksquashfsMTD Driver

Schematics Schematics Analyzed –Power management, Flash memory, SDRAM, Audio Codec, Compact Flash, JTAG, USB, Serial Port, Ethernet, Expansion Connectors –Possible questions – example Memory Allocation in OSK answered –Possible to build a board with required peripherals. Phase III

DSP Studied the following: –DSP processor fundamentals Harvard Architecture Single Instruction Multiple Data Access ADC input Multi-tasking no parallel processing Direct Memory Access Possible Shift register, MAC, Saturation Arithmetic Circular Buffer –DSP processor arch and peripherals –DSP Gateway –DSP BIOS Phase IV

DSP Processor – TMS320C55x Phase IV Also studied Registers, Memories, Interrupts involved in the Processor

DSP Peripherals Phase IV Core ADC DMA Controller Clock Generator GPIO External Memory Interface Enhanced Host Port Interface MMCMcBsP I2C Module RTC WD Timer USBTimer

DSP BIOS – The KERNEL Real time kernel on DSP side Real-time scheduling and synchronization Host-to-target communication Real-time instrumentation Phase IV

DSP/BIOS Features Static and Dynamic DSP/BIOS OBJECT Modular APIS Background Idle Loop Minimum Error Checking Phase IV

Instrumentation APIs Phase IV

Inter processor Communication with DSP Gateway Software  enables data transmission between the GPP processor - running Linux - and the DSP. Supports OMAP1510, 1610, 1710, and Consists of two parts- –Linux Device driver on ARM (to be included in kernel while compiling) –DSP libraries (compiled and linked into the DSP binaries using Linux-DSP-Tools or CCS Key feature – Usage of DSP TASKS as DEVICE FILES Phase IV

DSP Memory Map INTERNAL MEMORY, 3 types- –DARAM –SARAM –PDROM Mapped onto MPU physical address and MPU virtual space. DSP shadow area Phase IV

Communication Done Phase IV Mailbox Mechanism Three mailbox registers- one for MPU two for DSP

Phase IV Communication Done IPBUFS 3 types Global Private System Mailbox protocol Task Ids IPBUFS Ownership is shared. Gets transferred during data transfer.

LINUX API There are five device interfaces DSP task devices- provides interface to DSP tasks for Linux applications. Each task is stored as a device file in /dev/dsptasks directory. (Static task, On Demand Task) DSP task watch device- Find out which task is in use which one has to be loaded etc. DSP control device- Allows the linux application to control the DSP reset read DSP configuration etc. Device file is created at dev/dspctl/ctl. DSP error detection device-used to detect errors such as watchdog timer expiration, DSP MMU error interrupt etc. DSP memory device- Provides access the DSP memory space for DSP program loader. Memory capacity can be extended by mapping SDRAM. Phase IV

Programming Sending a word from DSP to ARM side Sending Block Private or Public Memory Mapping Task Control Parent Child Common Memory Mapping Frame Buffer Phase IV

Sample Program Flow – Word Send Phase IV Arm side DSP side ARM SENDS Word DSP receives word via Word Send Command DSP Initialized via dspctl DSP send word via word send command Task initialization function called ARM Receives Word

Own Programs Tried Word Send Addition Program Multiplication Program PRD Module – TCF Editing Phase IV

TCF Text Configuration File Module Based Approach Modules Available Types of Settings – Global, Local Analysis of Files which are called. Creation of custom functions that can use these files Phase IV

Codec – Current Stage AIC23 – Codec to be used with DSP Studied Registers, Configuration of Codec and link via DSP side Attempting various modes of communication Phase V

Framework Phase V

Method 1 Codec Accessed via DSP Need to configure.tcf file to include adaptor and initialize the Lower Level Drivers Attempt to adapt a similar approach to DSP BiosLink Phase V DSP ARMCODEC

Method 2 Directly accessing CODEC via ARM using ioctl commands Create two tasks and let ARM interface between the two Phase V ARM CODECDSP

Next step Hope in attempt a simple program involving the CODEC Phase V