The Amp Hour Electronics Podcast

Chris Gammell and Dave Jones' voices span the chasm of thousands of miles each and every week to speak to each other and industry experts about where the field of electronics is moving. Whether it be a late breaking story about a large semiconductor manufacturer, a new piece of must-have test equipment or just talking through recent issues with their circuit designs, Chris and Dave try to make electronics more accessible for the listeners. Most importantly, they try and make the field of electronics more fun. Guests range from advanced hobbyists working on exciting new projects up through C-level executives at a variety of relevant and innovative companies. Tune in to learn more about electronics and then join the conversation! Visit The Amp Hour website for our back catalog of 150+ episodes.

https://theamphour.com

subscribe
share






#556 – Firmware for Hardware Engineers with Phillip Johnston


Welcome Phillip Johnston of Embedded Artistry!

  • Phillip was on episode 290 of Embedded.fm
  • Phillip’s firmware experience started at a military contractor. He also had a programming background from high school.
  • The minimum product is a bootloader and has remote firmware update capabilities
  • General guidelines and design methodologies for writing better firmware
    • Separation of concerns: break things down smaller
    • How to hide information
    • Loosely coupled to the hardware
  • “How can I make this smaller?”
  • “Can I test this without the hardware?”
  • Either James Grenning / Jacob Beningo talk about “There is no spoon” and hardware is just another dependency.
  • Flex paging system example
  • Recorded data over the radio
  • Continuous Integration (CI)/ Continuous Deployment (CD)
  • Test Driven Development (TDD) is a well known software engineering concept that James Grenning teaches for embedded development
    • Start sketching out on the computer first
    • What interfaces do I need to create
    • Interface with sensors using a direct interface from the desktop like the Aardvark
    • Isolating someone else’s code into its own box
  • Writing it using x86 based GCC or CLang
  • Forces you to think about dependencies
  • Lager data episode with Akbar (hardware in the loop testing)
  • Setting up tests
  • E&O insurance
  • What does a test suite look like?
  • Phillip uses Jenkins for his build system, but there is also GitHub actions, circleCI, travis
  • Hardware in the loop test
  • When should people start CI?
  • Need to build from command line
  • Automated systems allows you to leverage yourself
  • Embedded Artistry has Courses that teach people how to build systems for their embedded systems
  • Design for Change is an upcoming course
  • Putting the pipeline in place
  • Start by checking code on the server
  • Having a shell on the device
  • What does ‘best’ look like?
  • Mixed metaphors in software
  • Dealing with multiple PCB builds
  • Dwigt
  • What happens when the complexity goes up (networking interface)?
  • Testing in more difficult environments
  • nRF5 SDK to Zephyr
  • Treat an RTOS like any other dependency
  • Zephyr
  • Low power seems to be lacking

Links from Embedded Artistry that our listeners might find useful, not already linked above:

  • Embedded Artistry
    • Welcome – for people unfamiliar with us, this is a great place to start
    • For Beginners – mentioned in the podcast
    • Newsletter – we send out a monthly industry update along with other embedded-related emails
    • Course Library
    • Membership Information
  • Consulting


fyyd: Podcast Search Engine
share








 September 7, 2021  1h19m