PIKA Technologies Inc. PADS for the PIKA WARP Appliance March 2009.

Slides:



Advertisements
Similar presentations
U-Boot and Linux Kernel Debug using CCSv5
Advertisements

LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
Hands-on with the Sitara Linux SDK This presentation provides a hands-on overview of the Sitara Linux SDK. It focuses on the software and tools found in.
IT Infrastructure: Software September 18, LEARNING GOALS Identify the different types of systems software. Explain the main functions of operating.
Handheld TFTP Server with USB Andrew Pangborn Michael Nusinov RIT Computer Engineering – CE Design 03/20/2008.
Lesson 15 – INSTALL AND SET UP NETWARE 5.1. Understanding NetWare 5.1 Preparing for installation Installing NetWare 5.1 Configuring NetWare 5.1 client.
1.1 Installing Windows Server 2008 Windows Server 2008 Editions Windows Server 2008 Installation Requirements X64 Installation Considerations Preparing.
29 April 2005 Part B Final Presentation Peripheral Devices For ML310 Board Project name : Spring Semester 2005 Final Presentation Presenting : Erez Cohen.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Introducing VMware vSphere 5.0
LECTURE 14 Operating Systems and Utility Programs
Session 3 Windows Platform Dina Alkhoudari. Learning Objectives Understanding Server Storage Technologies Direct Attached Storage DAS Network-Attached.
© 2010 VMware Inc. All rights reserved VMware ESX and ESXi Module 3.
What is OpenWrt  Free and open source  Easy and free access  Comminity driven ---- linux-kernel based OS for your home router from openwrt.org.
Linux-MVME Targets Using Motorola Board Support
DELTA TAU Data Systems, Inc. 1 UMAC TurboTurbo PMAC PCIGeo Drive Single Source Machine Control motion logic data Power PMAC as a Linux Computer January.
Va-scanCopyright 2002, Marchany Unit 3 – Installing Solaris Randy Marchany VA Tech Computing Center.
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Windows Server MIS 424 Professor Sandvig. Overview Role of servers Performance Requirements Server Hardware Software Windows Server IIS.
September 2008 IT Software Development Guide.
PIKA WARP the Appliance for Linux / Asterisk WEBINAR.
PIKA Technologies Inc. Analog Logger Application Sample December 2009.
University of Bergen public domain software: SEISLOG Linux, data-acquisition system for standard PC and embedded lowcost, low-power solutions Terje Utheim.
Chapter 4 Operating Systems and File Management. 4 Chapter 4: Operating Systems and File Management 2 Chapter Contents  Section A: Operating System Basics.
GeoVision Solutions Storage Management & Backup. ๏ RAID - Redundant Array of Independent (or Inexpensive) Disks ๏ Combines multiple disk drives into a.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Hands-On Microsoft Windows Server 2008
Configuration of Linux Terminal Server Group: LNS10A6 Thebe Laxmi, Sharma Prabhakar, Patrick Appiah.
PIKA Technologies’ fully customizable PBX Platform.
PIKA WARP the Appliance for Linux / Asterisk. Sep-15 Slide 2 Logistics Welcome! Questions – you may ask questions at any time using the Questions feature.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course provides an overview of the installation and.
Tutorial 11 Installing, Updating, and Configuring Software
Mark Recoskie November 14, Agenda  Quick review of value proposition  Review of Warp r1v2 hardware and software  What’s new in Warp 3.0 hardware?
Hands-On Virtual Computing
Embedded Linux porting Kernel
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
Module 13: Maintaining Software by Using Windows Server Update Services.
Linux Operations and Administration Chapter Fourteen Planning for a Linux Installation.
Chapter 2 – Software Part A. Definition Computer is made up of two components Hardware Physical components Software Instructions for the computer Two.
CHAPTER FOUR COMPUTER SOFTWARE.
Please Note: Information contained in this document is considered LENOVO CONFIDENTIAL For Lenovo Internal Use Only Do Not Copy or Distribute!! For Lenovo.
Introduction to Interactive Media Interactive Media Tools: Software.
Exploring Suitability of Linux for Embedded Vision Applications Ankit Mathur Mayank Agarwal Mini Project.
Module 1: Installing and Configuring Servers. Module Overview Installing Windows Server 2008 Managing Server Roles and Features Overview of the Server.
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
PIKA Technologies Inc. RPC Client/Server Application Sample October 2009.
© 2008 Cisco Systems, Inc. All rights reserved.CIPT1 v6.0—1-1 Getting Started with Cisco Unified Communications Manager Installing and Upgrading Cisco.
Microsoft Windows XP Professional MCSE Exam
Chapter 9: Networking with Unix and Linux. Objectives: Describe the origins and history of the UNIX operating system Identify similarities and differences.
CSC190 Introduction to Computing Operating Systems and Utility Programs.
PIKA Technologies Inc. FSK Bypass Application Sample October 2009.
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Page 1 of 38 Lenovo Confidential Lenovo Confidential Lenovo Confidential Lenovo Confidential Lenovo Confidential Please Note: Information contained in.
Implementation of Embedded OS
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 - OS Kernel 2014/10/21/ 16 1.
Planning Server Deployments Chapter 1. Server Deployment When planning a server deployment for a large enterprise network, the operating system edition.
WP1- Documentation Booting Petalinux from TFTP and using Network file system Section for developers Zynq 7020 R. Assiro.
Embedded Linux By Gus Wirth. What makes it embedded? ● Rather nebulous, line has blurred over the years ● Limited purpose ● Small resources compared to.
An Embedded Wireless Mini-Server with Database Support Presented by: Amit Kumar.
By Ganesan Alagu Ganesh Feb 26, 2008
Mobile Device Development
Andrea Chierici Virtualization tutorial Catania 1-3 dicember 2010
VMware ESX and ESXi Module 3.
By Ganesan Alagu Ganesh Feb 21, 2008
SUSE Linux Enterprise Desktop Administration
Emerging Platform#3 Android & Programming an App
Overview of System Development for Windows CE.NET
Presentation transcript:

PIKA Technologies Inc. PADS for the PIKA WARP Appliance March 2009

PIKA WARP Customization PIKA WARP is a customizable platform It can run stock Asterisk but it does not have to Why customize? Put my custom application on the appliance Make a modification to the stock Asterisk Ideal for applications like alert notification systems, IVRs and PBXs

What does the appliance offer to developers? Hardware – a full computer Embedded processor Solid state memory USB, NIC, Audio ports Up to 9 analog ports Software – many default packages Full Pika suite of voice processing like tone detection and generation, play/record, VoIP and conferencing Pre-loaded with operating system, drivers and tools Initial SSH access and Asterisk Database, web server, web language, common tools With the ability to add any software package

Pre-loaded Software Bootloader (uBoot 1.3) linux kernel (stripped down) Pika’s All-on-Host and Grandprix drivers Asterisk AsteriskGUI Busybox (binaries linux tools) SQlite3 database Httpd webserver PHP5 with support for SQLite, XML, PDO, etc. NTP, DHCP (client), TFTP (server and client), VLAN, DNS Dropbear (for ssh access)

What API will be available? To access telephony hardware outside of Asterisk … High level Grandprix API the same used on standard PCs!! Low level AoH API will also be available Many sample of this on the web Some additional APIs will be added to our SDK. For example, to control the audio in/out ports and the LCD (Note: In Asterisk, audio ports are referenced in the dialplan and the LCD is integrated in channel driver but can be changed)

/root /kernel Custom User Application Linux Kernel PIKA Kernel Modules Busybox /persistent /persistent1 /persistent2 /u-boot Your Application Grandprix Warploader HMP LCD library Configuration files Logs NTP Database Database server Dropbear Skeleton

/root /kernel Asterisk Application Linux Kernel PIKA Kernel Modules Busybox /persistent /persistent1 /persistent2 /u-boot Asterisk Application Grandprix Warploader HMP LCD library Configuration files Logs NTP Dropbear Skeleton Channel PIKA (glue)

Pika’s Development Kit Pika Application Development Suite (PADS) Software package – “framework” Full development kit The kit will provide a toolchain - compiler (for our processor), linker and debugger Installed on independent Linux machine (distribution independent) Host machine is used to bypass the resource limitation of the embedded device Attached through Ethernet Allows all software on the appliance to be built (kernel and user) Creates a PowerPC virtual environment Retrieved through svn Opens embedded development to Linux developers

PADS Package – this is where makefiles are included to describe where to get the code and how to compile it DL – this is where the source code is automatically downloaded Build_warp – this is where the resulting power pc binaries reside after being compiled. (after ‘make’) Images – this contains compressed binaries (after ‘make image’) Bin – this folder contains utilities such as a Flash Burning tool

PADS diagram

Steps to Building – the 3 ‘makes’ 1)make menuconfig 2)make 3) make image

Step #1 – select packages ‘make menuconfig’ allows you to select packages, tools and programs to include on the appliance through a package menu Examples include Asterisk, webserver, etc.

Step #2 – compiling ‘make’ cross-compiles all the selected packages The PADS framework defines where to retrieve the code and how to build the code The result is Power PC binaries that can be directly run on the appliance

Background - Memory Four memory types Small Flash (NOR) – 4 Mb Contains bootloader Quick boot-up Can not be written by developers Internal Flash (NAND) – 256 Mb Compressed (read-only) contains the kernel, tools and applications like asterisk and database At runtime this image is uncompressed and run from RAM Changes to this partition must be made through PADS (otherwise will be lost on reboot) Uncompressed (persistent read-write) Initial creation through PADS Contains configuration files, play prompts, etc. Memory that acts like a hard disk Changes to this partition are saved even after reboot SD card – up to 4 Gb Read-write Expands uncompressed persistent memory on the internal flash Good for heavy write tasks like voic s, logs and backups RAM – 256 Mb Run-time memory

Background – Memory (cont’d)

Step #3 – Creating and burning images ‘make image’ creates three image types: Core Kernel (filename -> cuImage.warp) Applications (filename -> uRamdisk) Persistent (filename -> image.jffs2) Persistent1 (filename-> image1.jffs2) Persistent2 (filename-> image2.jffs2) Once happy with the images created by PADS they can be burnt to the flash on the appliance – this commits it to memory An image file can be burnt to multiple appliances Images can be burnt to appliance through AsteriskGUI command line tool (Warploader) Copy the file locally to the appliance (scp,wget or tftp) and then … warploader –p kernel cuImage.warp warploader –p root uRamdisk warploader –p persistent image.jffs2 warploader –p persistent1 image1.jffs2 warploader –p persistent2 image2.jffs2 USB flash “hook”

Development approach Burn new images when necessary Run locally Drop files on the persistent file system Web pages Binary libraries created using the Pika development framework or from the web Good for when only making a small number of changes

Alternate approach – NFS Optional –useful for large development projects For development Quick, volatile Remotely mounted file system (in build_warp folder) Use NFS server to mirror appliance memory on development PC Changes made on remote machine but run by the processor on the appliance Run without flashing to reduce development time No code changes on the appliance Attached through Ethernet (initially setup by serial cable)

More Details on NFS

Adding packages If a package is not included in the list … Add a new folder in the ‘package’ directory In this directory add: Config.in – to make the new package appear in the package menu Yourapp.mk – a makefile to tell PADS how to get and build your package Some packages are available in pikawarp.orgpikawarp.org

Programming Considerations Lots of resources for an embedded device!! Be conscious of memory (256Mb total) Mallocs may fail Be careful where logs go, etc. Memory chips have life span Be conscious of processing (1200Mips total) Speed optimizations are important Big endian (not little endian) Careful when communicating with other machine C++ and threading is fine

Thank you for your time.