Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Working with OSK5912 By T Siva Viswanathan Naresh Krishnaswamy Harshvardhan V."— Presentation transcript:

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

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

3 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

4 OMAP Architecture Phase I

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

6 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

7 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

8 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

9 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

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

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

12 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

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

14 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

15 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

16 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 - 256 K Creating utilityMTD DriverMake cramfsmksquashfsMTD Driver

17 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

18 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

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

20 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

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

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

23 Instrumentation APIs Phase IV

24 Inter processor Communication with DSP Gateway 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 Phase IV

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

26 Communication Done Phase IV 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 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

29 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

30 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

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

32 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

33 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

34 Framework Phase V

35 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

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

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


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

Similar presentations


Ads by Google