16
Embedded Software Bug Fixing Dinu Capatina 10th of November 2012

Dinu Capatina - Embedded software bug fixing

Embed Size (px)

Citation preview

Page 1: Dinu Capatina - Embedded software bug fixing

Embedded Software Bug Fixing

Dinu Capatina

10th of November 2012

Page 2: Dinu Capatina - Embedded software bug fixing

Top causes of nasty embedded software bugs

Page 3: Dinu Capatina - Embedded software bug fixing

Race condition

Page 4: Dinu Capatina - Embedded software bug fixing

Symptoms : radio mode 0h0m0s

Page 5: Dinu Capatina - Embedded software bug fixing

First approach

Page 6: Dinu Capatina - Embedded software bug fixing

TRON

Page 7: Dinu Capatina - Embedded software bug fixing

I-TRON / µITRON

OS Kernel

Japanese open Standard for RTOSHard real-time

Priority basedEvent driven

Page 8: Dinu Capatina - Embedded software bug fixing

Ready queue

Page 9: Dinu Capatina - Embedded software bug fixing

Timer interrupt wlftime = TCK_DEN*slp

Page 10: Dinu Capatina - Embedded software bug fixing

Sleeping taskswlftime = 0x28431f70 ms

Page 11: Dinu Capatina - Embedded software bug fixing

Memory map

SYSMT

IRQSTKFFF000CF

TCK_NUM

TCK_DEN FFF000C0

Page 12: Dinu Capatina - Embedded software bug fixing

SP = FFF000C0

Page 13: Dinu Capatina - Embedded software bug fixing

System status

Page 14: Dinu Capatina - Embedded software bug fixing

Best practice : 0xDEADBEEF

Page 15: Dinu Capatina - Embedded software bug fixing

Questions ?

Page 16: Dinu Capatina - Embedded software bug fixing

Diamond Sponsors

Platinum Sponsors Gold Sponsors

Training Partners Media Partners Other Partners