The GPL-GPS Project Open Source Software for Commercial Off-the-Shelf GPS Receivers Andrew Greenberg Portland State Aerospace Society Takuji Ebinuma Mitsubishi.

Slides:



Advertisements
Similar presentations
Real Time Versions of Linux Operating System Present by Tr n Duy Th nh Quách Phát Tài 1.
Advertisements

Using MapuSoft Instead of OS Vendor’s Simulators.
Last update: August 9, 2002 CodeTest Embedded Software Verification Tools By Advanced Microsystems Corporation.
Chapter 13 Embedded Systems
Virtual Machines Measure Up John Staton Karsten Steinhaeuser University of Notre Dame December 15, 2005 Graduate Operating Systems, Fall 2005 Final Project.
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Part A Presentation Network Sniffer.
Embedded Linux Sandeep Sirpatil Graduate Student University of North Carolina Charlotte Feb 7, 2005.
Performance Evaluation of Real-Time Operating Systems
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.
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.
1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.
Operating Systems Operating System
Fundamentals of Networking Discovery 1, Chapter 2 Operating Systems.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
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,
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
21.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 21: The Linux System Linux History Design Principles Kernel.
RTEMS overview W. Eric Norum Introduction RTEMS is a tool designed specifically for real-time embedded systems The RTEMS product is an executive.
Versus JEDEC STAPL Comparison Toolkit Frank Toth February 20, 2000.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Xenomai’s Porting on processor NIOS II Professor : P. Kadionik Authors : Bassi Vincent Louati Azza Mirault Raphael Polette Simon.
CS 444 Introduction to Operating Systems
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 Development Tools & Partners.
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
Multi-threaded projects Services and Drivers Alternate ways of doing Labs 1, 2, 3 and 4.
Chapter 9: Networking with Unix and Linux. Objectives: Describe the origins and history of the UNIX operating system Identify similarities and differences.
Are They Really Different?.  Check out these ads in which Apple and Microsoft are battling for the “coolness” factor: ◦ Apple Macintosh Apple Macintosh.
Hands-On Virtual Computing
Implementation of Embedded OS Lab3 Porting μC/OS-II.
Software Toolchains. Instructor: G. Rudolph, Summer Motivation Desktop Programmers typically write code on the same kind of machine on which it.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
ITP 109 Week 2 Trina Gregory Introduction to Java.
2: Operating Systems Networking for Home & Small Business.
CEG 2400 FALL 2012 Linux/UNIX Network Operating Systems.
Software Toolchains. Motivation 2 Write Run Edit, compile, link, run, debug same platform Desktop Write Run Edit, compile, link, debug on host; run on.
Ori Hanegby Pixtazy Blog:
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Course : PGClass : MCA Subject: Operating SystemSub.Code : 3CT11 Staff Name : S.SomasundaramYear & Sem : II nd & III rd.
The Linux Kernel Christoph Lameter, Ph.D. Technical Advisory Board The Linux Foundation.
1 January 14, Evaluating Open Source Software William Cohen NCSU CSC 591W January 14, 2008 Based on David Wheeler, “How to Evaluate Open Source.
What is CRKIT Framework ? Baseband Processor :  FPGA-based off-the-shelf board  Control up to 4 full-duplex wideband radios  FPGA-based System-on-Chip.
Linux Operating Systems Taking Control of the Terminal
INTRO. To I.T Razan N. AlShihabi
The Linux System.
Padmarao Begari April 2nd, 2017
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
cFS Platforms OSAL and PSP
Android Mobile Application Development
Introduction to the ARM mbed Platform– A Hands-on Course
Introduction to ChibiOS/RT A free embedded RTOS
Current Generation Hypervisor Type 1 Type 2.
Testing of Heterogeneous Multi-Core Embedded Systems
Selected topic in computer science (1)
Implementation of Embedded OS
Computer System Laboratory
Unit OS2: Operating System Principles
Introduction to Operating System (OS)
Popular Operating Systems
The Las Vegas Boulevard Tracker Interface
Software Defined Networking (SDN)
Chapter 4: Threads.
Chapter 2: The Linux System Part 1
Reverse engineering through full system simulations
Automated Analysis and Code Generation for Domain-Specific Models
Outline Operating System Organization Operating System Examples
® IRL Solutions File Number Here.
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

The GPL-GPS Project Open Source Software for Commercial Off-the-Shelf GPS Receivers Andrew Greenberg Portland State Aerospace Society Takuji Ebinuma Mitsubishi Electric Corporation, Kamakura Works

The GPL-GPS Project Overview Introduction to Open Source Motivations behind GPL-GPS Choosing a Chipset and Receiver Choosing a RTOS GPL-GPS: Take OSGP, add eCos, stir well. Status and Initial Results Future work

The GPL-GPS Project Introduction to Open Source and Open Source GNSS Projects

The GPL-GPS Project Open Source Software Not just software that comes with source code. Two versions of open source: 1. It’s yours, do whatever you want with it. (Berkeley License, or BSD) 1. It’s yours, do whatever you want with it privately. But distributions of the software, and modified versions of the software, must also be open source. (Free Software Foundation’s General Public License, or GPL)

The GPL-GPS Project Why Open Source? Allows authors to contribute their expertise, while giving them access to the sum of all other author’s expertise. Creates dynamic, surprisingly full featured software because users: Want the ability to modify the software, and Deeply care about their expertise and the code they generate. Extremely successful software development model Linux operating system Firefox web browser Eclipse software development tool

The GPL-GPS Project GPS DSP Relativity Orbital Mechanics Embedded Systems Microwave RF Control theory GPS: A different sort of constellation

The GPL-GPS Project OpenSource GPS Dr. Clifford Kelley's OpenSource GPS ION GPS 2002 Conference Paper: OpenSource GPS: Open Source Software for Learning about GPS by Clifford Kelley, Joel Barnes, Jingrong Cheng Free and open source software which controls a Zarlink GP2021 correlator mounted on an ISA or PCI card in a x86 PC.

The GPL-GPS Project Open Source GNSS Projects OpenSource GPS GPL-GPS University of Colorado RTLinux port GPSTk University of Texas at Austin Applied Research Laboratories OpenGPSRec OpenGPSSim Georg Beyerle (Germany) For Embedded Systems Others (also: Open Hardware)

The GPL-GPS Project GPL-GPS Basic Concept Take a inexpensive commercial, off-the-shelf (COTS) GPS receiver. Erase its original proprietary software. Using only free and open source software development tools, program the receiver with our own open source code.

The GPL-GPS Project Motivations behind GPL-GPS

The GPL-GPS Project Why Bother? COTS receivers generate pseudoranges and satellite navigation data COTS receivers have development kits What’s special about a a COTS receiver running open source software?

The GPL-GPS Project Motivation GPS chipset development kits are restrictive: Prohibitively expensive (> US $20,000) Non-disclosure agreements prevent sharing code Want access to correlators, not just pseudoranges for high dynamics, aiding, research, etc. Reduce barriers to entry: Extremely Low-cost: uses inexpensive COTS receivers and small carrier boards High participation: Linux, Windows and Mac OS development environments

The GPL-GPS Project Original Motivation: Sounding Rockets

The GPL-GPS Project Further Motivations Lower barrier to entry for: Nanosatellites UAVs Pseudolite receiver (dynamic PRN codes) Precision timing Novell applications… Creates an open reference system, and a platform for comparing receiver and navigation algorithms in the “real world”.

The GPL-GPS Project Choosing a Chipset and Receiver

The GPL-GPS Project Only one GPS chipset manufacturers has open documentation. Why? Especially on older chipsets? Zarlink (AKA Mitel AKA GEC Plessey) Semi. GP2021 (GPS correlator) GP4020 (ARM7TDMI and GPS correlator) Both 12 channel single frequency L1 C/A chipsets Choosing a Chipset

The GPL-GPS Project From: Zarlink GP4020 Baseband Processor Design Manual Zarlink GP4020-based Receiver

The GPL-GPS Project Only two COTS GP4020-based receivers: SigNav MG5001 and MG5003 DLR “Phoenix” receiver SSTL “SGR-05” receiver NovAtel SuperStar II Choosing a GP4020-based Receiver

The GPL-GPS Project < $50 including parts Open hardware: Schematics, board files, parts lists online. GPL-GPS Development Board

The GPL-GPS Project Choosing a RTOS

The GPL-GPS Project Real-time operating system (RTOS) Why even bother with an RTOS? Once ported, has great advantages: Multi-threaded abstraction greatly simplifies software Provides common routines and interfaces: Timers, peripheral drivers, threads, IPC, etc. Insulates the developer from the specific hardware Takes care of “housekeeping” tasks Makes embedded code development and debugging sane and manageable

The GPL-GPS Project RTOS Comparison (Top 7) HRT = Hard Real Time, Small = Less than 256KB, Free = No fee or licensing conflicts, OSS = Open Source Software, x86,PPC,ARM = works on all three targets, POSIX = POSIX compatibility layer, Effort = effort to port, based on ucLinux port = 1x effort

The GPL-GPS Project eCos: embedded Configurable OS Uses the open source GNU toolchain gcc, gdb, ld, make, objcopy, etc. Works under: Linux (native) Windows (via Cygwin project) Mac OS (requires tool chain compilation) Supports almost every 32bit processor, and many 16 bit Very light weight (~80 KB), very low interrupt latencies and task switch times.

The GPL-GPS Project eCos Infrastructure

The GPL-GPS Project GPL-GPS Development System Minimal Hardware SigNav MG5001 GPL-GPS Carrier Board Host PC (Linux, Windows or Mac OS X) Free and Open Source Software eCos RTOS GNU tool chain GPL-GPS Software

The GPL-GPS Project GPL-GPS Software

The GPL-GPS Project Generic GPS Receiver Tasks

The GPL-GPS Project GPL-GPS Tasks

The GPL-GPS Project Status and Initial Results

The GPL-GPS Project First Fix May 2 nd, 2005

The GPL-GPS Project GPL-GPS Current Status It works! But: Lacks atmospheric correction Lacks carrier phase Poor tracking loops (2 nd order PLL) Poor acquisition and search on loss-of-signal Almanac not stored in non-volatile memory eCos infrastructure needs more tuning

The GPL-GPS Project Processor Performance

The GPL-GPS Project Static Performance (2000 pts., 36.4m)

The GPL-GPS Project Static Performance: 3D

The GPL-GPS Project Static Performance: Time Series

The GPL-GPS Project Simulated High Dynamics Performance

The GPL-GPS Project High Dynamics Test Platform

The GPL-GPS Project HD Test Flight… slightly delayed

The GPL-GPS Project Future Work Infrastructure work Fix bugs. Probably lots of them Move interrupts & tracking to internal fast SRAM Implement GP4020 PPS hardware Network API for external PC interface Reimplement current OSGPS features Atmospheric correction Carrier phase Almanac load/save and processing (via Flash) Faster/better cold acquisition

The GPL-GPS Project Conclusion

The GPL-GPS Project Conclusion Created an open source software development system for commercial off-the-shelf GPS receivers GPL-GPS promises to dramatically lower the high barrier to entry for GPS development The GPL-GPS Project