The best practice for the debugging workflow. Emulator?
Posted: Wed Mar 25, 2015 3:22 pm
When developing a new firmware with your own functionality, the whole build/flash/test cycle is quite time consuming. Does anyone have good ideas on how to improve the success rate of the newly compiled firmware?
Just to sketch my environment: I'm trying to compile a piece of C code into the firmware that is a bridge between a MQTT bus and a PIC. The ESP8266 would convert the very simple bytecodes that come in via the serial port from the PIC towards MQTT messages over wifi. I'm doing this on Ubuntu.
Would it be an option to write unit tests and compile the code to run on linux first? Such that it can be debugged in Eclipse. Then after testing, as soon as you are convinced that it will work, you cross compile it and flash it to the ESP8266.
You could also create a whole ESP8266 emulator/simulator library that when built under linux behaves as a ESP8266 and where input and output pins could be modeled in software.
Does such a thing already exist or is anyone working on it?
For comparisson: For the development of the PIC firmware I use the simulator inside MPLAB-X. It saves me a lot of trial and error.
Just to sketch my environment: I'm trying to compile a piece of C code into the firmware that is a bridge between a MQTT bus and a PIC. The ESP8266 would convert the very simple bytecodes that come in via the serial port from the PIC towards MQTT messages over wifi. I'm doing this on Ubuntu.
Would it be an option to write unit tests and compile the code to run on linux first? Such that it can be debugged in Eclipse. Then after testing, as soon as you are convinced that it will work, you cross compile it and flash it to the ESP8266.
You could also create a whole ESP8266 emulator/simulator library that when built under linux behaves as a ESP8266 and where input and output pins could be modeled in software.
Does such a thing already exist or is anyone working on it?
For comparisson: For the development of the PIC firmware I use the simulator inside MPLAB-X. It saves me a lot of trial and error.