O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

CI For Embedded Software - Lucas Jenss & Folker Bernitt

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 41 Anúncio

CI For Embedded Software - Lucas Jenss & Folker Bernitt

Baixar para ler offline

What are the approaches and challenges we encounter when applying continuous integration techniques to embedded software, where the behaviour is dictated by how the hardware, it’s (3rd party) firmware and its peripherals behave.

What are the approaches and challenges we encounter when applying continuous integration techniques to embedded software, where the behaviour is dictated by how the hardware, it’s (3rd party) firmware and its peripherals behave.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a CI For Embedded Software - Lucas Jenss & Folker Bernitt (20)

Anúncio

Mais de Thoughtworks (20)

Mais recentes (20)

Anúncio

CI For Embedded Software - Lucas Jenss & Folker Bernitt

  1. 1. CI FOR EMBEDDED SOFTWARE LUCAS JENSS FOLKER BERNITT
  2. 2. DAY ONEWhat do you mean „three months“?
  3. 3. ARM Cortex M4 CPU CAN Cellular Wifi Bluetooth LE
  4. 4. ARM Cortex M4 CPU STM32F429 Discovery Kit
  5. 5. DAY TWOWhat can we do right now?!
  6. 6. Platform abstraction Vendor supplied Cortex M4 Posix FreeRTOS Linux x86 Our software Code written by us Operating system Drivers CPU / Hardware architecture
  7. 7. UNIX BUILD PIPELINE Lint Compile Test Software Binary
  8. 8. SO FAR WE HAVE ● Basic toolchain ● Continuous Integration up and running ● Implement features!
  9. 9. EXTRAS ● Detect memory leaks ● Use a recent compiler (Clang, llvm, gcc) ● Clang sanitizers, e.g AddressSanitizer
  10. 10. UNIX BUILD PIPELINE Lint Compile Test Software Binary Cross Compile
  11. 11. DAY πDockerize all the things!
  12. 12. UNIX BUILD PIPELINE Lint Compile Test Software Binary build container
  13. 13. INTEGRATION TESTS Software Binary Cloud Service 1 Cloud Service 2 Cloud Service 3
  14. 14. DAY 42STM32F429 Discovery kits arrived!
  15. 15. Platform abstraction Vendor supplied Cortex M4 Posix FreeRTOS Linux x86 Our software Code written by us Operating system Drivers CPU / Hardware architecture
  16. 16. UNITY
  17. 17. STARDATE 1207.3Long after the arrival of the first prototype
  18. 18. PeakCAN J-Link Relay control UART Radio module Mini PC (Linux)
  19. 19. CI software FreeRTOS tests on Linux FreeRTOS tests on Linux Tests on PCB Tests in the Cloud™ Test setup (Hardware model 1) Test setup (Hardware model 2)
  20. 20. TESTSFour examples from our pipelines
  21. 21. YES WE CAN OPEN
  22. 22. Type Addr Command Payload ------------------------------------------- 600 3D 40 00 20 01 00 00 00 00 580 3D 60 00 20 01 00 00 00 00 600 3D 80 00 20 01 01 00 04 05 580 3D 60 00 20 01 00 00 00 00 Hello 0x3D, could you please transmit entry 0x2000 Index 0x01? Sure mate, I‘m 0x3D *wink wink*! Here‘s the data you requested! Oh no, you‘ve sent a malformed message 0x3D. ABORT ABORT! Sure mate, I‘m 0x3D *wink wink*! Here‘s the data you requested!
  23. 23. LONG ! TEST
  24. 24. Flashnew softwareandstart At48hours: Goto0 Verify Time
  25. 25. END TO END END TO END TO TO
  26. 26. 1. Please send update 2. There’s an update3. Retrieve the update 4. Install update 5. Is update installed?
  27. 27. Linux build ARM build Core tests PCB-specifc tests Integration tests Software update tests Long-running tests End-to-end tests Randomized tests Running on PCB Running in the Cloud
  28. 28. THANK YOU For questions, suggestions and feedback: Lucas Jenss – ljenss@thoughtworks.com Folker Bernitt – fbernitt@thoughtworks.com

×