1 / 37

Working with OSK5912

Working with OSK5912. By T Siva Viswanathan Naresh Krishnaswamy Harshvardhan V. Project Phases. Phase I. Introduction to OMAP. ARM926EJS. What is OMAP? Open Multimedia Application Platform Dual Core Processor. OMAP5912. TMS320C55x. Exercises Done:

Download Presentation

Working with OSK5912

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Project Phases

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

  4. Phase I OMAP Architecture

  5. Phase I Studied general boot process Boot Process GRUB/LILO BIOS Kernel Filesystem /sbin/init initrd Run levels Programs

  6. Phase I 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 Kernel Compilation

  7. 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.

  8. Phase I 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 NFS – Network File System

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

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

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

  12. Phase II 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 OSK Kernel

  13. Phase II OSK Filesystem • Filesystem populated • Files used – • Busybox – An introduction

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

  15. Phase II Filesystem Options • 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

  16. Phase II Research in filesystems • Comparison of JFFS2, Cramfs, Squashfs • Failure to implement CRAMFS

  17. Phase III 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. Schematics

  18. Phase IV 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 DSP

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

  20. Phase IV DSP Peripherals

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

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

  23. Phase IV Instrumentation APIs

  24. Phase IV Software  enables data transmission between the GPP processor - running Linux - and the DSP. Supports OMAP1510, 1610, 1710, and 5912. 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 Inter processor Communication with DSP Gateway

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

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

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

  28. Phase IV 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. LINUX API

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

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

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

  32. Phase IV 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 TCF Text Configuration File

  33. Phase V 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

  34. Phase V Framework

  35. 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

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

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

More Related