Podcast: Play in new window | Download
Subscribe: Apple Podcasts | RSS
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