ARMYC Simulator
This is a very simple video of the ARMYC simulator, the simulator aims to be able to specify special ARM devices
In this case we are simulating three devices:
- An internal memory, written in objective C.
- An LCD device, written in python.
- A joystick driver, written in python.
The interface to the programs is through the memory, and we can add the configuration through a simple file:
[dataflash0] lib = at91sam9260 sym = dataflash model = objc base = 0 size = 2097152 [control1] lib = at91sam9260 sym = Control model = python base = 8587830276 port = /dev/input/js0 [lcd] lib = at91sam9260 sym = LcdMx model = python config = images.cfg base = 4294963716 |
#include <controller.h> #include <lcd.h> void main() { unsigned char *lcd = (unsigned char *)4294963716; unsigned char *control1 = (unsigned char *)8587830276; unsigned char *control2 = (unsigned char *)8587830272; int i; char id1; char id2; char move1; char move2; id1 = createObject(lcd, 1, 1, 1); id2 = createObject(lcd, 2, 1, 1); put_char('0' + id1); put_char('\n'); put_char('0' + id2); put_char('\n'); while(1) { move1 = readControl(control1); move2 = readControl(control2); put_char('0' + move1); put_char(' '); put_char('0' + move2); put_char('\n'); if(move1 != 8) move(lcd, id1, readControl(control1), 1); if(move2 != 8) move(lcd, id2, readControl(control2), 1); } } |
If you are interested in the project you can find info here