The HVM embedded Java VM af Stephan Korsholm, ViaUC

498 views

Published on

Oplægget blev holdt ved et seminar i InfinIT-interessegruppen højniveau sprog til indlejrede systemer den 2. februar 2011.
Læs mere om interessegruppen på http://www.infinit.dk/dk/interessegrupper/hoejniveau_sprog_til_indlejrede_systemer/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

The HVM embedded Java VM af Stephan Korsholm, ViaUC

  1. 1. The HVM embedded Java VM For very tiny devices
  2. 2. Overview• Hardware near programming: a case example• Hardware near programming: a case example in Java• Contributions of the HVM• Using Java to improve SW development processes for embedded devices
  3. 3. A case example• Target: CR16C – 16 bit platform from National – 8 Kb RAM + 768 Kb flash (ROM) – GCC available• Example – Blink LED slowly and comforting, WHILE – Write simple text to UART interface (serial)
  4. 4. A case example• Blinking LEDs, – Port 2, Pin 1 soldered to LED – From CR16c specification:
  5. 5. A case example• Writing to UART, – Put byte in transmit register – Enable UART transmit – Clear TX interrupt – Wait for next TX interrupt – From CR16c specification:
  6. 6. A case example in Java• Let’s look at the code………………..• Compiling for the CR16c• Compiling for other platforms (ATmega2560)
  7. 7. Contributions of the HVM• Hardware objects (Martin Schoeberl)• 1st level interrupt handling (Stephan Korsholm et. al.)• Intelligent class linking (as proguard treeshaker)• SDK independence• ROM/RAM aware• Extremely portable (gcc –nostdlib *.c)
  8. 8. Improving embedded SW • Intelligence & technical skills are the force pushing the boulder up • Destructive forces are changes…… – ..in environment – ..in tools – ..in the physical world – ..in HW – ..in SWThe wedge is made up of proper tools for ensuring software quality: • Test driven development, unit testing, regression testing • Code review, proper design, static analysis, modeling • Scrum, communication & team spirit
  9. 9. The birds eye view• We are in it for the money! – Increasing SW quality – Increasing speed of development – Increasing agility – Increasing predictability of project progress

×