Welcome Phillip Johnston of Embedded Artistry!
Phillip was on episode 290 of Embedded.fmPhillip'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 capabilitiesGeneral guidelines and design methodologies for writing better firmwareSeparation of concerns: break things down smallerHow to hide informationLoosely 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 exampleRecorded data over the radioContinuous Integration (CI)/ Continuous Deployment (CD)Test Driven Development (TDD) is a well known software engineering concept that James Grenning teaches for embedded developmentStart sketching out on the computer firstWhat interfaces do I need to createInterface with sensors using a direct interface from the desktop like the AardvarkIsolating someone else's code into its own boxWriting it using x86 based GCC or CLangForces you to think about dependenciesLager data episode with Akbar (hardware in the loop testing)Setting up testsE&O insuranceWhat does a test suite look like?Phillip uses Jenkins for his build system, but there is also GitHub actions, circleCI, travisHardware in the loop testWhen should people start CI?Need to build from command lineAutomated systems allows you to leverage yourselfEmbedded Artistry has Courses that teach people how to build systems for their embedded systemsDesign for Change is an upcoming coursePutting the pipeline in placeStart by checking code on the serverHaving a shell on the deviceWhat does 'best' look like?Mixed metaphors in softwareDealing with multiple PCB buildsDwigtWhat happens when the complexity goes up (networking interface)?Testing in more difficult environmentsnRF5 SDK to ZephyrTreat an RTOS like any other dependencyZephyrLow power seems to be lackingLinks from Embedded Artistry that our listeners might find useful, not already linked above:
Embedded ArtistryWelcome - for people unfamiliar with us, this is a great place to startFor Beginners - mentioned in the podcastNewsletter - we send out a monthly industry update along with other embedded-related emailsCourse LibraryMembership InformationConsulting