SlideShare ist ein Scribd-Unternehmen logo
1 von 37
From Silicon
     to
          Software


     Aanjhan Ranganathan & Sudarshan S
So whats the agenda . . .
For the perspective . . .


●   Cray 1 Specs
    ●   64 Mb memory
    ●   ~1 million gates
    ●   80 Mhz clock, 115kW
    ●   700,000 $
Some modern art
Chips are pieces of artwork too




 Intel Pentium 4, 2000
                         Intel dual core , 2007
VLSI Design flow
Chip to System on Chip (SoC)
Embedded Systems
Embedded Development Boards
Importance of Embedded Software


●   Therac 25
       –   Overdose of radiations for therapy of cancer patients
●   Ariane 5 failure
       –   Launch failed, exploded just 40 secs after take off
A typical embedded system
            build . . .

                         Mapping soft, games?,
                           Dialer, Phonebook
Application Software


 System Software
                          RTOS, Task manager,
                         Device management etc
 Core        I/O
 Proc

           Peripherals
Memory
             Hardware     Target Board
Terminologies
●   Cross compilation
       –   Build , Target, Host
       –   Reasons for this?
●   Bootloader
●   Target architecture
●   Board Support Package
RTEMS
●   Real Time Executive for Multiprocessor
    Systems
●   Since late 1980's (under contract with US Army
    Missile Command.
●   Ported to few ESA and NASA space hardened
    procs in the late 1990s
RTEMS in Use
●   Space and Aviation
       –   ESA's Herschel and Planck, LISA Pathfinder,
           NASA ST5 satellite
●   Scientific – EPICS labs
●   Military and defense – Air defense systems,
    Flight data recorders
●   Industrial, Robotics, Medical and
    Communication fields
    http://www.rtems.com/wiki/index.php/RTEMSApplications
RTEMS features

➔   RTEMS is a full featured Real-Time Operating System
➔   Commercial grade
➔   All source code for OS, support components, tests, documentation,
    development environment, and project website is provided
➔   Truly free in price, liberty, and end user requirements
➔   High performance, deterministic behavior
➔   Standards compliant environment
➔   Highly portable across CPU architectures
➔   Many Board Support Packages available
➔   Prebuilt development toolsets for GNU/Linux and MS-Windows
Motivation for RTEMS developers

                         Open
          Incremental   Standards
                                    Pet Projects
         Improvements



     Scientific                                Space
    Community                                Community



          Student
                                    Commercial
          Projects
                        Research      Users
RTEMS - Architecture
Demo based on a GsoC project
●   MMU – Memory Management Unit
●   PowerPC simulator PSIM
●   Memory region protection (SUPERVISOR
    access only etc)
Cross Debugging

GUI Front end (DDD)



  Cross debugger
                        Target system
(powerpc-rtems-gdb)




Other debugging ways
JTAG, BDM
In the end, it all boils down to User
   space applications (or in other
    words the icing on the cake)
Different Hardwares with different
               capabilities

●   Make phone calls
●   Send Text messages
●   Receive emails
●   Know your current location
●   Listen to Music
     and much much more
'nuff said
We solve problems with
                abstractions
●   Symbian
●   Android
●   J2ME
●   Blackberry
●   Iphone SDK
Freesmartphone.org Framework
What is FSO?


●   freesmartphone.org is a collaboration platform
    for open source and open discussion software
    projects working on interoperability and
    shared technology for Linux-based
    SmartPhones
Inter Process Communication
●   Files
●   Anonymous pipes
●   CORBA (really really painful)
●   Java RMI (Language specific)
●   Shared Memory
..all of which has a potential to make
              you suicidal
DBus
●   IPC done right
●   Method: Which can be invoked
●   Signals: Broadcast messages which an
    observer can listen to
●   Bus: Session or System
Everybody loves Dilbert
Under the hood



Pidgin's Dbus service                          Our Evil Script
                        Request a proxy from
                        the bus
Under the hood



Pidgin's Dbus service                          Our Evil Script




        We now have a copy of the “remote” object with methods
        from im.pidgin.purple.PurpleService
FSO + Dbus + Python = 42



         ... almost
Neo Freerunner. Be in control
Enough Talk, show me the code!
       Talk              code
Thanks!




To all the cool FOSS developers. So long and
             thanks for all the fish

Weitere ähnliche Inhalte

Ähnlich wie From Silicon to Software - IIT Madras

Rapid prototyping with open source
Rapid prototyping with open sourceRapid prototyping with open source
Rapid prototyping with open sourceAlison Chaiken
 
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)Ron Munitz
 
Chap3 Device Technology
Chap3 Device TechnologyChap3 Device Technology
Chap3 Device TechnologyANUSUYA T K
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOTpauldeng
 
How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...IndicThreads
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Serviceskahunasystems
 
Unit 1 computer concepts
Unit 1   computer conceptsUnit 1   computer concepts
Unit 1 computer conceptsMithun DSouza
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
 
Machine Learning pada Perangkat Portabel - Nurendrantoro
Machine Learning pada Perangkat Portabel - NurendrantoroMachine Learning pada Perangkat Portabel - Nurendrantoro
Machine Learning pada Perangkat Portabel - NurendrantoroDicodingEvent
 
Robots in Human Environments
Robots in Human EnvironmentsRobots in Human Environments
Robots in Human EnvironmentsAndreas Heil
 
Add sale davinci
Add sale davinciAdd sale davinci
Add sale davinciAkash Sahoo
 
Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization mentoresd
 
Pristine glif 2015
Pristine glif 2015Pristine glif 2015
Pristine glif 2015ICT PRISTINE
 

Ähnlich wie From Silicon to Software - IIT Madras (20)

Rapid prototyping with open source
Rapid prototyping with open sourceRapid prototyping with open source
Rapid prototyping with open source
 
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)
 
SivaBorra
SivaBorraSivaBorra
SivaBorra
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
Chap3 Device Technology
Chap3 Device TechnologyChap3 Device Technology
Chap3 Device Technology
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOT
 
How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...How Android is different from other systems – An exploration of the design de...
How Android is different from other systems – An exploration of the design de...
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Services
 
Unit 1 computer concepts
Unit 1   computer conceptsUnit 1   computer concepts
Unit 1 computer concepts
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
ICIT2013-Keynote-Speech-In-Bali
ICIT2013-Keynote-Speech-In-BaliICIT2013-Keynote-Speech-In-Bali
ICIT2013-Keynote-Speech-In-Bali
 
Machine Learning pada Perangkat Portabel - Nurendrantoro
Machine Learning pada Perangkat Portabel - NurendrantoroMachine Learning pada Perangkat Portabel - Nurendrantoro
Machine Learning pada Perangkat Portabel - Nurendrantoro
 
Robots in Human Environments
Robots in Human EnvironmentsRobots in Human Environments
Robots in Human Environments
 
Add sale davinci
Add sale davinciAdd sale davinci
Add sale davinci
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
 
Introduction
IntroductionIntroduction
Introduction
 
KIRANKUMAR_MV
KIRANKUMAR_MVKIRANKUMAR_MV
KIRANKUMAR_MV
 
Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization
 
Intro to linux
Intro to linux Intro to linux
Intro to linux
 
Pristine glif 2015
Pristine glif 2015Pristine glif 2015
Pristine glif 2015
 

Kürzlich hochgeladen

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Kürzlich hochgeladen (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

From Silicon to Software - IIT Madras

  • 1. From Silicon to Software Aanjhan Ranganathan & Sudarshan S
  • 2. So whats the agenda . . .
  • 3. For the perspective . . . ● Cray 1 Specs ● 64 Mb memory ● ~1 million gates ● 80 Mhz clock, 115kW ● 700,000 $
  • 5. Chips are pieces of artwork too Intel Pentium 4, 2000 Intel dual core , 2007
  • 7. Chip to System on Chip (SoC)
  • 10. Importance of Embedded Software ● Therac 25 – Overdose of radiations for therapy of cancer patients ● Ariane 5 failure – Launch failed, exploded just 40 secs after take off
  • 11. A typical embedded system build . . . Mapping soft, games?, Dialer, Phonebook Application Software System Software RTOS, Task manager, Device management etc Core I/O Proc Peripherals Memory Hardware Target Board
  • 12. Terminologies ● Cross compilation – Build , Target, Host – Reasons for this? ● Bootloader ● Target architecture ● Board Support Package
  • 13. RTEMS ● Real Time Executive for Multiprocessor Systems ● Since late 1980's (under contract with US Army Missile Command. ● Ported to few ESA and NASA space hardened procs in the late 1990s
  • 14. RTEMS in Use ● Space and Aviation – ESA's Herschel and Planck, LISA Pathfinder, NASA ST5 satellite ● Scientific – EPICS labs ● Military and defense – Air defense systems, Flight data recorders ● Industrial, Robotics, Medical and Communication fields http://www.rtems.com/wiki/index.php/RTEMSApplications
  • 15. RTEMS features ➔ RTEMS is a full featured Real-Time Operating System ➔ Commercial grade ➔ All source code for OS, support components, tests, documentation, development environment, and project website is provided ➔ Truly free in price, liberty, and end user requirements ➔ High performance, deterministic behavior ➔ Standards compliant environment ➔ Highly portable across CPU architectures ➔ Many Board Support Packages available ➔ Prebuilt development toolsets for GNU/Linux and MS-Windows
  • 16. Motivation for RTEMS developers Open Incremental Standards Pet Projects Improvements Scientific Space Community Community Student Commercial Projects Research Users
  • 18. Demo based on a GsoC project ● MMU – Memory Management Unit ● PowerPC simulator PSIM ● Memory region protection (SUPERVISOR access only etc)
  • 19. Cross Debugging GUI Front end (DDD) Cross debugger Target system (powerpc-rtems-gdb) Other debugging ways JTAG, BDM
  • 20. In the end, it all boils down to User space applications (or in other words the icing on the cake)
  • 21. Different Hardwares with different capabilities ● Make phone calls ● Send Text messages ● Receive emails ● Know your current location ● Listen to Music and much much more
  • 23. We solve problems with abstractions ● Symbian ● Android ● J2ME ● Blackberry ● Iphone SDK
  • 25. What is FSO? ● freesmartphone.org is a collaboration platform for open source and open discussion software projects working on interoperability and shared technology for Linux-based SmartPhones
  • 26.
  • 27.
  • 28. Inter Process Communication ● Files ● Anonymous pipes ● CORBA (really really painful) ● Java RMI (Language specific) ● Shared Memory
  • 29. ..all of which has a potential to make you suicidal
  • 30. DBus ● IPC done right ● Method: Which can be invoked ● Signals: Broadcast messages which an observer can listen to ● Bus: Session or System
  • 32. Under the hood Pidgin's Dbus service Our Evil Script Request a proxy from the bus
  • 33. Under the hood Pidgin's Dbus service Our Evil Script We now have a copy of the “remote” object with methods from im.pidgin.purple.PurpleService
  • 34. FSO + Dbus + Python = 42 ... almost
  • 35. Neo Freerunner. Be in control
  • 36. Enough Talk, show me the code! Talk code
  • 37. Thanks! To all the cool FOSS developers. So long and thanks for all the fish