SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
10 things that make software
integration easier
H/WExpo 2016
10 things that make software integration easier 1 Copyright © 2011-2016, 2net Ltd
About Chris Simmonds
• Consultant and trainer
• Author of Mastering Embedded Linux
Programming
• Working with embedded Linux since 1999
• Android since 2009
• Speaker at many conferences and
workshops
"Looking after the Inner Penguin" blog at http://2net.co.uk/
https://uk.linkedin.com/in/chrisdsimmonds/
https://google.com/+chrissimmonds
10 things that make software integration easier 2 Copyright © 2011-2016, 2net Ltd
The problem
• Q. How many hardware engineers does it take to
change a light bulb?
10 things that make software integration easier 3 Copyright © 2011-2016, 2net Ltd
The problem
• Q. How many hardware engineers does it take to
change a light bulb?
• A. None: we’ll fix it in software
10 things that make software integration easier 3 Copyright © 2011-2016, 2net Ltd
The problem
• Q. How many hardware engineers does it take to
change a light bulb?
• A. None: we’ll fix it in software
• Q. How many software engineers does it take to
change a light bulb?
10 things that make software integration easier 3 Copyright © 2011-2016, 2net Ltd
The problem
• Q. How many hardware engineers does it take to
change a light bulb?
• A. None: we’ll fix it in software
• Q. How many software engineers does it take to
change a light bulb?
• A. None: that’s a hardware problem
10 things that make software integration easier 3 Copyright © 2011-2016, 2net Ltd
Some ideas
• Here are my top 10 ideas that will make software
integration easier, faster and less stressful
• I work mostly with Linux and Android, so they are
biased in that direction...
10 things that make software integration easier 4 Copyright © 2011-2016, 2net Ltd
1: Choose chips with good software
support
• Lack of support for $OS is biggest bugbear
• Don’t rely on what the salesman says: demand to
see the code
• Check that it:
• is up to date
• works with the version of $OS you are using
• will be supported over the lifetime of your product
10 things that make software integration easier 5 Copyright © 2011-2016, 2net Ltd
Background on vendor kernels
• In the case of Linux, ask if the support is in mainline
• If not, why not?
Mainline
Vendor
4.N 4.N+44.N+24.N+1 4.N+3
4.N 4.N+4
10 things that make software integration easier 6 Copyright © 2011-2016, 2net Ltd
2: Stick to the vendor reference
design
• Keep it simple: minimal changes are good for us
10 things that make software integration easier 7 Copyright © 2011-2016, 2net Ltd
3: Fit a JTAG connector
• How else to debug the bootloader?
10 things that make software integration easier 8 Copyright © 2011-2016, 2net Ltd
4: Fit a serial console
• Once the $OS kernel has started, debug is usually
via a serial console
• It is really helpful to reserve a UART for this purpose
10 things that make software integration easier 9 Copyright © 2011-2016, 2net Ltd
5: Fit more RAM
• Double it!
• You would be surprised how much memory we can
use up
• It takes developement time to reduce the memory
footprint
10 things that make software integration easier 10 Copyright © 2011-2016, 2net Ltd
6: Fit more flash memory
• See 5
10 things that make software integration easier 11 Copyright © 2011-2016, 2net Ltd
7: Think about in-field update
• Double amount of flash for redundant copies of OS
• Or, fit removeable storage (USB, uSD) for local
upgrade
10 things that make software integration easier 12 Copyright © 2011-2016, 2net Ltd
8: Don’t use the main CPU to flash an
LED
• Use LED with flash mode: saves waking the main
CPU up every half cycle
• Likewise, maybe use a buzzer rather than employing
a full audio stack to sound an alert
10 things that make software integration easier 13 Copyright © 2011-2016, 2net Ltd
9: Hard real-time in microcontroller
• In the case of Linux, it can perform hard real-time
mission-critical tasks
• But, bear in mind that the hardware of a typical SoC
is not deterministic
• Probably better to offload to a PIC or Cortex-M
10 things that make software integration easier 14 Copyright © 2011-2016, 2net Ltd
10: Anti-brick mode
• Provide some way to recover when the bootloader is
broken
• e.g. image load via USB, serial, JTAG
10 things that make software integration easier 15 Copyright © 2011-2016, 2net Ltd
Bonus: Don’t multiplx those pins
• Try to avoid multiplexing ports (e.g. serial) so that one
port can perform several different roles
• It complicates drivers and applications
• There is always a case when you need both functions
at the same time
• Example: serial console and GSM modem
multiplexed to the same port, making it difficult to
debug the modem
10 things that make software integration easier 16 Copyright © 2011-2016, 2net Ltd
Bonus: Board ident
• Fit some means of identifying one version of a board
from another (e.g. GPIO pins with pull up/down
resistors)
• Means that one s/w image can be used on multiple
boards
• (make sure there are enough bits to cover the
anticipated number of variants)
10 things that make software integration easier 17 Copyright © 2011-2016, 2net Ltd
Utopia
Stopping Bootlog daemon: bo
Poky (Yocto Project Refer
sama5d4-xplained login: root
root@sama5d4-xplained:~#
root@sama5d4-xplained:~#
root@sama5d4-xplained:~#
• Hardware and software engineers should talk to each
other more
• It helps if software engineer are involved in the early
design
10 things that make software integration easier 18 Copyright © 2011-2016, 2net Ltd

Mais conteúdo relacionado

Mais procurados

Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practiceChris Simmonds
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Chris Simmonds
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)Chris Simmonds
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Chris Simmonds
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphoneChris Simmonds
 
Linux power management: are you doing it right?
Linux power management: are you doing it right?Linux power management: are you doing it right?
Linux power management: are you doing it right?Chris Simmonds
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Chris Simmonds
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDBChris Simmonds
 
Tuning Android for low RAM
Tuning Android for low RAMTuning Android for low RAM
Tuning Android for low RAMChris Simmonds
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiChris Simmonds
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded LinuxChris Simmonds
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Stefano Babic
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6Gary Bisson
 
Android Booting Sequence
Android Booting SequenceAndroid Booting Sequence
Android Booting SequenceJayanta Ghoshal
 
Android OTA updates
Android OTA updatesAndroid OTA updates
Android OTA updatesGary Bisson
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini
 
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Anne Nicolas
 
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, OracleXPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, OracleThe Linux Foundation
 

Mais procurados (20)

Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practice
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 
Linux power management: are you doing it right?
Linux power management: are you doing it right?Linux power management: are you doing it right?
Linux power management: are you doing it right?
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
 
Tuning Android for low RAM
Tuning Android for low RAMTuning Android for low RAM
Tuning Android for low RAM
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded Linux
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
 
Android Booting Scenarios
Android Booting ScenariosAndroid Booting Scenarios
Android Booting Scenarios
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6
 
Android Booting Sequence
Android Booting SequenceAndroid Booting Sequence
Android Booting Sequence
 
Android OTA updates
Android OTA updatesAndroid OTA updates
Android OTA updates
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
 
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
Kernel Recipes 2017 - Developing an embedded video application on dual Linux ...
 
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, OracleXPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
 

Destaque

OTT in Azerbaijan - Project Brief
OTT in Azerbaijan - Project BriefOTT in Azerbaijan - Project Brief
OTT in Azerbaijan - Project BriefFarhad Shahrivar
 
sasikumarj_resume
sasikumarj_resumesasikumarj_resume
sasikumarj_resumeSasi Kumar
 
Ensoft dvb 1
Ensoft dvb 1Ensoft dvb 1
Ensoft dvb 1sarge
 
Embedded linux barco-20121001
Embedded linux barco-20121001Embedded linux barco-20121001
Embedded linux barco-20121001Marc Leeman
 
The move from a hardware centric design to a software centric design: GStream...
The move from a hardware centric design to a software centric design: GStream...The move from a hardware centric design to a software centric design: GStream...
The move from a hardware centric design to a software centric design: GStream...Marc Leeman
 
Assistencia geologica
Assistencia geologicaAssistencia geologica
Assistencia geologicacrom68
 
Capria no_video_ship_detection_with_dvbt_software_defined_passive_radar
 Capria no_video_ship_detection_with_dvbt_software_defined_passive_radar Capria no_video_ship_detection_with_dvbt_software_defined_passive_radar
Capria no_video_ship_detection_with_dvbt_software_defined_passive_radargrssieee
 
Buildin a small linux kernel
Buildin a small linux kernelBuildin a small linux kernel
Buildin a small linux kerneltrx2001
 
Standard java coding convention
Standard java coding conventionStandard java coding convention
Standard java coding conventionTam Thanh
 
An Ultra-Low Power Asynchronous-Logic
An Ultra-Low Power Asynchronous-LogicAn Ultra-Low Power Asynchronous-Logic
An Ultra-Low Power Asynchronous-LogicHossam Hassan
 
Overview of DVB-T standard to deploy Digital Terrestrial Television
Overview of DVB-T standard to deploy Digital Terrestrial TelevisionOverview of DVB-T standard to deploy Digital Terrestrial Television
Overview of DVB-T standard to deploy Digital Terrestrial TelevisionFarhad Shahrivar
 
11 ak45b5 5
11 ak45b5 511 ak45b5 5
11 ak45b5 5crom68
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux BasicsMarc Leeman
 
The Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) ProjectThe Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) ProjectPartho Choudhury
 

Destaque (20)

Linux Workshop , Day 3
Linux Workshop , Day 3Linux Workshop , Day 3
Linux Workshop , Day 3
 
How To Handle An IRD Audit - Atainz
How To Handle An IRD Audit - AtainzHow To Handle An IRD Audit - Atainz
How To Handle An IRD Audit - Atainz
 
OTT in Azerbaijan - Project Brief
OTT in Azerbaijan - Project BriefOTT in Azerbaijan - Project Brief
OTT in Azerbaijan - Project Brief
 
sasikumarj_resume
sasikumarj_resumesasikumarj_resume
sasikumarj_resume
 
Ensoft dvb 1
Ensoft dvb 1Ensoft dvb 1
Ensoft dvb 1
 
Embedded linux barco-20121001
Embedded linux barco-20121001Embedded linux barco-20121001
Embedded linux barco-20121001
 
The move from a hardware centric design to a software centric design: GStream...
The move from a hardware centric design to a software centric design: GStream...The move from a hardware centric design to a software centric design: GStream...
The move from a hardware centric design to a software centric design: GStream...
 
Assistencia geologica
Assistencia geologicaAssistencia geologica
Assistencia geologica
 
DVB-T/H Solution
DVB-T/H  SolutionDVB-T/H  Solution
DVB-T/H Solution
 
Capria no_video_ship_detection_with_dvbt_software_defined_passive_radar
 Capria no_video_ship_detection_with_dvbt_software_defined_passive_radar Capria no_video_ship_detection_with_dvbt_software_defined_passive_radar
Capria no_video_ship_detection_with_dvbt_software_defined_passive_radar
 
Buildin a small linux kernel
Buildin a small linux kernelBuildin a small linux kernel
Buildin a small linux kernel
 
Standard java coding convention
Standard java coding conventionStandard java coding convention
Standard java coding convention
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
 
An Ultra-Low Power Asynchronous-Logic
An Ultra-Low Power Asynchronous-LogicAn Ultra-Low Power Asynchronous-Logic
An Ultra-Low Power Asynchronous-Logic
 
J2ME
J2MEJ2ME
J2ME
 
Overview of DVB-T standard to deploy Digital Terrestrial Television
Overview of DVB-T standard to deploy Digital Terrestrial TelevisionOverview of DVB-T standard to deploy Digital Terrestrial Television
Overview of DVB-T standard to deploy Digital Terrestrial Television
 
11 ak45b5 5
11 ak45b5 511 ak45b5 5
11 ak45b5 5
 
Introduction to Raspberry PI
Introduction to Raspberry PIIntroduction to Raspberry PI
Introduction to Raspberry PI
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
 
The Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) ProjectThe Digital Video Broadcast (DVB) Project
The Digital Video Broadcast (DVB) Project
 

Semelhante a 10 ways hardware engineers can make software integration easier

Tips for Installing Cognos Analytics 11.1.1
Tips for Installing Cognos Analytics 11.1.1Tips for Installing Cognos Analytics 11.1.1
Tips for Installing Cognos Analytics 11.1.1Senturus
 
Tips for Installing Cognos Analytics 11.1.1
 Tips for Installing Cognos Analytics 11.1.1 Tips for Installing Cognos Analytics 11.1.1
Tips for Installing Cognos Analytics 11.1.1Senturus
 
Windows 10 preview
Windows 10 previewWindows 10 preview
Windows 10 previewCsaba Toth
 
GoOpen 2010: David Elboth
GoOpen 2010: David ElbothGoOpen 2010: David Elboth
GoOpen 2010: David ElbothFriprogsenteret
 
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...Neil Armstrong
 
BP502 IBM Connect 2014
BP502 IBM Connect 2014BP502 IBM Connect 2014
BP502 IBM Connect 2014Peter Lurie
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesChris Simmonds
 
Erfahrung aus der Praxis & Roadmaps zu Domino, Verse und Sametime
Erfahrung aus der Praxis & Roadmaps zu Domino, Verse und SametimeErfahrung aus der Praxis & Roadmaps zu Domino, Verse und Sametime
Erfahrung aus der Praxis & Roadmaps zu Domino, Verse und SametimeBelsoft
 
TEE - kernel support is now upstream. What this means for open source security
TEE - kernel support is now upstream. What this means for open source securityTEE - kernel support is now upstream. What this means for open source security
TEE - kernel support is now upstream. What this means for open source securityLinaro
 
Windows 10 vs Windows 7
Windows 10 vs Windows 7Windows 10 vs Windows 7
Windows 10 vs Windows 7Jonathan Min
 
Tips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1xTips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1xSenturus
 
Software savings world cheap windows
Software savings world cheap windowsSoftware savings world cheap windows
Software savings world cheap windowssoftwaresavingsworld
 

Semelhante a 10 ways hardware engineers can make software integration easier (20)

Tips for Installing Cognos Analytics 11.1.1
Tips for Installing Cognos Analytics 11.1.1Tips for Installing Cognos Analytics 11.1.1
Tips for Installing Cognos Analytics 11.1.1
 
Tips for Installing Cognos Analytics 11.1.1
 Tips for Installing Cognos Analytics 11.1.1 Tips for Installing Cognos Analytics 11.1.1
Tips for Installing Cognos Analytics 11.1.1
 
Windows 10 preview
Windows 10 previewWindows 10 preview
Windows 10 preview
 
GoOpen 2010: David Elboth
GoOpen 2010: David ElbothGoOpen 2010: David Elboth
GoOpen 2010: David Elboth
 
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
ELC-E 2016 Neil Armstrong - No, it's never too late to upstream your legacy l...
 
Vroom!
Vroom!Vroom!
Vroom!
 
BP502 IBM Connect 2014
BP502 IBM Connect 2014BP502 IBM Connect 2014
BP502 IBM Connect 2014
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
 
Windows 7 secrets
Windows 7 secretsWindows 7 secrets
Windows 7 secrets
 
Erfahrung aus der Praxis & Roadmaps zu Domino, Verse und Sametime
Erfahrung aus der Praxis & Roadmaps zu Domino, Verse und SametimeErfahrung aus der Praxis & Roadmaps zu Domino, Verse und Sametime
Erfahrung aus der Praxis & Roadmaps zu Domino, Verse und Sametime
 
TEE - kernel support is now upstream. What this means for open source security
TEE - kernel support is now upstream. What this means for open source securityTEE - kernel support is now upstream. What this means for open source security
TEE - kernel support is now upstream. What this means for open source security
 
Windows 10 vs Windows 7
Windows 10 vs Windows 7Windows 10 vs Windows 7
Windows 10 vs Windows 7
 
Tips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1xTips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1x
 
Windows 7 secrets
Windows 7 secretsWindows 7 secrets
Windows 7 secrets
 
Software savings world downloads
Software savings world downloadsSoftware savings world downloads
Software savings world downloads
 
Software savings world windows 7
Software savings world windows 7Software savings world windows 7
Software savings world windows 7
 
Software savings world reality
Software savings world realitySoftware savings world reality
Software savings world reality
 
Software savings world cheap windows
Software savings world cheap windowsSoftware savings world cheap windows
Software savings world cheap windows
 
Software savings world valid keys
Software savings world valid keysSoftware savings world valid keys
Software savings world valid keys
 
Software savings world downloads
Software savings world downloadsSoftware savings world downloads
Software savings world downloads
 

Último

Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 

Último (20)

Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 

10 ways hardware engineers can make software integration easier

  • 1. 10 things that make software integration easier H/WExpo 2016 10 things that make software integration easier 1 Copyright © 2011-2016, 2net Ltd
  • 2. About Chris Simmonds • Consultant and trainer • Author of Mastering Embedded Linux Programming • Working with embedded Linux since 1999 • Android since 2009 • Speaker at many conferences and workshops "Looking after the Inner Penguin" blog at http://2net.co.uk/ https://uk.linkedin.com/in/chrisdsimmonds/ https://google.com/+chrissimmonds 10 things that make software integration easier 2 Copyright © 2011-2016, 2net Ltd
  • 3. The problem • Q. How many hardware engineers does it take to change a light bulb? 10 things that make software integration easier 3 Copyright © 2011-2016, 2net Ltd
  • 4. The problem • Q. How many hardware engineers does it take to change a light bulb? • A. None: we’ll fix it in software 10 things that make software integration easier 3 Copyright © 2011-2016, 2net Ltd
  • 5. The problem • Q. How many hardware engineers does it take to change a light bulb? • A. None: we’ll fix it in software • Q. How many software engineers does it take to change a light bulb? 10 things that make software integration easier 3 Copyright © 2011-2016, 2net Ltd
  • 6. The problem • Q. How many hardware engineers does it take to change a light bulb? • A. None: we’ll fix it in software • Q. How many software engineers does it take to change a light bulb? • A. None: that’s a hardware problem 10 things that make software integration easier 3 Copyright © 2011-2016, 2net Ltd
  • 7. Some ideas • Here are my top 10 ideas that will make software integration easier, faster and less stressful • I work mostly with Linux and Android, so they are biased in that direction... 10 things that make software integration easier 4 Copyright © 2011-2016, 2net Ltd
  • 8. 1: Choose chips with good software support • Lack of support for $OS is biggest bugbear • Don’t rely on what the salesman says: demand to see the code • Check that it: • is up to date • works with the version of $OS you are using • will be supported over the lifetime of your product 10 things that make software integration easier 5 Copyright © 2011-2016, 2net Ltd
  • 9. Background on vendor kernels • In the case of Linux, ask if the support is in mainline • If not, why not? Mainline Vendor 4.N 4.N+44.N+24.N+1 4.N+3 4.N 4.N+4 10 things that make software integration easier 6 Copyright © 2011-2016, 2net Ltd
  • 10. 2: Stick to the vendor reference design • Keep it simple: minimal changes are good for us 10 things that make software integration easier 7 Copyright © 2011-2016, 2net Ltd
  • 11. 3: Fit a JTAG connector • How else to debug the bootloader? 10 things that make software integration easier 8 Copyright © 2011-2016, 2net Ltd
  • 12. 4: Fit a serial console • Once the $OS kernel has started, debug is usually via a serial console • It is really helpful to reserve a UART for this purpose 10 things that make software integration easier 9 Copyright © 2011-2016, 2net Ltd
  • 13. 5: Fit more RAM • Double it! • You would be surprised how much memory we can use up • It takes developement time to reduce the memory footprint 10 things that make software integration easier 10 Copyright © 2011-2016, 2net Ltd
  • 14. 6: Fit more flash memory • See 5 10 things that make software integration easier 11 Copyright © 2011-2016, 2net Ltd
  • 15. 7: Think about in-field update • Double amount of flash for redundant copies of OS • Or, fit removeable storage (USB, uSD) for local upgrade 10 things that make software integration easier 12 Copyright © 2011-2016, 2net Ltd
  • 16. 8: Don’t use the main CPU to flash an LED • Use LED with flash mode: saves waking the main CPU up every half cycle • Likewise, maybe use a buzzer rather than employing a full audio stack to sound an alert 10 things that make software integration easier 13 Copyright © 2011-2016, 2net Ltd
  • 17. 9: Hard real-time in microcontroller • In the case of Linux, it can perform hard real-time mission-critical tasks • But, bear in mind that the hardware of a typical SoC is not deterministic • Probably better to offload to a PIC or Cortex-M 10 things that make software integration easier 14 Copyright © 2011-2016, 2net Ltd
  • 18. 10: Anti-brick mode • Provide some way to recover when the bootloader is broken • e.g. image load via USB, serial, JTAG 10 things that make software integration easier 15 Copyright © 2011-2016, 2net Ltd
  • 19. Bonus: Don’t multiplx those pins • Try to avoid multiplexing ports (e.g. serial) so that one port can perform several different roles • It complicates drivers and applications • There is always a case when you need both functions at the same time • Example: serial console and GSM modem multiplexed to the same port, making it difficult to debug the modem 10 things that make software integration easier 16 Copyright © 2011-2016, 2net Ltd
  • 20. Bonus: Board ident • Fit some means of identifying one version of a board from another (e.g. GPIO pins with pull up/down resistors) • Means that one s/w image can be used on multiple boards • (make sure there are enough bits to cover the anticipated number of variants) 10 things that make software integration easier 17 Copyright © 2011-2016, 2net Ltd
  • 21. Utopia Stopping Bootlog daemon: bo Poky (Yocto Project Refer sama5d4-xplained login: root root@sama5d4-xplained:~# root@sama5d4-xplained:~# root@sama5d4-xplained:~# • Hardware and software engineers should talk to each other more • It helps if software engineer are involved in the early design 10 things that make software integration easier 18 Copyright © 2011-2016, 2net Ltd