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/
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. 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. A case example
• Blinking LEDs,
– Port 2, Pin 1 soldered to LED
– From CR16c specification:
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. A case example in Java
• Let’s look at the code………………..
• Compiling for the CR16c
• Compiling for other platforms (ATmega2560)
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 SW
The 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. 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