diff --git a/Blinker-MSP-EXP430G2/.project b/Blinker-MSP-EXP430G2/.project
new file mode 100644
index 0000000..868c910
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/.project
@@ -0,0 +1,36 @@
+
+
+ Blinker-MSP-EXP430G2
+
+
+
+
+
+ com.emmoco.mcmtooling.core.mcmToolingBuilder
+
+
+
+
+ com.emmoco.mcmtooling.example.mcmToolingBuilder
+
+
+
+
+
+ com.emmoco.mcmtooling.example.mcmToolingExampleNature
+ com.emmoco.mcmtooling.core.mcmToolingNature
+
+
+
+ Hal
+ 2
+ EM_PLATFORM_LOC/Hal
+
+
+
+
+ EM_PLATFORM_LOC
+ $%7BWORKSPACE_LOC%7D/Platform-MSP-EXP430G2
+
+
+
diff --git a/Blinker-MSP-EXP430G2/Blinker-Prog.c b/Blinker-MSP-EXP430G2/Blinker-Prog.c
new file mode 100644
index 0000000..b887714
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Blinker-Prog.c
@@ -0,0 +1,86 @@
+#include "Blinker.h"
+#include "Hal.h"
+
+static void tickHandler(void);
+
+static Blinker_cmd_t cmdVal = Blinker_START_CMD;
+static Blinker_count_t countVal = 0;
+static Blinker_delay_t delayVal = 1.2 * Blinker_delay_scale;
+
+#define FOREVER -1
+
+static Blinker_count_t curCount = FOREVER;
+static Blinker_delay_t curTime = 0;
+
+void main() {
+ Hal_init();
+ Hal_tickStart(Blinker_delay_step, tickHandler);
+ Blinker_start();
+ Hal_idleLoop();
+}
+
+static void tickHandler(void) {
+
+ if (cmdVal == Blinker_STOP_CMD) {
+ return;
+ }
+
+ if (curTime < delayVal) {
+ curTime += Blinker_delay_step;
+ return;
+ }
+
+ if (curCount == FOREVER || curCount-- > 0) {
+ Hal_ledToggle();
+ }
+ else {
+ cmdVal = Blinker_STOP_CMD;
+ Hal_ledOff();
+ }
+ curTime = 0;
+ Blinker_ledState_indicate();
+}
+
+/* -------- SCHEMA CALLBACKS -------- */
+
+void Blinker_connectHandler(void) {
+ Hal_connected();
+}
+
+void Blinker_disconnectHandler(void) {
+ Hal_disconnected();
+}
+
+void Blinker_cmd_store(Blinker_cmd_t* input) {
+ cmdVal = *input;
+ switch (cmdVal) {
+ case Blinker_START_CMD:
+ curCount = countVal > 0 ? countVal * 2 : FOREVER;
+ curTime = 0;
+ break;
+ case Blinker_STOP_CMD:
+ Hal_ledOff();
+ break;
+ }
+}
+
+void Blinker_count_fetch(Blinker_count_t* output) {
+ *output = countVal;
+}
+
+void Blinker_count_store(Blinker_count_t* input) {
+ countVal = *input;
+}
+
+void Blinker_delay_fetch(Blinker_delay_t* output) {
+ *output = delayVal;
+}
+
+void Blinker_delay_store(Blinker_delay_t* input) {
+ delayVal = *input;
+}
+
+void Blinker_ledState_fetch(Blinker_ledState_t* output) {
+ *output = Hal_ledRead() ? Blinker_LED_ON : Blinker_LED_OFF;
+}
+
diff --git a/Blinker-MSP-EXP430G2/Blinker.ems b/Blinker-MSP-EXP430G2/Blinker.ems
new file mode 100644
index 0000000..0500366
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Blinker.ems
@@ -0,0 +1,38 @@
+version = "1.0.0";
+description = "Blinker, the hello world program for mobile control";
+
+schema Blinker {
+
+ /* -------- resource cmd -------- */
+
+ enum Cmd {
+ START_CMD, STOP_CMD
+ };
+
+ Cmd cmd {
+ writeonly
+ };
+
+ /* -------- resource count -------- */
+
+ int16 count {
+ readwrite
+ };
+
+ /* -------- resource delay -------- */
+
+ num <0.5, 2.0, 0.100> delay {
+ readwrite
+ };
+
+ /* -------- resource ledState -------- */
+
+ enum LedState {
+ LED_OFF, LED_ON
+ };
+
+ LedState ledState {
+ indicator
+ };
+
+};
diff --git a/Blinker-MSP-EXP430G2/Em/Blinker-STUBS.c b/Blinker-MSP-EXP430G2/Em/Blinker-STUBS.c
new file mode 100644
index 0000000..bc62f62
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Em/Blinker-STUBS.c
@@ -0,0 +1,42 @@
+/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-07-30T13:03:35T ****/
+/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
+
+#include "Blinker.h"
+
+#ifdef Blinker_STUBS_ /* enables optional inclusion of application stubs */
+
+/* Copy the function skeletons below into your own application source file */
+
+void Blinker_connectHandler(void) {
+ /* TODO: application is now connected */
+}
+
+void Blinker_disconnectHandler(void) {
+ /* TODO: application is now disconnected */
+}
+
+void Blinker_cmd_store(Blinker_cmd_t* input) {
+ /* TODO: write resource 'cmd' from 'input' */
+}
+
+void Blinker_count_fetch(Blinker_count_t* output) {
+ /* TODO: read resource 'count' into 'output' */
+}
+
+void Blinker_count_store(Blinker_count_t* input) {
+ /* TODO: write resource 'count' from 'input' */
+}
+
+void Blinker_delay_fetch(Blinker_delay_t* output) {
+ /* TODO: read resource 'delay' into 'output' */
+}
+
+void Blinker_delay_store(Blinker_delay_t* input) {
+ /* TODO: write resource 'delay' from 'input' */
+}
+
+void Blinker_ledState_fetch(Blinker_ledState_t* output) {
+ /* TODO: read resource 'ledState' into 'output' */
+}
+
+#endif /* application stubs */
diff --git a/Blinker-MSP-EXP430G2/Em/Blinker.c b/Blinker-MSP-EXP430G2/Em/Blinker.c
new file mode 100644
index 0000000..a000fdf
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Em/Blinker.c
@@ -0,0 +1,526 @@
+/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-07-30T13:03:35T ****/
+/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
+
+#include "Em_Message.h"
+#include "Blinker.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define Em_Message_protocolLevel 13
+
+typedef struct Em_App_Message {
+ uint8_t dummy[3];
+ uint8_t sot;
+ Em_Message_Header hdr;
+ uint8_t data[20];
+} Em_App_Message;
+
+const uint8_t Em_App_hash[] = {100, 133, 204, 118, 171, 105, 196, 176, 165, 61, 177, 160, 190, 191, 194, 241, 13, 0, ((sizeof(struct{uint8_t f1; uint16_t f2;}) - sizeof(uint16_t)) << 4) | (sizeof(struct{uint8_t f1; uint32_t f2;}) - sizeof(uint32_t))};
+
+const uint8_t Em_App_build[] = {71, 133, 240, 134, 71, 1, 0, 0};
+
+#define Em_App_APP_RESOURCE_COUNT 4
+#define Em_App_SYS_RESOURCE_COUNT 9
+
+#define Em_App_ACCEPT Blinker_accept
+#define Em_App_ACTIVATEPARAMETERS Blinker_activateParameters
+#define Em_App_BROADCASTOFF Blinker_broadcastOff
+#define Em_App_DISCONNECT Blinker_disconnect
+#define Em_App_PAIRINGON Blinker_pairingOn
+#define Em_App_PAIRINGOFF Blinker_pairingOff
+#define Em_App_RESET Blinker_reset
+#define Em_App_SETDEVICENAME Blinker_setDeviceName
+#define Em_App_START Blinker_start
+
+#define Em_App_CONNECTHANDLER Blinker_connectHandler
+#define Em_App_DISCONNECTHANDLER Blinker_disconnectHandler
+
+#define Em_App_MAX_INDICATOR 2
+
+/* BEGIN common code */
+
+enum {Em_App_IDLE, Em_App_STARTING, Em_App_DISCONNECTED, Em_App_CONNECTED};
+
+typedef struct Em_App_Indicator {
+ uint8_t dummy[3];
+ uint8_t sot;
+ Em_Message_Header hdr;
+ uint8_t data[Em_Message_INDSIZE];
+} Em_App_Indicator;
+
+union { uint32_t align; Em_App_Message msg; } Em_App_msg_u;
+union { uint32_t align; Em_App_Indicator ind; } Em_App_ind_u;
+#define Em_App_msg Em_App_msg_u.msg
+#define Em_App_ind Em_App_ind_u.ind
+
+void (*Em_App_pdHdlr)(void);
+
+const uint16_t Em_App_endian = 0x0100;
+
+Em_Message_Size Em_App_recvIdx;
+Em_Message_Size Em_App_recvSize;
+Em_Message_Size Em_App_xmitIdx;
+Em_Message_Size Em_App_xmitSize;
+
+uint8_t Em_App_state = Em_App_IDLE;
+int32_t Em_App_fileIndex = 0;
+uint32_t Em_App_xmitMask = 0;
+
+uint8_t* Em_App_valp;
+uint8_t* Em_App_bufp;
+const char* Em_App_desc;
+
+uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr;
+uint8_t* Em_App_outBuf = 0;
+
+uint8_t* _Em_Message_rxBuf = 0;
+uint8_t _Em_Message_rxCnt = 0;
+
+uint8_t* _Em_Message_txBuf = 0;
+uint8_t _Em_Message_txCnt = 0;
+
+#define Em_App_DEVNAME_LEN 9
+const char* Em_App_devName = 0;
+
+void Em_App_fetchDispatch(void);
+void Em_Message_marshallToBuf(uint8_t* valp, uint8_t* bufp, const char* desc);
+void Em_Message_marshallToVal(uint8_t* valp, uint8_t* bufp, const char* desc);
+void Em_App_storeDispatch(void);
+void Em_App_sendIndicator(Em_Message_ResId indId);
+void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size);
+void Em_App_startIndSend(void);
+void Em_App_startResSend(void);
+void Em_App_sysFetchDispatch(void);
+void Em_App_sysStoreDispatch(void);
+bool Em_App_xmitReady(Em_Message_ResId indId);
+
+void Em_Message_nextXmit(void) {
+ uint8_t key = Em_Hal_lock();
+ if (Em_App_xmitMask != 0) {
+ uint8_t i;
+ uint32_t m;
+ for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) {
+ if (Em_App_xmitMask & m) {
+ Em_App_xmitMask &= ~m;
+ if (i == 0) {
+ Em_App_startResSend();
+ }
+ else {
+ Em_App_sendIndicator(i - 1);
+ }
+ break;
+ }
+ }
+ }
+ Em_Hal_unlock(key);
+}
+
+void Em_Message_restart(void) {
+ Em_App_START();
+}
+
+void Em_App_ACCEPT(bool enable) {
+ if (Em_App_state == Em_App_CONNECTED) {
+ return;
+ }
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_ACCEPT;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = enable;
+ Em_App_startIndSend();
+}
+
+void Em_App_ACTIVATEPARAMETERS(uint8_t group) {
+ if (Em_App_state == Em_App_IDLE || Em_App_state == Em_App_STARTING) {
+ return;
+ }
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_ACTIVE_PARAMS;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = group;
+ Em_App_startIndSend();
+}
+
+void Em_App_BROADCASTOFF(void) {
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_INDICATOR;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = 0;
+ Em_App_startIndSend();
+}
+
+void Em_App_DISCONNECT(void) {
+ if (Em_App_state != Em_App_CONNECTED) {
+ return;
+ }
+ Em_App_state = Em_App_DISCONNECTED;
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_DISCONNECT;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = 0;
+ Em_App_startIndSend();
+}
+
+void Em_Message_dispatch(void) {
+ if (Em_App_state == Em_App_IDLE) {
+ return;
+ }
+ switch (Em_App_msg.hdr.kind) {
+ case Em_Message_CONNECT:
+ Em_App_state = Em_App_CONNECTED;
+ Em_App_CONNECTHANDLER();
+ break;
+ case Em_Message_DISCONNECT:
+ Em_App_state = Em_App_DISCONNECTED;
+ Em_App_DISCONNECTHANDLER();
+ break;
+ case Em_Message_PAIRING_DONE:
+ if (Em_App_pdHdlr) {
+ (*Em_App_pdHdlr)();
+ }
+ break;
+ case Em_Message_FETCH:
+ if (Em_App_msg.hdr.resId < 0x80) {
+ Em_App_fetchDispatch();
+ }
+ else {
+ Em_App_sysFetchDispatch();
+ }
+ break;
+ case Em_Message_STORE:
+ if (Em_App_msg.hdr.resId < 0x80) {
+ Em_App_storeDispatch();
+ }
+ else {
+ Em_App_sysStoreDispatch();
+ }
+ break;
+ }
+}
+
+void Em_App_marshallToBuf() {
+ char ch;
+ while ((ch = *Em_App_desc++)) {
+ switch (ch) {
+ case '0' : {
+ *Em_App_bufp++ = 0;
+ break;
+ }
+ case '1' : {
+ *Em_App_bufp++ = *Em_App_valp & 0xFF;
+ break;
+ }
+ case '2' : {
+ uint16_t v16 = *(uint16_t*)Em_App_valp;
+ *Em_App_bufp++ = v16 & 0xFF;
+ *Em_App_bufp++ = (v16 >> 8) & 0xFF;
+ break;
+ }
+ case '4' : {
+ if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++;
+ uint32_t v32 = *(uint32_t*)Em_App_valp++;
+ *Em_App_bufp++ = v32 & 0xFF;
+ *Em_App_bufp++ = (v32 >> 8) & 0xFF;
+ *Em_App_bufp++ = (v32 >> 16) & 0xFF;
+ *Em_App_bufp++ = (v32 >> 24) & 0xFF;
+ break;
+ }
+ }
+ Em_App_valp += 1;
+ }
+}
+
+void Em_App_marshallToVal() {
+ char ch;
+ while ((ch = *Em_App_desc++)) {
+ switch (ch) {
+ case '0' : {
+ *Em_App_valp = 0;
+ Em_App_bufp += 1;
+ break;
+ }
+ case '1' : {
+ *Em_App_valp = *Em_App_bufp++ & 0xFF;
+ break;
+ }
+ case '2' : {
+ uint16_t v16 = *Em_App_bufp++ & 0xFF;
+ v16 |= (*Em_App_bufp++ << 8);
+ *(uint16_t*)Em_App_valp = v16;
+ break;
+ }
+ case '4' : {
+ if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++;
+ uint32_t v32 = (uint32_t)*Em_App_bufp++ & 0xFF;
+ v32 |= ((uint32_t)*Em_App_bufp++ << 8);
+ v32 |= ((uint32_t)*Em_App_bufp++ << 16);
+ v32 |= ((uint32_t)*Em_App_bufp++ << 24);
+ *(uint32_t*)Em_App_valp++ = v32;
+ break;
+ }
+ }
+ Em_App_valp += 1;
+ }
+}
+
+void Em_App_PAIRINGOFF(void(*handler)(void)) {
+ Em_App_PAIRINGON(0, handler);
+}
+
+void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) {
+ if (Em_App_state != Em_App_DISCONNECTED) {
+ return;
+ }
+ Em_App_pdHdlr = handler;
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_PAIRING;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = secs;
+ Em_App_startIndSend();
+}
+
+void Em_App_RESET(void) {
+ Em_Hal_reset();
+ _Em_Message_rxBuf = _Em_Message_txBuf = 0;
+ _Em_Message_rxCnt = _Em_Message_txCnt = 0;
+ Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0;
+ Em_App_state = Em_App_IDLE;
+ Em_App_fileIndex = 0;
+ Em_App_xmitMask = 0;
+}
+
+void Em_App_SETDEVICENAME(const char* name) {
+ Em_App_devName = name;
+}
+
+void Em_App_START(void) {
+ Em_App_RESET();
+ Em_App_state = Em_App_STARTING;
+}
+
+void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) {
+ if (Em_App_state != Em_App_IDLE) {
+ Em_App_msg.sot = 0;
+ Em_App_msg.hdr.kind = kind;
+ Em_App_msg.hdr.size = size + sizeof (Em_Message_Header);
+ if (Em_App_xmitReady(0)) {
+ Em_App_startResSend();
+ }
+ }
+}
+
+void Em_App_startIndSend(void) {
+ Em_App_outBuf = (uint8_t*)&Em_App_ind.sot;
+ Em_App_xmitSize = Em_App_ind.hdr.size + 1;
+ Em_App_xmitIdx = 0;
+ Em_Hal_startSend();
+}
+
+void Em_App_startResSend(void) {
+ Em_App_outBuf = (uint8_t*)&Em_App_msg.sot;
+ Em_App_xmitSize = Em_App_msg.hdr.size + 1;
+ Em_App_xmitIdx = 0;
+ Em_Hal_startSend();
+}
+
+void Em_App_sysFetchDispatch(void) {
+ uint8_t size = 0;
+ int i, j;
+ switch (Em_App_msg.hdr.resId) {
+ case Em_Message_SYS_SCHEMA_HASH:
+ for (i = 0; i < sizeof (Em_App_hash); i++) {
+ Em_App_msg.data[i] = Em_App_hash[i];
+ }
+ Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian);
+ size = sizeof (Em_App_hash) + 1;
+ break;
+ case Em_Message_SYS_MCM_NAME:
+ if (Em_App_devName) {
+ for (i = 0; i < Em_App_DEVNAME_LEN; i++) {
+ if ((Em_App_msg.data[i] = Em_App_devName[i]) == 0) {
+ break;
+ }
+ }
+ for (j = i; j < Em_App_DEVNAME_LEN; j++) {
+ Em_App_msg.data[j] = 0;
+ }
+ size = Em_App_DEVNAME_LEN;
+ }
+ break;
+ case Em_Message_SYS_EAP_PROTOCOL_LEVEL:
+ *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel;
+ size = sizeof (Em_Message_protocolLevel_t);
+ break;
+ case Em_Message_SYS_EAP_BUILD_DATE:
+ for (i = 0; i < sizeof (Em_App_build); i++) {
+ Em_App_msg.data[i] = Em_App_build[i];
+ }
+ size = sizeof (Em_App_build);
+ break;
+ case Em_Message_SYS_RESOURCE_COUNT:
+ Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT;
+ Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT;
+ size = 2;
+ break;
+ }
+ Em_App_sendResponse(Em_Message_FETCH_DONE, size);
+}
+
+void Em_App_sysStoreDispatch(void) {
+ switch (Em_App_msg.hdr.resId) {
+ case Em_Message_SYS_FILE_INDEX_RESET:
+ Em_App_fileIndex = 0;
+ break;
+ }
+ Em_App_sendResponse(Em_Message_STORE_DONE, 0);
+}
+
+bool Em_App_xmitReady(Em_Message_ResId indId) {
+ uint8_t key = Em_Hal_lock();
+ bool res = _Em_Message_txBuf == 0 && Em_App_xmitMask == 0;
+ if (!res) {
+ Em_App_xmitMask |= (1 << indId);
+ }
+ Em_Hal_unlock(key);
+ return res;
+}
+
+/* END common code */
+
+void Em_App_fetchDispatch(void) {
+ uint8_t size = 0;
+ switch (Em_App_msg.hdr.resId) {
+ case 0: {
+ break;
+ }
+ case 2: {
+#ifdef Em_16BIT
+ Blinker_count_t val;
+ Em_App_valp = (uint8_t*)&val;
+ Em_App_bufp = Em_App_msg.data;
+ Em_App_desc = "2";
+ Blinker_count_fetch(&val);
+ Em_App_marshallToBuf();
+#else
+ Blinker_count_fetch((void*)Em_App_msg.data);
+#endif
+ size = 2;
+ break;
+ }
+ case 3: {
+#ifdef Em_16BIT
+ Blinker_delay_t val;
+ Em_App_valp = (uint8_t*)&val;
+ Em_App_bufp = Em_App_msg.data;
+ Em_App_desc = "2";
+ Blinker_delay_fetch(&val);
+ Em_App_marshallToBuf();
+#else
+ Blinker_delay_fetch((void*)Em_App_msg.data);
+#endif
+ size = 2;
+ break;
+ }
+ case 4: {
+#ifdef Em_16BIT
+ Blinker_ledState_t val;
+ Em_App_valp = (uint8_t*)&val;
+ Em_App_bufp = Em_App_msg.data;
+ Em_App_desc = "1";
+ Blinker_ledState_fetch(&val);
+ Em_App_marshallToBuf();
+#else
+ Blinker_ledState_fetch((void*)Em_App_msg.data);
+#endif
+ size = 1;
+ break;
+ }
+ }
+ Em_App_sendResponse(Em_Message_FETCH_DONE, size);
+}
+
+void Em_App_storeDispatch(void) {
+ switch (Em_App_msg.hdr.resId) {
+ case 0: {
+ break;
+ }
+ case 1: {
+#ifdef Em_16BIT
+ Blinker_cmd_t val;
+ Em_App_valp = (uint8_t*)&val;
+ Em_App_bufp = Em_App_msg.data;
+ Em_App_desc = "1";
+ Em_App_marshallToVal();
+ Blinker_cmd_store(&val);
+#else
+ Blinker_cmd_store((void*)Em_App_msg.data);
+#endif
+ break;
+ }
+ case 2: {
+#ifdef Em_16BIT
+ Blinker_count_t val;
+ Em_App_valp = (uint8_t*)&val;
+ Em_App_bufp = Em_App_msg.data;
+ Em_App_desc = "2";
+ Em_App_marshallToVal();
+ Blinker_count_store(&val);
+#else
+ Blinker_count_store((void*)Em_App_msg.data);
+#endif
+ break;
+ }
+ case 3: {
+#ifdef Em_16BIT
+ Blinker_delay_t val;
+ Em_App_valp = (uint8_t*)&val;
+ Em_App_bufp = Em_App_msg.data;
+ Em_App_desc = "2";
+ Em_App_marshallToVal();
+ Blinker_delay_store(&val);
+#else
+ Blinker_delay_store((void*)Em_App_msg.data);
+#endif
+ break;
+ }
+ }
+ Em_App_sendResponse(Em_Message_STORE_DONE, 0);
+}
+
+void Em_App_sendIndicator(Em_Message_ResId indId) {
+ Em_Message_Size resId = 0;
+ Em_Message_Size size = 0;
+ switch (indId) {
+ case 1: {
+#ifdef Em_16BIT
+ Blinker_ledState_t val;
+ Em_App_valp = (uint8_t*)&val;
+ Em_App_bufp = Em_App_ind.data;
+ Em_App_desc = "1";
+ Blinker_ledState_fetch(&val);
+ Em_App_marshallToBuf();
+#else
+ Blinker_ledState_fetch((Blinker_ledState_t*)&Em_App_ind.data);
+#endif
+ resId = 4;
+ size = 1;
+ break;
+ }
+ }
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_INDICATOR;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header) + size;
+ Em_App_ind.hdr.resId = resId;
+ Em_App_startIndSend();
+}
+
+void Blinker_ledState_indicate(void) {
+ if (Em_App_state == Em_App_CONNECTED && Em_App_xmitReady(1 + 1)) Em_App_sendIndicator(1);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/Blinker-MSP-EXP430G2/Em/Blinker.h b/Blinker-MSP-EXP430G2/Em/Blinker.h
new file mode 100644
index 0000000..b08eb34
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Em/Blinker.h
@@ -0,0 +1,72 @@
+/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.Blinker on 2014-07-30T13:03:35T ****/
+/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
+
+#ifndef Blinker__H
+#define Blinker__H
+
+#include "Em_Types.h"
+#include "Em_Message.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -------- connection callback functions implemented by the application -------- */
+
+void Blinker_connectHandler(void);
+void Blinker_disconnectHandler(void);
+
+/* -------- resource types defined in the schema -------- */
+
+/* enum Cmd */
+typedef uint8_t Blinker_Cmd;
+#define Blinker_START_CMD 0
+#define Blinker_STOP_CMD 1
+
+/* enum LedState */
+typedef uint8_t Blinker_LedState;
+#define Blinker_LED_OFF 0
+#define Blinker_LED_ON 1
+
+/* -------- resource callback functions implemented by the application -------- */
+
+/* resource cmd */
+typedef Blinker_Cmd Blinker_cmd_t;
+extern void Blinker_cmd_store(Blinker_cmd_t* input);
+
+/* resource count */
+typedef int16_t Blinker_count_t;
+extern void Blinker_count_fetch(Blinker_count_t* output);
+extern void Blinker_count_store(Blinker_count_t* input);
+
+/* resource delay */
+typedef uint16_t Blinker_delay_t;
+#define Blinker_delay_min 500
+#define Blinker_delay_max 2000
+#define Blinker_delay_step 100
+#define Blinker_delay_scale 1000
+extern void Blinker_delay_fetch(Blinker_delay_t* output);
+extern void Blinker_delay_store(Blinker_delay_t* input);
+
+/* resource ledState */
+typedef Blinker_LedState Blinker_ledState_t;
+extern void Blinker_ledState_fetch(Blinker_ledState_t* output);
+extern void Blinker_ledState_indicate(void); /* called by the application */
+
+/* -------- application functions implemented in Blinker.c -------- */
+
+void Blinker_accept(bool enable);
+void Blinker_activateParameters(uint8_t group);
+void Blinker_broadcastOff(void);
+void Blinker_disconnect(void);
+void Blinker_pairingOn(uint8_t secs, void(*handler)(void));
+void Blinker_pairingOff(void(*handler)(void));
+void Blinker_reset(void);
+void Blinker_setDeviceName(const char* name);
+void Blinker_start(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* Blinker__H */
diff --git a/Blinker-MSP-EXP430G2/Em/Em_Message.h b/Blinker-MSP-EXP430G2/Em/Em_Message.h
new file mode 100644
index 0000000..3bd0d58
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Em/Em_Message.h
@@ -0,0 +1,182 @@
+#ifndef Em_Message_H_
+#define Em_Message_H_
+
+#include "Em_Types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -------- SRT FUNCTIONS CALLED BY HAL -------- */
+
+static inline bool Em_Message_addByte(uint8_t b);
+extern void Em_Message_dispatch(void);
+static inline bool Em_Message_getByte(uint8_t* bp);
+extern void Em_Message_restart(void);
+static inline bool Em_Message_startRx(void);
+static inline uint8_t Em_Message_startTx(void);
+
+
+/* -------- HAL FUNCTIONS CALLED BY SRT -------- */
+
+extern uint8_t Em_Hal_lock(void);
+extern void Em_Hal_reset(void);
+extern void Em_Hal_startSend(void);
+extern void Em_Hal_unlock(uint8_t key);
+extern void Em_Hal_watchOff(void);
+extern void Em_Hal_watchOn(void);
+
+
+/* -------- MESSAGE FORMAT -------- */
+
+/* protocolLevel #4 */
+#define Em_Message_INDSIZE 4
+
+typedef uint8_t Em_Message_Size;
+typedef uint8_t Em_Message_Kind;
+/* protocolLevel #12 -- split 16-bit resId into */
+typedef uint8_t Em_Message_ResId;
+typedef uint8_t Em_Message_Chan;
+
+#define Em_Message_NOP 0
+#define Em_Message_FETCH 1
+#define Em_Message_FETCH_DONE 2
+#define Em_Message_STORE 3
+#define Em_Message_STORE_DONE 4
+#define Em_Message_INDICATOR 5
+#define Em_Message_CONNECT 6
+#define Em_Message_DISCONNECT 7
+#define Em_Message_ECHO 8
+/* protocolLevel #3 */
+/* protocolLevel #6 -- rename from BROADCAST to PAIRING */
+#define Em_Message_PAIRING 9
+#define Em_Message_PAIRING_DONE 10
+/* protocolLevel #7 */
+#define Em_Message_OFFLINE 11
+/* protocolLevel #8 */
+#define Em_Message_ACCEPT 12
+/* protocolLevel #13 */
+#define Em_Message_START 13
+#define Em_Message_ACTIVE_PARAMS 14
+
+typedef struct Em_Message_Header {
+ Em_Message_Size size;
+ Em_Message_Kind kind;
+ Em_Message_ResId resId;
+ Em_Message_Chan chan;
+} Em_Message_Header;
+
+typedef uint16_t Em_Message_protocolLevel_t;
+
+/* protocolLevel #1 */
+
+/* protocolLevel #10 */
+/* #define Em_Message_SYS_SCHEMA_UUID 0xFF */
+
+#define Em_Message_SYS_MCM_PROTOCOL_LEVEL 0xFE
+#define Em_Message_SYS_EAP_PROTOCOL_LEVEL 0xFD
+#define Em_Message_SYS_EAP_BUILD_DATE 0xFC
+
+/* protocolLevel #2 */
+#define Em_Message_SYS_FILE_INDEX_RESET 0xFB
+
+/* protocolLevel #5 */
+#define Em_Message_SYS_SCHEMA_HASH 0xFA
+
+/* protocolLevel #7 */
+#define Em_Message_SYS_RESOURCE_COUNT 0xF9
+
+/* protocolLevel #9 */
+#define Em_Message_SYS_MOBILE_RSSI 0xF8
+
+/* protocolLevel #11 */
+#define Em_Message_SYS_MCM_DISCONNECT 0xF7
+
+/* protocolLevel #13a */
+#define Em_Message_SYS_MCM_NAME 0xF5
+
+
+/* -------- PRIVATE -------- */
+
+extern void Em_Message_nextXmit(void);
+
+extern uint8_t* Em_App_inBuf;
+extern uint8_t* Em_App_outBuf;
+extern Em_Message_Size Em_App_xmitSize;
+
+extern uint8_t* _Em_Message_rxBuf;
+extern uint8_t _Em_Message_rxCnt;
+
+extern uint8_t* _Em_Message_txBuf;
+extern uint8_t _Em_Message_txCnt;
+
+static inline bool Em_Message_addByte(uint8_t b) {
+ if (_Em_Message_rxCnt == 0) {
+ if (b == 0) {
+ return false;
+ }
+ _Em_Message_rxCnt = b;
+ }
+ *_Em_Message_rxBuf++ = b;
+ if (--_Em_Message_rxCnt == 0) {
+ _Em_Message_rxBuf = 0;
+ if (_Em_Message_txBuf == 0) {
+ Em_Hal_watchOff();
+ }
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+static inline bool Em_Message_getByte(uint8_t* bp) {
+ if (_Em_Message_txBuf == 0) {
+ return false;
+ }
+ if (_Em_Message_txCnt == 0) {
+ _Em_Message_txCnt = *_Em_Message_txBuf + 1;
+ }
+ if (--_Em_Message_txCnt > 0) {
+ *bp = *_Em_Message_txBuf++;
+ return true;
+ }
+ else {
+ _Em_Message_txBuf = 0;
+ Em_App_xmitSize = 0;
+ Em_Message_nextXmit();
+ if (_Em_Message_rxBuf == 0) {
+ Em_Hal_watchOff();
+ }
+ return false;
+ }
+}
+
+static inline bool Em_Message_startRx(void) {
+ if (_Em_Message_rxBuf == 0) {
+ _Em_Message_rxBuf = Em_App_inBuf;
+ if (_Em_Message_txBuf == 0) {
+ Em_Hal_watchOn();
+ }
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+static inline uint8_t Em_Message_startTx(void) {
+ _Em_Message_txBuf = Em_App_outBuf + 1;
+ _Em_Message_txCnt = 0;
+ if (_Em_Message_rxBuf == 0) {
+ Em_Hal_watchOn();
+ }
+ return 0;
+}
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*Em_Message_H_*/
diff --git a/Blinker-MSP-EXP430G2/Em/Em_Types.h b/Blinker-MSP-EXP430G2/Em/Em_Types.h
new file mode 100644
index 0000000..d002306
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Em/Em_Types.h
@@ -0,0 +1,17 @@
+#ifndef Em_Types_H_
+#define Em_Types_H_
+
+#ifndef Em_NOSTDBOOL
+#include
+#endif
+
+#ifndef Em_NOSTDINT
+#include
+#endif
+
+#ifdef Em_16BIT
+typedef signed char int8_t;
+typedef unsigned char uint8_t;
+#endif
+
+#endif /*Em_Types_H_*/
diff --git a/Blinker-MSP-EXP430G2/Em/blinker.json b/Blinker-MSP-EXP430G2/Em/blinker.json
new file mode 100644
index 0000000..53c85ed
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Em/blinker.json
@@ -0,0 +1,259 @@
+{
+ "resources": {
+ "$eapProtocolLevel": {
+ "id": -3,
+ "align": 2,
+ "attributes": {"readonly": true},
+ "type": "u2",
+ "access": "r",
+ "size": 2
+ },
+ "count": {
+ "id": 2,
+ "align": 2,
+ "attributes": {"readwrite": true},
+ "type": "i2",
+ "access": "rw",
+ "size": 2
+ },
+ "$activeGroup": {
+ "id": -10,
+ "align": 1,
+ "pack": 1,
+ "attributes": {"readwrite": true},
+ "type": "E:system@emmoco.com.System/ParameterGroup",
+ "access": "rw",
+ "size": 1
+ },
+ "$mcmDisconnect": {
+ "id": -9,
+ "align": 1,
+ "attributes": {"writeonly": true},
+ "type": "u1",
+ "access": "w",
+ "size": 1
+ },
+ "$eapBuildDate": {
+ "dim": 8,
+ "id": -4,
+ "align": 1,
+ "attributes": {"readonly": true},
+ "type": "A8:u1",
+ "access": "r",
+ "size": 8
+ },
+ "ledState": {
+ "id": 4,
+ "align": 1,
+ "pack": 1,
+ "attributes": {"indicator": true},
+ "type": "E:@emmoco.com.Blinker/LedState",
+ "access": "ir",
+ "size": 1
+ },
+ "$resourceCount": {
+ "id": -7,
+ "align": 1,
+ "attributes": {"readonly": true},
+ "type": "S:system@emmoco.com.System/ResourceCount",
+ "access": "r",
+ "size": 2
+ },
+ "$schemaHash": {
+ "dim": 20,
+ "id": -6,
+ "align": 1,
+ "attributes": {"readonly": true},
+ "type": "A20:u1",
+ "access": "r",
+ "size": 20
+ },
+ "cmd": {
+ "id": 1,
+ "align": 1,
+ "pack": 1,
+ "attributes": {"writeonly": true},
+ "type": "E:@emmoco.com.Blinker/Cmd",
+ "access": "w",
+ "size": 1
+ },
+ "$mcmProtocolLevel": {
+ "id": -2,
+ "align": 2,
+ "attributes": {"readonly": true},
+ "type": "u2",
+ "access": "r",
+ "size": 2
+ },
+ "$mobileRssi": {
+ "id": -8,
+ "align": 1,
+ "attributes": {"readonly": true},
+ "type": "i1",
+ "access": "r",
+ "size": 1
+ },
+ "delay": {
+ "id": 3,
+ "align": 2,
+ "pack": 4,
+ "attributes": {"readwrite": true},
+ "type": "N:0.500000,2.000000,0.100000,3/u2/15",
+ "access": "rw",
+ "size": 2
+ },
+ "$fileIndexReset": {
+ "id": -5,
+ "align": 2,
+ "attributes": {"writeonly": true},
+ "type": "i2",
+ "access": "w",
+ "size": 2
+ }
+ },
+ "resourceNamesSys": [
+ "$activeGroup",
+ "$eapBuildDate",
+ "$eapProtocolLevel",
+ "$fileIndexReset",
+ "$mcmDisconnect",
+ "$mcmProtocolLevel",
+ "$mobileRssi",
+ "$resourceCount",
+ "$schemaHash"
+ ],
+ "manifest": {
+ "protocolLevel": 13,
+ "hash": [
+ 100,
+ 133,
+ 204,
+ 118,
+ 171,
+ 105,
+ 196,
+ 176,
+ 165,
+ 61,
+ 177,
+ 160,
+ 190,
+ 191,
+ 194,
+ 241
+ ],
+ "toolVersion": "13.4.1.201311121909",
+ "name": "Blinker",
+ "$$md5": "6485cc76ab69c4b0a53db1a0bebfc2f1",
+ "build": [
+ 71,
+ 133,
+ 240,
+ 134,
+ 71,
+ 1,
+ 0,
+ 0
+ ],
+ "date": "2014-07-30T13:03:35T",
+ "maxAlign": 2,
+ "maxSize": 20,
+ "version": "1.0.0"
+ },
+ "resourceNames": [
+ "cmd",
+ "count",
+ "delay",
+ "ledState",
+ "$mcmProtocolLevel",
+ "$eapProtocolLevel",
+ "$eapBuildDate",
+ "$fileIndexReset",
+ "$schemaHash",
+ "$resourceCount",
+ "$mobileRssi",
+ "$mcmDisconnect",
+ "$activeGroup"
+ ],
+ "attributes": {
+ "description": "Blinker, the hello world program for mobile control",
+ "version": "1.0.0"
+ },
+ "resourceNamesApp": [
+ "cmd",
+ "count",
+ "delay",
+ "ledState"
+ ],
+ "types": {
+ "@emmoco.com.Blinker/LedState": {
+ "values": [
+ "LED_OFF",
+ "LED_ON"
+ ],
+ "align": 1,
+ "pack": 1,
+ "type": "E:@emmoco.com.Blinker/LedState",
+ "size": 1
+ },
+ "system@emmoco.com.System/ResourceCount": {
+ "packed": false,
+ "align": 1,
+ "type": "S:system@emmoco.com.System/ResourceCount",
+ "size": 2,
+ "fields": [
+ {
+ "pad": 0,
+ "align": 1,
+ "name": "app",
+ "type": "u1",
+ "size": 1
+ },
+ {
+ "pad": 0,
+ "align": 1,
+ "name": "sys",
+ "type": "u1",
+ "size": 1
+ }
+ ]
+ },
+ "std:i2": {
+ "align": 2,
+ "size": 2
+ },
+ "std:i1": {
+ "align": 1,
+ "size": 1
+ },
+ "std:u1": {
+ "align": 1,
+ "size": 1
+ },
+ "system@emmoco.com.System/ParameterGroup": {
+ "values": [
+ "GROUP_A",
+ "GROUP_B"
+ ],
+ "align": 1,
+ "pack": 1,
+ "type": "E:system@emmoco.com.System/ParameterGroup",
+ "size": 1
+ },
+ "@emmoco.com.Blinker/Cmd": {
+ "values": [
+ "START_CMD",
+ "STOP_CMD"
+ ],
+ "align": 1,
+ "pack": 1,
+ "type": "E:@emmoco.com.Blinker/Cmd",
+ "size": 1
+ },
+ "std:u2": {
+ "align": 2,
+ "size": 2
+ }
+ },
+ "imports": {"@emmoco.com.Blinker": true}
+}
\ No newline at end of file
diff --git a/Blinker-MSP-EXP430G2/Output/Blinker-Prog.hex b/Blinker-MSP-EXP430G2/Output/Blinker-Prog.hex
new file mode 100644
index 0000000..cfadd06
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Output/Blinker-Prog.hex
@@ -0,0 +1,145 @@
+:10C000005542200135D0085A824562023140000471
+:10C010003F4006000F9308249242620220012F83C2
+:10C020009F4FA4C80002F8233F405C000F930724F1
+:10C030009242620220011F83CF430602F923B0120D
+:10C04000F2C43E4060C03F406400B01224C6B0124B
+:10C0500046C1B012C2C532D0F000FD3F30405CC8CE
+:10C06000D293060215241F4208021F9200021128D3
+:10C070001F4202023F9306240E4F3E53824E02029D
+:10C080001F930C38B0121CC682430802B012C8C4F9
+:10C0900030413F506400824F08023041D2430602D3
+:10C0A000B01202C6F13FB012E4C43041B012EAC48B
+:10C0B00030416F4FC24F06024F930A201F420A02BF
+:10C0C0001F930C380F5F824F0202824308023041F7
+:10C0D0005F9301243041B01202C630413F43F33F29
+:10C0E0009F420A0200003041A24F0A0230419F42A3
+:10C0F000000200003041A24F000230410B120B4FF2
+:10C10000B0120AC6CB4F00003B413041B01252C6BC
+:10C110008243100282431402C2430E02C24312023F
+:10C12000C2432D02C2435E02C2433C02C2432C0200
+:10C13000C243200282431C0282431E028243180231
+:10C1400082431A023041B0120CC1D2432002304166
+:10C15000B01246C13041B240330216025F4234028F
+:10C160005F53C24F2D02C2435E02B012A8C63041D7
+:10C17000B240410216025F4242025F53C24F2D029B
+:10C18000C2435E02B012A8C630410B120A12091255
+:10C190000812484FB01248C6494F1A4218021B42B3
+:10C1A0001A028293100224241E434F487FF00F008E
+:10C1B00018200C4E8E108E118E108E110D4E0E4AC0
+:10C1C0000F4B0EDC0FDD824E1802824F1A024A43DB
+:10C1D0004F49B012DAC64F4A384139413A413B41E2
+:10C1E00030410E5E7F53E5270E5E7F53FA23E13F19
+:10C1F0000A93DA230B93D8235A43EA3FC2932002CF
+:10C2000001203041C2434102C24F43026E52C24E2E
+:10C2100042024F43B0128AC14F93F327B01270C14C
+:10C220003041F290FBFF4402042082431C0282430F
+:10C230001E024E436F42B012FCC130415F424402C5
+:10C240007F500B007F90090005284E436F43B012CA
+:10C25000FCC130414F4F0F5F104F5EC81C420C02B3
+:10C260000C93F3273F4046020E430D4C0D5E6D4D7F
+:10C27000CF4D00004D9340241E531F533E900900A4
+:10C28000F4234E4E6F43B012FCC13041E2424602ED
+:10C29000F240090047026E436F43B012FCC13041C7
+:10C2A0003F4090C83E404602FE4F00001E533F9064
+:10C2B000A3C8FA23D24286C859027E4014006F43B5
+:10C2C000B012FCC130413F4088C83E404602FE4F9C
+:10C2D00000001E533F9090C8FA237E426F43B01275
+:10C2E000FCC13041F2400D004602C24347026E439A
+:10C2F0006F43B012FCC130413E523E503E02CE432D
+:10C3000000001E533E904F02FA237E4009006F4307
+:10C31000B012FCC130415F4244027F9003001B24F5
+:10C320006F9210246F9305244E436F43B012FCC1EB
+:10C3300030413F404602B012E0C06E436F43B0123E
+:10C34000FCC130413F404602B012FCC05E436F4327
+:10C35000B012FCC130413F404602B012EEC06E4305
+:10C360006F43B012FCC130415F4244026F931C2402
+:10C370007F90030010245F9305244E436F42B01258
+:10C38000FCC130413F404602B012B2C04E436F4242
+:10C39000B012FCC130413F404602B012F6C04E43DD
+:10C3A0006F42B012FCC130413F404602B012E8C0BB
+:10C3B0004E436F42B012FCC13041C29320020424AC
+:10C3C000F2900B004302012830415F4243020F5FAD
+:10C3D000104F70C81F425A020F93F6278F12304138
+:10C3E000E2432002B012ACC03041F2400300200210
+:10C3F000B012A6C03041C29344020938B01268C3DB
+:10C400003041C29344020638B01216C33041B01214
+:10C4100022C23041B0123CC230415F930E246E42C2
+:10C420004F43C2433302F24005003502C24E34028C
+:10C43000C24F3602B01256C130413F403802B012EE
+:10C44000FCC07E4005006F42EC3F0B12B01248C6A4
+:10C450004B4F1E4218021F421A020E9307200F93E1
+:10C4600005204F4BB012DAC63B4130410C4E0D4F08
+:10C470001CF30DF30C930C240C4E0D4F3CF0FEFFFF
+:10C480003DF3824C1802824D1A02B01270C1E93F8E
+:10C490000D93F2230C4E0D4F2CF30DF30C930D2442
+:10C4A0000C4E0D4F3CF0FDFF3DF3824C1802824DC7
+:10C4B0001A024F43B0121AC4D43F0D93F1234F4BCD
+:10C4C000B012DAC63B413041F29003002002012451
+:10C4D00030416F43B0128AC14F93FA275F43B012C5
+:10C4E0001AC43041D2D321003041F2F0FEFF2100C6
+:10C4F0003041B240805A2001C24358005F42FF10D1
+:10C500007F930824C2435600D242FF105700D24204
+:10C51000FE105600F2D080FF5700F2402400530076
+:10C52000F2D040002200F2F0BFFF2100D2D322005F
+:10C53000F2F0FEFF2100F2D22A00F2F0F7FF29000C
+:10C54000F2D010002A00F2F0EFFF2900F2D2290009
+:10C55000F2F0F7FF2900B240200180011F42900154
+:10C560003F50B80B824F9401B24010008401D2D3E7
+:10C570006100E2D32600E2D34100E2D22600E2D2FB
+:10C580004100D2D32A00D2D32900F2F0FDFF2A00C5
+:10C59000E2D32C00F2F0FDFF2B00E2D32D00F2F0ED
+:10C5A000FEFF2900F24081FF6100F2400C006400B0
+:10C5B000F2426200F2F0FEFF6100B240BAC328020C
+:10C5C00030410B120A12091232D232C2034319420D
+:10C5D0002202824322020993032032D0D800F53F81
+:10C5E00032D23A4024021B430F4B0FF904242F4A46
+:10C5F0000F9301248F120B5B2A533A902A02F423E3
+:10C60000E43FF2F0BFFF210030415E4221003EF0E6
+:10C6100040005F430E9301204F433041F2E0400061
+:10C6200021003041824E26020E4F0E5E0F5E0F5FDC
+:10C630000F5F824F2A021E4290010E5F824E9201CE
+:10C64000B2401000820130410F4232C203437FF2F8
+:10C6500030410D427DF232C20343F2F0FEFF290069
+:10C660003E4064003F404C011F83FE2303430343CD
+:10C670003E53F823D2D329003E40F4013F404C0101
+:10C680001F83FE23034303433E53F823F2F0FEFFD0
+:10C690000300F2F0FDFF0300F2F0FDFF2B00D2D308
+:10C6A00001004F4D02DF30411F4216021F53824FDF
+:10C6B0001002C2430E02829314020324C243670095
+:10C6C00030411F4290013F50B80B824F9401B2405D
+:10C6D00010008401C243670030414F4F02DF3041F8
+:10C6E0000F120E120E4232C2034392D322024F4E59
+:10C6F0007FF24F4F02DFF2F0F7FF2300F2D2250066
+:10C70000B1C0D00004003E413F4100130F120E1291
+:10C710005E426600829314023324F2F0FEFF290089
+:10C72000D2D32900C29312020A204E930620B1C030
+:10C73000D00004003E413F410013C24E12021F428E
+:10C740001402CF4E00001F53824F14025F421202A8
+:10C750007F53C24F1202EB238243140282931002D2
+:10C760001F240E4232C20343A2D222024F4E7FF256
+:10C770004F4F02DFB1C0D00004003E413F410013E3
+:10C7800092420402140282931002C7231F429001B6
+:10C790003F50B80B824F9401B24010008401BD3F5E
+:10C7A00082438401DE3F0F120E1292522A0292013E
+:10C7B0000E4232C20343A2D322024F4E7FF24F4FAA
+:10C7C00002DFB1C0D00004003E413F4100130F1210
+:10C7D0000E120D120C125F422B002FF317241F4272
+:10C7E00010020F9310245E420E024E9302206E4FF1
+:10C7F0005E537E53C24E0E0211246E4F1F53824F62
+:10C800001002C24E6700F2F0FDFF2B00B1C0D00055
+:10C8100008003C413D413E413F410013824310022C
+:10C82000C2432D02B0124AC482931402EC23824305
+:10C830008401E93F0F120E120D120C121F421E014D
+:10C840002F93072082438401B01250C1B1C0D000A1
+:0EC8500008003C413D413E413F4100130013B2
+:10C85E005CC24AC24AC24AC28CC2A0C24AC2C6C244
+:10C86E00E4C2C8C302C4C8C3F6C3C8C3C8C3EAC3BC
+:10C87E00E0C3C8C3C8C3D4C300014785F0864701CF
+:10C88E0000006485CC76AB69C4B0A53DB1A0BEBF37
+:06C89E00C2F10D001100C3
+:06C8A400B004FFFF420298
+:02C8AA0000008C
+:10FFE0005CC05CC0E0C6CEC75CC05CC05CC00CC777
+:10FFF0005CC05CC05CC05CC034C8A6C75CC000C04C
+:040000030000C00039
+:00000001FF
diff --git a/Blinker-MSP-EXP430G2/Output/Blinker-Prog.map b/Blinker-MSP-EXP430G2/Output/Blinker-Prog.map
new file mode 100644
index 0000000..1e8f9cf
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Output/Blinker-Prog.map
@@ -0,0 +1,786 @@
+Archive member included because of file (symbol)
+
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_reset_vector__)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__watchdog_support)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__init_stack)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__low_level_init)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_copy_data)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_clear_bss)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__stop_progExec__)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (_endless_loop__)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_unexpected_)
+
+Allocating common symbols
+Common symbol size file
+
+Em_App_recvIdx 0x1 Output/Blinker.obj
+Em_App_xmitSize 0x1 Output/Blinker.obj
+Em_App_valp 0x2 Output/Blinker.obj
+Em_App_ind_u 0xc Output/Blinker.obj
+Em_App_recvSize 0x1 Output/Blinker.obj
+Em_App_msg_u 0x1c Output/Blinker.obj
+Em_App_pdHdlr 0x2 Output/Blinker.obj
+Em_App_bufp 0x2 Output/Blinker.obj
+Em_App_xmitIdx 0x1 Output/Blinker.obj
+Em_App_desc 0x2 Output/Blinker.obj
+
+Discarded input sections
+
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ .text.crt0 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ .text 0x0000000000000000 0x0 Output/Blinker-Prog.obj
+ .data 0x0000000000000000 0x0 Output/Blinker-Prog.obj
+ .bss 0x0000000000000000 0x0 Output/Blinker-Prog.obj
+ .text 0x0000000000000000 0x0 Output/Blinker.obj
+ .data 0x0000000000000000 0x0 Output/Blinker.obj
+ .bss 0x0000000000000000 0x0 Output/Blinker.obj
+ .text.Em_App_marshallToBuf
+ 0x0000000000000000 0xd4 Output/Blinker.obj
+ .text.Em_App_marshallToVal
+ 0x0000000000000000 0x11a Output/Blinker.obj
+ .text.Blinker_setDeviceName
+ 0x0000000000000000 0x6 Output/Blinker.obj
+ .text.Blinker_pairingOn
+ 0x0000000000000000 0x24 Output/Blinker.obj
+ .text.Blinker_pairingOff
+ 0x0000000000000000 0xa Output/Blinker.obj
+ .text.Blinker_disconnect
+ 0x0000000000000000 0x26 Output/Blinker.obj
+ .text.Blinker_broadcastOff
+ 0x0000000000000000 0x1c Output/Blinker.obj
+ .text.Blinker_activateParameters
+ 0x0000000000000000 0x1e Output/Blinker.obj
+ .text.Blinker_accept
+ 0x0000000000000000 0x20 Output/Blinker.obj
+ .text 0x0000000000000000 0x0 Output/Hal.obj
+ .data 0x0000000000000000 0x0 Output/Hal.obj
+ .bss 0x0000000000000000 0x0 Output/Hal.obj
+ .text.buttonHandler
+ 0x0000000000000000 0x28 Output/Hal.obj
+ .text.Hal_buttonEnable
+ 0x0000000000000000 0x3c Output/Hal.obj
+ .text.Hal_debugOn
+ 0x0000000000000000 0x18 Output/Hal.obj
+ .text.Hal_debugOff
+ 0x0000000000000000 0x1a Output/Hal.obj
+ .text.Hal_debugPulse
+ 0x0000000000000000 0x24 Output/Hal.obj
+ .text.Hal_delay
+ 0x0000000000000000 0x16 Output/Hal.obj
+ .text.Hal_ledOn
+ 0x0000000000000000 0x8 Output/Hal.obj
+ .text.Em_Hal_watchOff
+ 0x0000000000000000 0x6 Output/Hal.obj
+ .text.Em_Hal_watchOn
+ 0x0000000000000000 0x14 Output/Hal.obj
+ .bss.appButtonHandler
+ 0x0000000000000000 0x2 Output/Hal.obj
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+
+Memory Configuration
+
+Name Origin Length Attributes
+sfr 0x0000000000000000 0x0000000000000010
+peripheral_8bit 0x0000000000000010 0x00000000000000f0
+peripheral_16bit 0x0000000000000100 0x0000000000000100
+ram 0x0000000000000200 0x0000000000000200 xw
+infomem 0x0000000000001000 0x0000000000000100
+infod 0x0000000000001000 0x0000000000000040
+infoc 0x0000000000001040 0x0000000000000040
+infob 0x0000000000001080 0x0000000000000040
+infoa 0x00000000000010c0 0x0000000000000040
+rom 0x000000000000c000 0x0000000000003fe0 xr
+vectors 0x000000000000ffe0 0x0000000000000020
+bsl 0x0000000000000000 0x0000000000000000
+far_rom 0x0000000000000000 0x0000000000000000
+*default* 0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+LOAD Output/Blinker-Prog.obj
+LOAD Output/Blinker.obj
+LOAD Output/Hal.obj
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a
+ 0x0000000000000040 PROVIDE (__info_segment_size, 0x40)
+ 0x0000000000001000 PROVIDE (__infod, 0x1000)
+ 0x0000000000001040 PROVIDE (__infoc, 0x1040)
+ 0x0000000000001080 PROVIDE (__infob, 0x1080)
+ 0x00000000000010c0 PROVIDE (__infoa, 0x10c0)
+ 0x0000000000000000 __IE1 = 0x0
+ 0x0000000000000002 __IFG1 = 0x2
+ 0x0000000000000001 __IE2 = 0x1
+ 0x0000000000000003 __IFG2 = 0x3
+ 0x0000000000000048 __ADC10DTC0 = 0x48
+ 0x0000000000000049 __ADC10DTC1 = 0x49
+ 0x000000000000004a __ADC10AE0 = 0x4a
+ 0x00000000000001b0 __ADC10CTL0 = 0x1b0
+ 0x00000000000001b2 __ADC10CTL1 = 0x1b2
+ 0x00000000000001b4 __ADC10MEM = 0x1b4
+ 0x00000000000001bc __ADC10SA = 0x1bc
+ 0x0000000000000056 __DCOCTL = 0x56
+ 0x0000000000000057 __BCSCTL1 = 0x57
+ 0x0000000000000058 __BCSCTL2 = 0x58
+ 0x0000000000000053 __BCSCTL3 = 0x53
+ 0x0000000000000059 __CACTL1 = 0x59
+ 0x000000000000005a __CACTL2 = 0x5a
+ 0x000000000000005b __CAPD = 0x5b
+ 0x0000000000000128 __FCTL1 = 0x128
+ 0x000000000000012a __FCTL2 = 0x12a
+ 0x000000000000012c __FCTL3 = 0x12c
+ 0x0000000000000020 __P1IN = 0x20
+ 0x0000000000000021 __P1OUT = 0x21
+ 0x0000000000000022 __P1DIR = 0x22
+ 0x0000000000000023 __P1IFG = 0x23
+ 0x0000000000000024 __P1IES = 0x24
+ 0x0000000000000025 __P1IE = 0x25
+ 0x0000000000000026 __P1SEL = 0x26
+ 0x0000000000000041 __P1SEL2 = 0x41
+ 0x0000000000000027 __P1REN = 0x27
+ 0x0000000000000028 __P2IN = 0x28
+ 0x0000000000000029 __P2OUT = 0x29
+ 0x000000000000002a __P2DIR = 0x2a
+ 0x000000000000002b __P2IFG = 0x2b
+ 0x000000000000002c __P2IES = 0x2c
+ 0x000000000000002d __P2IE = 0x2d
+ 0x000000000000002e __P2SEL = 0x2e
+ 0x0000000000000042 __P2SEL2 = 0x42
+ 0x000000000000002f __P2REN = 0x2f
+ 0x0000000000000018 __P3IN = 0x18
+ 0x0000000000000019 __P3OUT = 0x19
+ 0x000000000000001a __P3DIR = 0x1a
+ 0x000000000000001b __P3SEL = 0x1b
+ 0x0000000000000043 __P3SEL2 = 0x43
+ 0x0000000000000010 __P3REN = 0x10
+ 0x000000000000012e __TA0IV = 0x12e
+ 0x0000000000000160 __TA0CTL = 0x160
+ 0x0000000000000162 __TA0CCTL0 = 0x162
+ 0x0000000000000164 __TA0CCTL1 = 0x164
+ 0x0000000000000166 __TA0CCTL2 = 0x166
+ 0x0000000000000170 __TA0R = 0x170
+ 0x0000000000000172 __TA0CCR0 = 0x172
+ 0x0000000000000174 __TA0CCR1 = 0x174
+ 0x0000000000000176 __TA0CCR2 = 0x176
+ 0x000000000000011e __TA1IV = 0x11e
+ 0x0000000000000180 __TA1CTL = 0x180
+ 0x0000000000000182 __TA1CCTL0 = 0x182
+ 0x0000000000000184 __TA1CCTL1 = 0x184
+ 0x0000000000000186 __TA1CCTL2 = 0x186
+ 0x0000000000000190 __TA1R = 0x190
+ 0x0000000000000192 __TA1CCR0 = 0x192
+ 0x0000000000000194 __TA1CCR1 = 0x194
+ 0x0000000000000196 __TA1CCR2 = 0x196
+ 0x0000000000000060 __UCA0CTL0 = 0x60
+ 0x0000000000000061 __UCA0CTL1 = 0x61
+ 0x0000000000000062 __UCA0BR0 = 0x62
+ 0x0000000000000063 __UCA0BR1 = 0x63
+ 0x0000000000000064 __UCA0MCTL = 0x64
+ 0x0000000000000065 __UCA0STAT = 0x65
+ 0x0000000000000066 __UCA0RXBUF = 0x66
+ 0x0000000000000067 __UCA0TXBUF = 0x67
+ 0x000000000000005d __UCA0ABCTL = 0x5d
+ 0x000000000000005e __UCA0IRTCTL = 0x5e
+ 0x000000000000005f __UCA0IRRCTL = 0x5f
+ 0x0000000000000068 __UCB0CTL0 = 0x68
+ 0x0000000000000069 __UCB0CTL1 = 0x69
+ 0x000000000000006a __UCB0BR0 = 0x6a
+ 0x000000000000006b __UCB0BR1 = 0x6b
+ 0x000000000000006c __UCB0I2CIE = 0x6c
+ 0x000000000000006d __UCB0STAT = 0x6d
+ 0x000000000000006e __UCB0RXBUF = 0x6e
+ 0x000000000000006f __UCB0TXBUF = 0x6f
+ 0x0000000000000118 __UCB0I2COA = 0x118
+ 0x000000000000011a __UCB0I2CSA = 0x11a
+ 0x0000000000000120 __WDTCTL = 0x120
+ 0x00000000000010f8 __CALDCO_16MHZ = 0x10f8
+ 0x00000000000010f9 __CALBC1_16MHZ = 0x10f9
+ 0x00000000000010fa __CALDCO_12MHZ = 0x10fa
+ 0x00000000000010fb __CALBC1_12MHZ = 0x10fb
+ 0x00000000000010fc __CALDCO_8MHZ = 0x10fc
+ 0x00000000000010fd __CALBC1_8MHZ = 0x10fd
+ 0x00000000000010fe __CALDCO_1MHZ = 0x10fe
+ 0x00000000000010ff __CALBC1_1MHZ = 0x10ff
+
+.hash
+ *(.hash)
+
+.dynsym
+ *(.dynsym)
+
+.dynstr
+ *(.dynstr)
+
+.gnu.version
+ *(.gnu.version)
+
+.gnu.version_d
+ *(.gnu.version_d)
+
+.gnu.version_r
+ *(.gnu.version_r)
+
+.rel.init
+ *(.rel.init)
+
+.rela.init
+ *(.rela.init)
+
+.rel.fini
+ *(.rel.fini)
+
+.rela.fini
+ *(.rela.fini)
+
+.rel.text
+ *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
+
+.rela.text
+ *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
+
+.rel.rodata
+ *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
+
+.rela.rodata
+ *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
+
+.rel.data
+ *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
+
+.rela.data
+ *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
+
+.rel.bss
+ *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
+
+.rela.bss
+ *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
+
+.rel.ctors
+ *(.rel.ctors)
+
+.rela.ctors
+ *(.rela.ctors)
+
+.rel.dtors
+ *(.rel.dtors)
+
+.rela.dtors
+ *(.rela.dtors)
+
+.rel.got
+ *(.rel.got)
+
+.rela.got
+ *(.rela.got)
+
+.rel.plt
+ *(.rel.plt)
+
+.rela.plt
+ *(.rela.plt)
+
+.text 0x000000000000c000 0x85e
+ 0x000000000000c000 . = ALIGN (0x2)
+ *(.init .init.*)
+ *(.init0)
+ .init0 0x000000000000c000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ 0x000000000000c000 _reset_vector__
+ *(.init1)
+ .init1 0x000000000000c000 0xc /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ 0x000000000000c000 __watchdog_support
+ *(.init2)
+ .init2 0x000000000000c00c 0x4 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ 0x000000000000c00c __init_stack
+ *(.init3)
+ .init3 0x000000000000c010 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ 0x000000000000c010 __low_level_init
+ *(.init4)
+ .init4 0x000000000000c010 0x18 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ 0x000000000000c010 __do_copy_data
+ .init4 0x000000000000c028 0x16 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ 0x000000000000c028 __do_clear_bss
+ *(.init5)
+ *(.init6)
+ *(.init7)
+ *(.init8)
+ *(.init9)
+ .init9 0x000000000000c03e 0x18 Output/Blinker-Prog.obj
+ 0x000000000000c03e main
+ *(.fini9)
+ .fini9 0x000000000000c056 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ 0x000000000000c056 __stop_progExec__
+ *(.fini8)
+ *(.fini7)
+ *(.fini6)
+ *(.fini5)
+ *(.fini4)
+ *(.fini3)
+ *(.fini2)
+ *(.fini1)
+ *(.fini0)
+ .fini0 0x000000000000c056 0x6 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ 0x000000000000c056 _endless_loop__
+ *(.fini .fini.*)
+ 0x000000000000c05c . = ALIGN (0x2)
+ 0x000000000000c05c __ctors_start = .
+ *(.ctors)
+ 0x000000000000c05c __ctors_end = .
+ 0x000000000000c05c __dtors_start = .
+ *(.dtors)
+ 0x000000000000c05c __dtors_end = .
+ 0x000000000000c05c . = ALIGN (0x2)
+ *(.text .text.* .gnu.linkonce.t.*)
+ .text 0x000000000000c05c 0x4 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ 0x000000000000c05c __isr_1
+ 0x000000000000c05c __isr_4
+ 0x000000000000c05c __isr_11
+ 0x000000000000c05c __isr_5
+ 0x000000000000c05c __isr_10
+ 0x000000000000c05c __isr_0
+ 0x000000000000c05c __isr_8
+ 0x000000000000c05c __isr_9
+ 0x000000000000c05c __isr_6
+ 0x000000000000c05c __isr_14
+ .text.tickHandler
+ 0x000000000000c060 0x46 Output/Blinker-Prog.obj
+ .text.Blinker_connectHandler
+ 0x000000000000c0a6 0x6 Output/Blinker-Prog.obj
+ 0x000000000000c0a6 Blinker_connectHandler
+ .text.Blinker_disconnectHandler
+ 0x000000000000c0ac 0x6 Output/Blinker-Prog.obj
+ 0x000000000000c0ac Blinker_disconnectHandler
+ .text.Blinker_cmd_store
+ 0x000000000000c0b2 0x2e Output/Blinker-Prog.obj
+ 0x000000000000c0b2 Blinker_cmd_store
+ .text.Blinker_count_fetch
+ 0x000000000000c0e0 0x8 Output/Blinker-Prog.obj
+ 0x000000000000c0e0 Blinker_count_fetch
+ .text.Blinker_count_store
+ 0x000000000000c0e8 0x6 Output/Blinker-Prog.obj
+ 0x000000000000c0e8 Blinker_count_store
+ .text.Blinker_delay_fetch
+ 0x000000000000c0ee 0x8 Output/Blinker-Prog.obj
+ 0x000000000000c0ee Blinker_delay_fetch
+ .text.Blinker_delay_store
+ 0x000000000000c0f6 0x6 Output/Blinker-Prog.obj
+ 0x000000000000c0f6 Blinker_delay_store
+ .text.Blinker_ledState_fetch
+ 0x000000000000c0fc 0x10 Output/Blinker-Prog.obj
+ 0x000000000000c0fc Blinker_ledState_fetch
+ .text.Blinker_reset
+ 0x000000000000c10c 0x3a Output/Blinker.obj
+ 0x000000000000c10c Blinker_reset
+ .text.Blinker_start
+ 0x000000000000c146 0xa Output/Blinker.obj
+ 0x000000000000c146 Blinker_start
+ .text.Em_Message_restart
+ 0x000000000000c150 0x6 Output/Blinker.obj
+ 0x000000000000c150 Em_Message_restart
+ .text.Em_App_startIndSend
+ 0x000000000000c156 0x1a Output/Blinker.obj
+ 0x000000000000c156 Em_App_startIndSend
+ .text.Em_App_startResSend
+ 0x000000000000c170 0x1a Output/Blinker.obj
+ 0x000000000000c170 Em_App_startResSend
+ .text.Em_App_xmitReady
+ 0x000000000000c18a 0x72 Output/Blinker.obj
+ 0x000000000000c18a Em_App_xmitReady
+ .text.Em_App_sendResponse
+ 0x000000000000c1fc 0x26 Output/Blinker.obj
+ 0x000000000000c1fc Em_App_sendResponse
+ .text.Em_App_sysStoreDispatch
+ 0x000000000000c222 0x1a Output/Blinker.obj
+ 0x000000000000c222 Em_App_sysStoreDispatch
+ .text.Em_App_sysFetchDispatch
+ 0x000000000000c23c 0xda Output/Blinker.obj
+ 0x000000000000c23c Em_App_sysFetchDispatch
+ .text.Em_App_fetchDispatch
+ 0x000000000000c316 0x52 Output/Blinker.obj
+ 0x000000000000c316 Em_App_fetchDispatch
+ .text.Em_App_storeDispatch
+ 0x000000000000c368 0x52 Output/Blinker.obj
+ 0x000000000000c368 Em_App_storeDispatch
+ .text.Em_Message_dispatch
+ 0x000000000000c3ba 0x60 Output/Blinker.obj
+ 0x000000000000c3ba Em_Message_dispatch
+ .text.Em_App_sendIndicator
+ 0x000000000000c41a 0x30 Output/Blinker.obj
+ 0x000000000000c41a Em_App_sendIndicator
+ .text.Em_Message_nextXmit
+ 0x000000000000c44a 0x7e Output/Blinker.obj
+ 0x000000000000c44a Em_Message_nextXmit
+ .text.Blinker_ledState_indicate
+ 0x000000000000c4c8 0x1c Output/Blinker.obj
+ 0x000000000000c4c8 Blinker_ledState_indicate
+ .text.Hal_connected
+ 0x000000000000c4e4 0x6 Output/Hal.obj
+ 0x000000000000c4e4 Hal_connected
+ .text.Hal_disconnected
+ 0x000000000000c4ea 0x8 Output/Hal.obj
+ 0x000000000000c4ea Hal_disconnected
+ .text.Hal_init
+ 0x000000000000c4f2 0xd0 Output/Hal.obj
+ 0x000000000000c4f2 Hal_init
+ .text.Hal_idleLoop
+ 0x000000000000c5c2 0x40 Output/Hal.obj
+ 0x000000000000c5c2 Hal_idleLoop
+ .text.Hal_ledOff
+ 0x000000000000c602 0x8 Output/Hal.obj
+ 0x000000000000c602 Hal_ledOff
+ .text.Hal_ledRead
+ 0x000000000000c60a 0x12 Output/Hal.obj
+ 0x000000000000c60a Hal_ledRead
+ .text.Hal_ledToggle
+ 0x000000000000c61c 0x8 Output/Hal.obj
+ 0x000000000000c61c Hal_ledToggle
+ .text.Hal_tickStart
+ 0x000000000000c624 0x24 Output/Hal.obj
+ 0x000000000000c624 Hal_tickStart
+ .text.Em_Hal_lock
+ 0x000000000000c648 0xa Output/Hal.obj
+ 0x000000000000c648 Em_Hal_lock
+ .text.Em_Hal_reset
+ 0x000000000000c652 0x56 Output/Hal.obj
+ 0x000000000000c652 Em_Hal_reset
+ .text.Em_Hal_startSend
+ 0x000000000000c6a8 0x32 Output/Hal.obj
+ 0x000000000000c6a8 Em_Hal_startSend
+ .text.Em_Hal_unlock
+ 0x000000000000c6da 0x6 Output/Hal.obj
+ 0x000000000000c6da Em_Hal_unlock
+ .text.buttonIsr
+ 0x000000000000c6e0 0x2c Output/Hal.obj
+ 0x000000000000c6e0 __isr_2
+ 0x000000000000c6e0 buttonIsr
+ .text.rxIsr 0x000000000000c70c 0x9a Output/Hal.obj
+ 0x000000000000c70c rxIsr
+ 0x000000000000c70c __isr_7
+ .text.timerIsr
+ 0x000000000000c7a6 0x28 Output/Hal.obj
+ 0x000000000000c7a6 timerIsr
+ 0x000000000000c7a6 __isr_13
+ .text.txAckIsr
+ 0x000000000000c7ce 0x66 Output/Hal.obj
+ 0x000000000000c7ce txAckIsr
+ 0x000000000000c7ce __isr_3
+ .text.uartWatchdogIsr
+ 0x000000000000c834 0x28 Output/Hal.obj
+ 0x000000000000c834 uartWatchdogIsr
+ 0x000000000000c834 __isr_12
+ .text.crt0 0x000000000000c85c 0x2 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ 0x000000000000c85c _unexpected_
+ 0x000000000000c85e . = ALIGN (0x2)
+
+.rodata 0x000000000000c85e 0x46
+ 0x000000000000c85e . = ALIGN (0x2)
+ *(.rodata .rodata.* .gnu.linkonce.r.*)
+ .rodata.Em_App_sysFetchDispatch
+ 0x000000000000c85e 0x12 Output/Blinker.obj
+ .rodata.Em_Message_dispatch
+ 0x000000000000c870 0x16 Output/Blinker.obj
+ .rodata.Em_App_endian
+ 0x000000000000c886 0x2 Output/Blinker.obj
+ 0x000000000000c886 Em_App_endian
+ .rodata.Em_App_build
+ 0x000000000000c888 0x8 Output/Blinker.obj
+ 0x000000000000c888 Em_App_build
+ .rodata.Em_App_hash
+ 0x000000000000c890 0x13 Output/Blinker.obj
+ 0x000000000000c890 Em_App_hash
+ 0x000000000000c8a4 . = ALIGN (0x2)
+ *fill* 0x000000000000c8a3 0x1 00
+ 0x000000000000c8a4 _etext = .
+
+.data 0x0000000000000200 0x6 load address 0x000000000000c8a4
+ 0x0000000000000200 . = ALIGN (0x2)
+ 0x0000000000000200 PROVIDE (__data_start, .)
+ *(.data .data.* .gnu.linkonce.d.*)
+ .data.delayVal
+ 0x0000000000000200 0x2 Output/Blinker-Prog.obj
+ .data.curCount
+ 0x0000000000000202 0x2 Output/Blinker-Prog.obj
+ .data.Em_App_inBuf
+ 0x0000000000000204 0x2 Output/Blinker.obj
+ 0x0000000000000204 Em_App_inBuf
+ 0x0000000000000206 . = ALIGN (0x2)
+ 0x0000000000000206 _edata = .
+ 0x000000000000c8a4 PROVIDE (__data_load_start, LOADADDR (.data))
+ 0x0000000000000006 PROVIDE (__data_size, SIZEOF (.data))
+
+.bss 0x0000000000000206 0x5c load address 0x000000000000c8aa
+ 0x0000000000000206 PROVIDE (__bss_start, .)
+ *(.bss .bss.*)
+ .bss.cmdVal 0x0000000000000206 0x1 Output/Blinker-Prog.obj
+ *fill* 0x0000000000000207 0x1 00
+ .bss.curTime 0x0000000000000208 0x2 Output/Blinker-Prog.obj
+ .bss.countVal 0x000000000000020a 0x2 Output/Blinker-Prog.obj
+ .bss.Em_App_devName
+ 0x000000000000020c 0x2 Output/Blinker.obj
+ 0x000000000000020c Em_App_devName
+ .bss._Em_Message_txCnt
+ 0x000000000000020e 0x1 Output/Blinker.obj
+ 0x000000000000020e _Em_Message_txCnt
+ *fill* 0x000000000000020f 0x1 00
+ .bss._Em_Message_txBuf
+ 0x0000000000000210 0x2 Output/Blinker.obj
+ 0x0000000000000210 _Em_Message_txBuf
+ .bss._Em_Message_rxCnt
+ 0x0000000000000212 0x1 Output/Blinker.obj
+ 0x0000000000000212 _Em_Message_rxCnt
+ *fill* 0x0000000000000213 0x1 00
+ .bss._Em_Message_rxBuf
+ 0x0000000000000214 0x2 Output/Blinker.obj
+ 0x0000000000000214 _Em_Message_rxBuf
+ .bss.Em_App_outBuf
+ 0x0000000000000216 0x2 Output/Blinker.obj
+ 0x0000000000000216 Em_App_outBuf
+ .bss.Em_App_xmitMask
+ 0x0000000000000218 0x4 Output/Blinker.obj
+ 0x0000000000000218 Em_App_xmitMask
+ .bss.Em_App_fileIndex
+ 0x000000000000021c 0x4 Output/Blinker.obj
+ 0x000000000000021c Em_App_fileIndex
+ .bss.Em_App_state
+ 0x0000000000000220 0x1 Output/Blinker.obj
+ 0x0000000000000220 Em_App_state
+ *fill* 0x0000000000000221 0x1 00
+ .bss.handlerEvents
+ 0x0000000000000222 0x2 Output/Hal.obj
+ .bss.handlerTab
+ 0x0000000000000224 0x6 Output/Hal.obj
+ .bss.clockTick
+ 0x000000000000022a 0x2 Output/Hal.obj
+ *(COMMON)
+ COMMON 0x000000000000022c 0x36 Output/Blinker.obj
+ 0x000000000000022c Em_App_recvIdx
+ 0x000000000000022d Em_App_xmitSize
+ 0x000000000000022e Em_App_valp
+ 0x0000000000000230 Em_App_ind_u
+ 0x000000000000023c Em_App_recvSize
+ 0x000000000000023e Em_App_msg_u
+ 0x000000000000025a Em_App_pdHdlr
+ 0x000000000000025c Em_App_bufp
+ 0x000000000000025e Em_App_xmitIdx
+ 0x0000000000000260 Em_App_desc
+ 0x0000000000000262 . = ALIGN (0x2)
+ 0x0000000000000262 PROVIDE (__bss_end, .)
+ 0x000000000000005c PROVIDE (__bss_size, SIZEOF (.bss))
+
+.noinit 0x0000000000000262 0x2 load address 0x000000000000c8aa
+ 0x0000000000000262 PROVIDE (__noinit_start, .)
+ *(.noinit .noinit.*)
+ .noinit.crt0 0x0000000000000262 0x2 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ 0x0000000000000262 __wdt_clear_value
+ 0x0000000000000264 . = ALIGN (0x2)
+ 0x0000000000000264 PROVIDE (__noinit_end, .)
+ 0x0000000000000264 . = ALIGN (0x2)
+ 0x0000000000000264 _end = .
+
+.infomem 0x0000000000001000 0x0
+ *(.infomem)
+ 0x0000000000001000 . = ALIGN (0x2)
+ *(.infomem.*)
+
+.infomemnobits 0x0000000000001000 0x0
+ *(.infomemnobits)
+ 0x0000000000001000 . = ALIGN (0x2)
+ *(.infomemnobits.*)
+
+.infoa
+ *(.infoa .infoa.*)
+
+.infob
+ *(.infob .infob.*)
+
+.infoc
+ *(.infoc .infoc.*)
+
+.infod
+ *(.infod .infod.*)
+
+.vectors 0x000000000000ffe0 0x20
+ 0x000000000000ffe0 PROVIDE (__vectors_start, .)
+ *(.vectors*)
+ .vectors 0x000000000000ffe0 0x20 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ 0x000000000000ffe0 __ivtbl_16
+ 0x0000000000010000 _vectors_end = .
+
+.fartext 0x0000000000000000 0x0
+ 0x0000000000000000 . = ALIGN (0x2)
+ *(.fartext)
+ 0x0000000000000000 . = ALIGN (0x2)
+ *(.fartext.*)
+ 0x0000000000000000 _efartext = .
+
+.profiler
+ *(.profiler)
+
+.stab
+ *(.stab)
+
+.stabstr
+ *(.stabstr)
+
+.stab.excl
+ *(.stab.excl)
+
+.stab.exclstr
+ *(.stab.exclstr)
+
+.stab.index
+ *(.stab.index)
+
+.stab.indexstr
+ *(.stab.indexstr)
+
+.comment
+ *(.comment)
+
+.debug
+ *(.debug)
+
+.line
+ *(.line)
+
+.debug_srcinfo
+ *(.debug_srcinfo)
+
+.debug_sfnames
+ *(.debug_sfnames)
+
+.debug_aranges 0x0000000000000000 0x198
+ *(.debug_aranges)
+ .debug_aranges
+ 0x0000000000000000 0x38 Output/Blinker-Prog.obj
+ .debug_aranges
+ 0x0000000000000038 0x70 Output/Blinker.obj
+ .debug_aranges
+ 0x00000000000000a8 0x78 Output/Hal.obj
+ .debug_aranges
+ 0x0000000000000120 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .debug_aranges
+ 0x0000000000000134 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .debug_aranges
+ 0x0000000000000148 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .debug_aranges
+ 0x000000000000015c 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .debug_aranges
+ 0x0000000000000170 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .debug_aranges
+ 0x0000000000000184 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+
+.debug_pubnames
+ *(.debug_pubnames)
+
+.debug_info 0x0000000000000000 0x1bfd
+ *(.debug_info)
+ .debug_info 0x0000000000000000 0x310 Output/Blinker-Prog.obj
+ .debug_info 0x0000000000000310 0x91b Output/Blinker.obj
+ .debug_info 0x0000000000000c2b 0xc78 Output/Hal.obj
+ .debug_info 0x00000000000018a3 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .debug_info 0x0000000000001932 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .debug_info 0x00000000000019c1 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .debug_info 0x0000000000001a50 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .debug_info 0x0000000000001adf 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .debug_info 0x0000000000001b6e 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ *(.gnu.linkonce.wi.*)
+
+.debug_abbrev 0x0000000000000000 0x715
+ *(.debug_abbrev)
+ .debug_abbrev 0x0000000000000000 0x103 Output/Blinker-Prog.obj
+ .debug_abbrev 0x0000000000000103 0x240 Output/Blinker.obj
+ .debug_abbrev 0x0000000000000343 0x35a Output/Hal.obj
+ .debug_abbrev 0x000000000000069d 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .debug_abbrev 0x00000000000006b1 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .debug_abbrev 0x00000000000006c5 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .debug_abbrev 0x00000000000006d9 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .debug_abbrev 0x00000000000006ed 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .debug_abbrev 0x0000000000000701 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+
+.debug_line 0x0000000000000000 0xbad
+ *(.debug_line)
+ .debug_line 0x0000000000000000 0x19d Output/Blinker-Prog.obj
+ .debug_line 0x000000000000019d 0x3b8 Output/Blinker.obj
+ .debug_line 0x0000000000000555 0x3a9 Output/Hal.obj
+ .debug_line 0x00000000000008fe 0x72 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .debug_line 0x0000000000000970 0x70 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .debug_line 0x00000000000009e0 0x76 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .debug_line 0x0000000000000a56 0x76 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .debug_line 0x0000000000000acc 0x71 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .debug_line 0x0000000000000b3d 0x70 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+
+.debug_frame 0x0000000000000000 0x3aa
+ *(.debug_frame)
+ .debug_frame 0x0000000000000000 0x90 Output/Blinker-Prog.obj
+ .debug_frame 0x0000000000000090 0x17a Output/Blinker.obj
+ .debug_frame 0x000000000000020a 0x1a0 Output/Hal.obj
+
+.debug_str 0x0000000000000000 0x9b0
+ *(.debug_str)
+ .debug_str 0x0000000000000000 0x266 Output/Blinker-Prog.obj
+ 0x2a2 (size before relaxing)
+ .debug_str 0x0000000000000266 0x3e3 Output/Blinker.obj
+ 0x554 (size before relaxing)
+ .debug_str 0x0000000000000649 0x367 Output/Hal.obj
+ 0x5a7 (size before relaxing)
+
+.debug_loc 0x0000000000000000 0x64e
+ *(.debug_loc)
+ .debug_loc 0x0000000000000000 0x31 Output/Blinker-Prog.obj
+ .debug_loc 0x0000000000000031 0x438 Output/Blinker.obj
+ .debug_loc 0x0000000000000469 0x1e5 Output/Hal.obj
+
+.debug_macinfo
+ *(.debug_macinfo)
+
+.debug_pubtypes
+ *(.debug_pubtypes)
+
+.debug_ranges 0x0000000000000000 0x19c
+ *(.debug_ranges)
+ .debug_ranges 0x0000000000000000 0x2c Output/Blinker-Prog.obj
+ .debug_ranges 0x000000000000002c 0x64 Output/Blinker.obj
+ .debug_ranges 0x0000000000000090 0x10c Output/Hal.obj
+ 0x0000000000000400 PROVIDE (__stack, (ORIGIN (ram) + 0x200))
+ 0x000000000000c8a4 PROVIDE (__data_start_rom, _etext)
+ 0x000000000000c8aa PROVIDE (__data_end_rom, (_etext + SIZEOF (.data)))
+OUTPUT(Output/Blinker-Prog.out elf32-msp430)
diff --git a/Blinker-MSP-EXP430G2/Output/Blinker-Prog.obj b/Blinker-MSP-EXP430G2/Output/Blinker-Prog.obj
new file mode 100644
index 0000000..b0faf51
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Output/Blinker-Prog.obj
diff --git a/Blinker-MSP-EXP430G2/Output/Blinker-Prog.out b/Blinker-MSP-EXP430G2/Output/Blinker-Prog.out
new file mode 100755
index 0000000..d68574b
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Output/Blinker-Prog.out
diff --git a/Blinker-MSP-EXP430G2/Output/Blinker.obj b/Blinker-MSP-EXP430G2/Output/Blinker.obj
new file mode 100644
index 0000000..40ae3a6
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Output/Blinker.obj
diff --git a/Blinker-MSP-EXP430G2/Output/Hal.obj b/Blinker-MSP-EXP430G2/Output/Hal.obj
new file mode 100644
index 0000000..804db00
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Output/Hal.obj
diff --git a/Blinker-MSP-EXP430G2/Schema-Imports/system@emmoco.com/System.ems b/Blinker-MSP-EXP430G2/Schema-Imports/system@emmoco.com/System.ems
new file mode 100644
index 0000000..9601635
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/Schema-Imports/system@emmoco.com/System.ems
@@ -0,0 +1,72 @@
+owner = "system@emmoco.com"
+
+schema System {
+
+ // protocolLevel #13
+
+ enum ParameterGroup {
+ GROUP_A, GROUP_B
+ }
+
+ // protocolLevel #1
+
+ uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications
+ readonly
+ }
+
+ uint16 $mcmProtocolLevel {
+ readonly
+ }
+
+ uint16 $eapProtocolLevel {
+ readonly
+ }
+
+ uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber
+ readonly
+ }
+
+ // protocolLevel #2
+
+ int16 $fileIndexReset {
+ writeonly
+ }
+
+ // protocolLevel #5
+
+ // protocolLevel #12 -- increase size to 20
+
+ uint8 $schemaHash[20] {
+ readonly
+ }
+
+ // protocolLevel #7
+
+ struct ResourceCount {
+ uint8 app
+ uint8 sys
+ }
+
+ ResourceCount $resourceCount {
+ readonly
+ }
+
+ // protocolLevel #9
+
+ int8 $mobileRssi {
+ readonly
+ }
+
+ // protocolLevel #11
+
+ uint8 $mcmDisconnect {
+ writeonly
+ }
+
+ // protocolLevel #13
+
+ ParameterGroup $activeGroup {
+ readwrite
+ }
+
+}
diff --git a/Blinker-MSP-EXP430G2/bundle.properties b/Blinker-MSP-EXP430G2/bundle.properties
new file mode 100644
index 0000000..2727957
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/bundle.properties
@@ -0,0 +1,10 @@
+# generated file - do not edit
+
+bundle.requires = com.emmoco.schema.translator
+com.emmoco.framework.Properties.applicationDirectory = Em
+com.emmoco.framework.Properties.schemaDestinationDirectory = Em
+com.emmoco.framework.Properties.serverAPIToken =
+com.emmoco.framework.Properties.align16 = 2
+com.emmoco.framework.Properties.align32 = 4
+com.emmoco.framework.Properties.schemaFile = /Users/imanol/devel/em-builder/Blinker-MSP-EXP430G2/Blinker.ems
+com.emmoco.framework.Properties.toolVersion = 13.4.1.201311121909
diff --git a/Blinker-MSP-EXP430G2/makefile b/Blinker-MSP-EXP430G2/makefile
new file mode 100644
index 0000000..9d1becd
--- /dev/null
+++ b/Blinker-MSP-EXP430G2/makefile
@@ -0,0 +1,4 @@
+APPNAME = Blinker
+PLATFORM = ../Platform-MSP-EXP430G2
+
+include $(PLATFORM)/rules.mk
diff --git a/DUREX/Output/DUREX-Prog.map b/DUREX/Output/DUREX-Prog.map
index 2e86d79..a1e47f6 100644
--- a/DUREX/Output/DUREX-Prog.map
+++ b/DUREX/Output/DUREX-Prog.map
@@ -783,17 +783,17 @@ LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib
.debug_frame 0x00000000000003bc 0x1e /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(strcmp.o)
.debug_frame 0x00000000000003da 0x38 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o)
-.debug_str 0x0000000000000000 0xa8e
+.debug_str 0x0000000000000000 0xa89
*(.debug_str)
- .debug_str 0x0000000000000000 0x2bb Output/DUREX-Prog.obj
- 0x2f4 (size before relaxing)
- .debug_str 0x00000000000002bb 0x3d9 Output/DUREX.obj
- 0x53a (size before relaxing)
- .debug_str 0x0000000000000694 0x367 Output/Hal.obj
- 0x598 (size before relaxing)
- .debug_str 0x00000000000009fb 0x5f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(strcmp.o)
+ .debug_str 0x0000000000000000 0x2b6 Output/DUREX-Prog.obj
+ 0x2ef (size before relaxing)
+ .debug_str 0x00000000000002b6 0x3d9 Output/DUREX.obj
+ 0x535 (size before relaxing)
+ .debug_str 0x000000000000068f 0x367 Output/Hal.obj
+ 0x593 (size before relaxing)
+ .debug_str 0x00000000000009f6 0x5f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(strcmp.o)
0xde (size before relaxing)
- .debug_str 0x0000000000000a5a 0x34 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o)
+ .debug_str 0x0000000000000a55 0x34 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a(memcpy.o)
0x100 (size before relaxing)
.debug_loc 0x0000000000000000 0x868
diff --git a/DUREX/Output/DUREX-Prog.obj b/DUREX/Output/DUREX-Prog.obj
index dead87e..3caf4a3 100644
--- a/DUREX/Output/DUREX-Prog.obj
+++ b/DUREX/Output/DUREX-Prog.obj
diff --git a/DUREX/Output/DUREX-Prog.out b/DUREX/Output/DUREX-Prog.out
index e534196..d299a5e 100755
--- a/DUREX/Output/DUREX-Prog.out
+++ b/DUREX/Output/DUREX-Prog.out
diff --git a/DUREX/Output/DUREX.obj b/DUREX/Output/DUREX.obj
index 8fe1a66..062fef2 100644
--- a/DUREX/Output/DUREX.obj
+++ b/DUREX/Output/DUREX.obj
diff --git a/DUREX/Output/Hal.obj b/DUREX/Output/Hal.obj
index d4b4edd..89bd839 100644
--- a/DUREX/Output/Hal.obj
+++ b/DUREX/Output/Hal.obj
diff --git a/FirstApp-MSP-EXP430G2/.project b/FirstApp-MSP-EXP430G2/.project
new file mode 100644
index 0000000..2fa624d
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/.project
@@ -0,0 +1,36 @@
+
+
+ FirstApp-MSP-EXP430G2
+
+
+
+
+
+ com.emmoco.mcmtooling.core.mcmToolingBuilder
+
+
+
+
+ com.emmoco.mcmtooling.example.mcmToolingBuilder
+
+
+
+
+
+ com.emmoco.mcmtooling.example.mcmToolingExampleNature
+ com.emmoco.mcmtooling.core.mcmToolingNature
+
+
+
+ Hal
+ 2
+ EM_PLATFORM_LOC/Hal
+
+
+
+
+ EM_PLATFORM_LOC
+ $%7BWORKSPACE_LOC%7D/Platform-MSP-EXP430G2
+
+
+
diff --git a/FirstApp-MSP-EXP430G2/Em/Em_Message.h b/FirstApp-MSP-EXP430G2/Em/Em_Message.h
new file mode 100644
index 0000000..3bd0d58
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Em/Em_Message.h
@@ -0,0 +1,182 @@
+#ifndef Em_Message_H_
+#define Em_Message_H_
+
+#include "Em_Types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -------- SRT FUNCTIONS CALLED BY HAL -------- */
+
+static inline bool Em_Message_addByte(uint8_t b);
+extern void Em_Message_dispatch(void);
+static inline bool Em_Message_getByte(uint8_t* bp);
+extern void Em_Message_restart(void);
+static inline bool Em_Message_startRx(void);
+static inline uint8_t Em_Message_startTx(void);
+
+
+/* -------- HAL FUNCTIONS CALLED BY SRT -------- */
+
+extern uint8_t Em_Hal_lock(void);
+extern void Em_Hal_reset(void);
+extern void Em_Hal_startSend(void);
+extern void Em_Hal_unlock(uint8_t key);
+extern void Em_Hal_watchOff(void);
+extern void Em_Hal_watchOn(void);
+
+
+/* -------- MESSAGE FORMAT -------- */
+
+/* protocolLevel #4 */
+#define Em_Message_INDSIZE 4
+
+typedef uint8_t Em_Message_Size;
+typedef uint8_t Em_Message_Kind;
+/* protocolLevel #12 -- split 16-bit resId into */
+typedef uint8_t Em_Message_ResId;
+typedef uint8_t Em_Message_Chan;
+
+#define Em_Message_NOP 0
+#define Em_Message_FETCH 1
+#define Em_Message_FETCH_DONE 2
+#define Em_Message_STORE 3
+#define Em_Message_STORE_DONE 4
+#define Em_Message_INDICATOR 5
+#define Em_Message_CONNECT 6
+#define Em_Message_DISCONNECT 7
+#define Em_Message_ECHO 8
+/* protocolLevel #3 */
+/* protocolLevel #6 -- rename from BROADCAST to PAIRING */
+#define Em_Message_PAIRING 9
+#define Em_Message_PAIRING_DONE 10
+/* protocolLevel #7 */
+#define Em_Message_OFFLINE 11
+/* protocolLevel #8 */
+#define Em_Message_ACCEPT 12
+/* protocolLevel #13 */
+#define Em_Message_START 13
+#define Em_Message_ACTIVE_PARAMS 14
+
+typedef struct Em_Message_Header {
+ Em_Message_Size size;
+ Em_Message_Kind kind;
+ Em_Message_ResId resId;
+ Em_Message_Chan chan;
+} Em_Message_Header;
+
+typedef uint16_t Em_Message_protocolLevel_t;
+
+/* protocolLevel #1 */
+
+/* protocolLevel #10 */
+/* #define Em_Message_SYS_SCHEMA_UUID 0xFF */
+
+#define Em_Message_SYS_MCM_PROTOCOL_LEVEL 0xFE
+#define Em_Message_SYS_EAP_PROTOCOL_LEVEL 0xFD
+#define Em_Message_SYS_EAP_BUILD_DATE 0xFC
+
+/* protocolLevel #2 */
+#define Em_Message_SYS_FILE_INDEX_RESET 0xFB
+
+/* protocolLevel #5 */
+#define Em_Message_SYS_SCHEMA_HASH 0xFA
+
+/* protocolLevel #7 */
+#define Em_Message_SYS_RESOURCE_COUNT 0xF9
+
+/* protocolLevel #9 */
+#define Em_Message_SYS_MOBILE_RSSI 0xF8
+
+/* protocolLevel #11 */
+#define Em_Message_SYS_MCM_DISCONNECT 0xF7
+
+/* protocolLevel #13a */
+#define Em_Message_SYS_MCM_NAME 0xF5
+
+
+/* -------- PRIVATE -------- */
+
+extern void Em_Message_nextXmit(void);
+
+extern uint8_t* Em_App_inBuf;
+extern uint8_t* Em_App_outBuf;
+extern Em_Message_Size Em_App_xmitSize;
+
+extern uint8_t* _Em_Message_rxBuf;
+extern uint8_t _Em_Message_rxCnt;
+
+extern uint8_t* _Em_Message_txBuf;
+extern uint8_t _Em_Message_txCnt;
+
+static inline bool Em_Message_addByte(uint8_t b) {
+ if (_Em_Message_rxCnt == 0) {
+ if (b == 0) {
+ return false;
+ }
+ _Em_Message_rxCnt = b;
+ }
+ *_Em_Message_rxBuf++ = b;
+ if (--_Em_Message_rxCnt == 0) {
+ _Em_Message_rxBuf = 0;
+ if (_Em_Message_txBuf == 0) {
+ Em_Hal_watchOff();
+ }
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+static inline bool Em_Message_getByte(uint8_t* bp) {
+ if (_Em_Message_txBuf == 0) {
+ return false;
+ }
+ if (_Em_Message_txCnt == 0) {
+ _Em_Message_txCnt = *_Em_Message_txBuf + 1;
+ }
+ if (--_Em_Message_txCnt > 0) {
+ *bp = *_Em_Message_txBuf++;
+ return true;
+ }
+ else {
+ _Em_Message_txBuf = 0;
+ Em_App_xmitSize = 0;
+ Em_Message_nextXmit();
+ if (_Em_Message_rxBuf == 0) {
+ Em_Hal_watchOff();
+ }
+ return false;
+ }
+}
+
+static inline bool Em_Message_startRx(void) {
+ if (_Em_Message_rxBuf == 0) {
+ _Em_Message_rxBuf = Em_App_inBuf;
+ if (_Em_Message_txBuf == 0) {
+ Em_Hal_watchOn();
+ }
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+static inline uint8_t Em_Message_startTx(void) {
+ _Em_Message_txBuf = Em_App_outBuf + 1;
+ _Em_Message_txCnt = 0;
+ if (_Em_Message_rxBuf == 0) {
+ Em_Hal_watchOn();
+ }
+ return 0;
+}
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*Em_Message_H_*/
diff --git a/FirstApp-MSP-EXP430G2/Em/Em_Types.h b/FirstApp-MSP-EXP430G2/Em/Em_Types.h
new file mode 100644
index 0000000..d002306
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Em/Em_Types.h
@@ -0,0 +1,17 @@
+#ifndef Em_Types_H_
+#define Em_Types_H_
+
+#ifndef Em_NOSTDBOOL
+#include
+#endif
+
+#ifndef Em_NOSTDINT
+#include
+#endif
+
+#ifdef Em_16BIT
+typedef signed char int8_t;
+typedef unsigned char uint8_t;
+#endif
+
+#endif /*Em_Types_H_*/
diff --git a/FirstApp-MSP-EXP430G2/Em/FirstApp-STUBS.c b/FirstApp-MSP-EXP430G2/Em/FirstApp-STUBS.c
new file mode 100644
index 0000000..4dc7c9c
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Em/FirstApp-STUBS.c
@@ -0,0 +1,26 @@
+/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.FirstApp on 2014-07-30T13:03:45T ****/
+/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
+
+#include "FirstApp.h"
+
+#ifdef FirstApp_STUBS_ /* enables optional inclusion of application stubs */
+
+/* Copy the function skeletons below into your own application source file */
+
+void FirstApp_connectHandler(void) {
+ /* TODO: application is now connected */
+}
+
+void FirstApp_disconnectHandler(void) {
+ /* TODO: application is now disconnected */
+}
+
+void FirstApp_data_fetch(FirstApp_data_t* output) {
+ /* TODO: read resource 'data' into 'output' */
+}
+
+void FirstApp_data_store(FirstApp_data_t* input) {
+ /* TODO: write resource 'data' from 'input' */
+}
+
+#endif /* application stubs */
diff --git a/FirstApp-MSP-EXP430G2/Em/FirstApp.c b/FirstApp-MSP-EXP430G2/Em/FirstApp.c
new file mode 100644
index 0000000..203ecab
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Em/FirstApp.c
@@ -0,0 +1,445 @@
+/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.FirstApp on 2014-07-30T13:03:45T ****/
+/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
+
+#include "Em_Message.h"
+#include "FirstApp.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define Em_Message_protocolLevel 13
+
+typedef struct Em_App_Message {
+ uint8_t dummy[3];
+ uint8_t sot;
+ Em_Message_Header hdr;
+ uint8_t data[20];
+} Em_App_Message;
+
+const uint8_t Em_App_hash[] = {124, 222, 24, 201, 135, 244, 35, 197, 14, 170, 21, 17, 84, 224, 220, 189, 13, 0, ((sizeof(struct{uint8_t f1; uint16_t f2;}) - sizeof(uint16_t)) << 4) | (sizeof(struct{uint8_t f1; uint32_t f2;}) - sizeof(uint32_t))};
+
+const uint8_t Em_App_build[] = {179, 173, 240, 134, 71, 1, 0, 0};
+
+#define Em_App_APP_RESOURCE_COUNT 1
+#define Em_App_SYS_RESOURCE_COUNT 9
+
+#define Em_App_ACCEPT FirstApp_accept
+#define Em_App_ACTIVATEPARAMETERS FirstApp_activateParameters
+#define Em_App_BROADCASTOFF FirstApp_broadcastOff
+#define Em_App_DISCONNECT FirstApp_disconnect
+#define Em_App_PAIRINGON FirstApp_pairingOn
+#define Em_App_PAIRINGOFF FirstApp_pairingOff
+#define Em_App_RESET FirstApp_reset
+#define Em_App_SETDEVICENAME FirstApp_setDeviceName
+#define Em_App_START FirstApp_start
+
+#define Em_App_CONNECTHANDLER FirstApp_connectHandler
+#define Em_App_DISCONNECTHANDLER FirstApp_disconnectHandler
+
+#define Em_App_MAX_INDICATOR 1
+
+/* BEGIN common code */
+
+enum {Em_App_IDLE, Em_App_STARTING, Em_App_DISCONNECTED, Em_App_CONNECTED};
+
+typedef struct Em_App_Indicator {
+ uint8_t dummy[3];
+ uint8_t sot;
+ Em_Message_Header hdr;
+ uint8_t data[Em_Message_INDSIZE];
+} Em_App_Indicator;
+
+union { uint32_t align; Em_App_Message msg; } Em_App_msg_u;
+union { uint32_t align; Em_App_Indicator ind; } Em_App_ind_u;
+#define Em_App_msg Em_App_msg_u.msg
+#define Em_App_ind Em_App_ind_u.ind
+
+void (*Em_App_pdHdlr)(void);
+
+const uint16_t Em_App_endian = 0x0100;
+
+Em_Message_Size Em_App_recvIdx;
+Em_Message_Size Em_App_recvSize;
+Em_Message_Size Em_App_xmitIdx;
+Em_Message_Size Em_App_xmitSize;
+
+uint8_t Em_App_state = Em_App_IDLE;
+int32_t Em_App_fileIndex = 0;
+uint32_t Em_App_xmitMask = 0;
+
+uint8_t* Em_App_valp;
+uint8_t* Em_App_bufp;
+const char* Em_App_desc;
+
+uint8_t* Em_App_inBuf = (uint8_t*)&Em_App_msg.hdr;
+uint8_t* Em_App_outBuf = 0;
+
+uint8_t* _Em_Message_rxBuf = 0;
+uint8_t _Em_Message_rxCnt = 0;
+
+uint8_t* _Em_Message_txBuf = 0;
+uint8_t _Em_Message_txCnt = 0;
+
+#define Em_App_DEVNAME_LEN 9
+const char* Em_App_devName = 0;
+
+void Em_App_fetchDispatch(void);
+void Em_Message_marshallToBuf(uint8_t* valp, uint8_t* bufp, const char* desc);
+void Em_Message_marshallToVal(uint8_t* valp, uint8_t* bufp, const char* desc);
+void Em_App_storeDispatch(void);
+void Em_App_sendIndicator(Em_Message_ResId indId);
+void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size);
+void Em_App_startIndSend(void);
+void Em_App_startResSend(void);
+void Em_App_sysFetchDispatch(void);
+void Em_App_sysStoreDispatch(void);
+bool Em_App_xmitReady(Em_Message_ResId indId);
+
+void Em_Message_nextXmit(void) {
+ uint8_t key = Em_Hal_lock();
+ if (Em_App_xmitMask != 0) {
+ uint8_t i;
+ uint32_t m;
+ for (i = 0, m = 0x1; i < Em_App_MAX_INDICATOR; i++, m <<= 1) {
+ if (Em_App_xmitMask & m) {
+ Em_App_xmitMask &= ~m;
+ if (i == 0) {
+ Em_App_startResSend();
+ }
+ else {
+ Em_App_sendIndicator(i - 1);
+ }
+ break;
+ }
+ }
+ }
+ Em_Hal_unlock(key);
+}
+
+void Em_Message_restart(void) {
+ Em_App_START();
+}
+
+void Em_App_ACCEPT(bool enable) {
+ if (Em_App_state == Em_App_CONNECTED) {
+ return;
+ }
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_ACCEPT;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = enable;
+ Em_App_startIndSend();
+}
+
+void Em_App_ACTIVATEPARAMETERS(uint8_t group) {
+ if (Em_App_state == Em_App_IDLE || Em_App_state == Em_App_STARTING) {
+ return;
+ }
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_ACTIVE_PARAMS;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = group;
+ Em_App_startIndSend();
+}
+
+void Em_App_BROADCASTOFF(void) {
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_INDICATOR;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = 0;
+ Em_App_startIndSend();
+}
+
+void Em_App_DISCONNECT(void) {
+ if (Em_App_state != Em_App_CONNECTED) {
+ return;
+ }
+ Em_App_state = Em_App_DISCONNECTED;
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_DISCONNECT;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = 0;
+ Em_App_startIndSend();
+}
+
+void Em_Message_dispatch(void) {
+ if (Em_App_state == Em_App_IDLE) {
+ return;
+ }
+ switch (Em_App_msg.hdr.kind) {
+ case Em_Message_CONNECT:
+ Em_App_state = Em_App_CONNECTED;
+ Em_App_CONNECTHANDLER();
+ break;
+ case Em_Message_DISCONNECT:
+ Em_App_state = Em_App_DISCONNECTED;
+ Em_App_DISCONNECTHANDLER();
+ break;
+ case Em_Message_PAIRING_DONE:
+ if (Em_App_pdHdlr) {
+ (*Em_App_pdHdlr)();
+ }
+ break;
+ case Em_Message_FETCH:
+ if (Em_App_msg.hdr.resId < 0x80) {
+ Em_App_fetchDispatch();
+ }
+ else {
+ Em_App_sysFetchDispatch();
+ }
+ break;
+ case Em_Message_STORE:
+ if (Em_App_msg.hdr.resId < 0x80) {
+ Em_App_storeDispatch();
+ }
+ else {
+ Em_App_sysStoreDispatch();
+ }
+ break;
+ }
+}
+
+void Em_App_marshallToBuf() {
+ char ch;
+ while ((ch = *Em_App_desc++)) {
+ switch (ch) {
+ case '0' : {
+ *Em_App_bufp++ = 0;
+ break;
+ }
+ case '1' : {
+ *Em_App_bufp++ = *Em_App_valp & 0xFF;
+ break;
+ }
+ case '2' : {
+ uint16_t v16 = *(uint16_t*)Em_App_valp;
+ *Em_App_bufp++ = v16 & 0xFF;
+ *Em_App_bufp++ = (v16 >> 8) & 0xFF;
+ break;
+ }
+ case '4' : {
+ if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++;
+ uint32_t v32 = *(uint32_t*)Em_App_valp++;
+ *Em_App_bufp++ = v32 & 0xFF;
+ *Em_App_bufp++ = (v32 >> 8) & 0xFF;
+ *Em_App_bufp++ = (v32 >> 16) & 0xFF;
+ *Em_App_bufp++ = (v32 >> 24) & 0xFF;
+ break;
+ }
+ }
+ Em_App_valp += 1;
+ }
+}
+
+void Em_App_marshallToVal() {
+ char ch;
+ while ((ch = *Em_App_desc++)) {
+ switch (ch) {
+ case '0' : {
+ *Em_App_valp = 0;
+ Em_App_bufp += 1;
+ break;
+ }
+ case '1' : {
+ *Em_App_valp = *Em_App_bufp++ & 0xFF;
+ break;
+ }
+ case '2' : {
+ uint16_t v16 = *Em_App_bufp++ & 0xFF;
+ v16 |= (*Em_App_bufp++ << 8);
+ *(uint16_t*)Em_App_valp = v16;
+ break;
+ }
+ case '4' : {
+ if (((uint32_t)Em_App_valp & 0x1)) Em_App_valp++;
+ uint32_t v32 = (uint32_t)*Em_App_bufp++ & 0xFF;
+ v32 |= ((uint32_t)*Em_App_bufp++ << 8);
+ v32 |= ((uint32_t)*Em_App_bufp++ << 16);
+ v32 |= ((uint32_t)*Em_App_bufp++ << 24);
+ *(uint32_t*)Em_App_valp++ = v32;
+ break;
+ }
+ }
+ Em_App_valp += 1;
+ }
+}
+
+void Em_App_PAIRINGOFF(void(*handler)(void)) {
+ Em_App_PAIRINGON(0, handler);
+}
+
+void Em_App_PAIRINGON(uint8_t secs, void(*handler)(void)) {
+ if (Em_App_state != Em_App_DISCONNECTED) {
+ return;
+ }
+ Em_App_pdHdlr = handler;
+ Em_App_ind.sot = 0;
+ Em_App_ind.hdr.kind = Em_Message_PAIRING;
+ Em_App_ind.hdr.size = sizeof (Em_Message_Header);
+ Em_App_ind.hdr.resId = secs;
+ Em_App_startIndSend();
+}
+
+void Em_App_RESET(void) {
+ Em_Hal_reset();
+ _Em_Message_rxBuf = _Em_Message_txBuf = 0;
+ _Em_Message_rxCnt = _Em_Message_txCnt = 0;
+ Em_App_recvIdx = Em_App_recvSize = Em_App_xmitIdx = Em_App_xmitSize = 0;
+ Em_App_state = Em_App_IDLE;
+ Em_App_fileIndex = 0;
+ Em_App_xmitMask = 0;
+}
+
+void Em_App_SETDEVICENAME(const char* name) {
+ Em_App_devName = name;
+}
+
+void Em_App_START(void) {
+ Em_App_RESET();
+ Em_App_state = Em_App_STARTING;
+}
+
+void Em_App_sendResponse(Em_Message_Kind kind, Em_Message_Size size) {
+ if (Em_App_state != Em_App_IDLE) {
+ Em_App_msg.sot = 0;
+ Em_App_msg.hdr.kind = kind;
+ Em_App_msg.hdr.size = size + sizeof (Em_Message_Header);
+ if (Em_App_xmitReady(0)) {
+ Em_App_startResSend();
+ }
+ }
+}
+
+void Em_App_startIndSend(void) {
+ Em_App_outBuf = (uint8_t*)&Em_App_ind.sot;
+ Em_App_xmitSize = Em_App_ind.hdr.size + 1;
+ Em_App_xmitIdx = 0;
+ Em_Hal_startSend();
+}
+
+void Em_App_startResSend(void) {
+ Em_App_outBuf = (uint8_t*)&Em_App_msg.sot;
+ Em_App_xmitSize = Em_App_msg.hdr.size + 1;
+ Em_App_xmitIdx = 0;
+ Em_Hal_startSend();
+}
+
+void Em_App_sysFetchDispatch(void) {
+ uint8_t size = 0;
+ int i, j;
+ switch (Em_App_msg.hdr.resId) {
+ case Em_Message_SYS_SCHEMA_HASH:
+ for (i = 0; i < sizeof (Em_App_hash); i++) {
+ Em_App_msg.data[i] = Em_App_hash[i];
+ }
+ Em_App_msg.data[sizeof (Em_App_hash)] = *((uint8_t*)&Em_App_endian);
+ size = sizeof (Em_App_hash) + 1;
+ break;
+ case Em_Message_SYS_MCM_NAME:
+ if (Em_App_devName) {
+ for (i = 0; i < Em_App_DEVNAME_LEN; i++) {
+ if ((Em_App_msg.data[i] = Em_App_devName[i]) == 0) {
+ break;
+ }
+ }
+ for (j = i; j < Em_App_DEVNAME_LEN; j++) {
+ Em_App_msg.data[j] = 0;
+ }
+ size = Em_App_DEVNAME_LEN;
+ }
+ break;
+ case Em_Message_SYS_EAP_PROTOCOL_LEVEL:
+ *((Em_Message_protocolLevel_t*)Em_App_msg.data) = Em_Message_protocolLevel;
+ size = sizeof (Em_Message_protocolLevel_t);
+ break;
+ case Em_Message_SYS_EAP_BUILD_DATE:
+ for (i = 0; i < sizeof (Em_App_build); i++) {
+ Em_App_msg.data[i] = Em_App_build[i];
+ }
+ size = sizeof (Em_App_build);
+ break;
+ case Em_Message_SYS_RESOURCE_COUNT:
+ Em_App_msg.data[0] = Em_App_APP_RESOURCE_COUNT;
+ Em_App_msg.data[1] = Em_App_SYS_RESOURCE_COUNT;
+ size = 2;
+ break;
+ }
+ Em_App_sendResponse(Em_Message_FETCH_DONE, size);
+}
+
+void Em_App_sysStoreDispatch(void) {
+ switch (Em_App_msg.hdr.resId) {
+ case Em_Message_SYS_FILE_INDEX_RESET:
+ Em_App_fileIndex = 0;
+ break;
+ }
+ Em_App_sendResponse(Em_Message_STORE_DONE, 0);
+}
+
+bool Em_App_xmitReady(Em_Message_ResId indId) {
+ uint8_t key = Em_Hal_lock();
+ bool res = _Em_Message_txBuf == 0 && Em_App_xmitMask == 0;
+ if (!res) {
+ Em_App_xmitMask |= (1 << indId);
+ }
+ Em_Hal_unlock(key);
+ return res;
+}
+
+/* END common code */
+
+void Em_App_fetchDispatch(void) {
+ uint8_t size = 0;
+ switch (Em_App_msg.hdr.resId) {
+ case 0: {
+ break;
+ }
+ case 1: {
+#ifdef Em_16BIT
+ FirstApp_data_t val;
+ Em_App_valp = (uint8_t*)&val;
+ Em_App_bufp = Em_App_msg.data;
+ Em_App_desc = "2";
+ FirstApp_data_fetch(&val);
+ Em_App_marshallToBuf();
+#else
+ FirstApp_data_fetch((void*)Em_App_msg.data);
+#endif
+ size = 2;
+ break;
+ }
+ }
+ Em_App_sendResponse(Em_Message_FETCH_DONE, size);
+}
+
+void Em_App_storeDispatch(void) {
+ switch (Em_App_msg.hdr.resId) {
+ case 0: {
+ break;
+ }
+ case 1: {
+#ifdef Em_16BIT
+ FirstApp_data_t val;
+ Em_App_valp = (uint8_t*)&val;
+ Em_App_bufp = Em_App_msg.data;
+ Em_App_desc = "2";
+ Em_App_marshallToVal();
+ FirstApp_data_store(&val);
+#else
+ FirstApp_data_store((void*)Em_App_msg.data);
+#endif
+ break;
+ }
+ }
+ Em_App_sendResponse(Em_Message_STORE_DONE, 0);
+}
+
+void Em_App_sendIndicator(Em_Message_ResId indId) {
+ /* no active resources */
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/FirstApp-MSP-EXP430G2/Em/FirstApp.h b/FirstApp-MSP-EXP430G2/Em/FirstApp.h
new file mode 100644
index 0000000..4784efa
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Em/FirstApp.h
@@ -0,0 +1,44 @@
+/**** DO NOT EDIT -- this file has been automatically generated from @emmoco.com.FirstApp on 2014-07-30T13:03:45T ****/
+/**** protocolLevel = 13, toolsVersion = 13.4.1.201311121909 ****/
+
+#ifndef FirstApp__H
+#define FirstApp__H
+
+#include "Em_Types.h"
+#include "Em_Message.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -------- connection callback functions implemented by the application -------- */
+
+void FirstApp_connectHandler(void);
+void FirstApp_disconnectHandler(void);
+
+/* -------- resource types defined in the schema -------- */
+
+/* -------- resource callback functions implemented by the application -------- */
+
+/* resource data */
+typedef int16_t FirstApp_data_t;
+extern void FirstApp_data_fetch(FirstApp_data_t* output);
+extern void FirstApp_data_store(FirstApp_data_t* input);
+
+/* -------- application functions implemented in FirstApp.c -------- */
+
+void FirstApp_accept(bool enable);
+void FirstApp_activateParameters(uint8_t group);
+void FirstApp_broadcastOff(void);
+void FirstApp_disconnect(void);
+void FirstApp_pairingOn(uint8_t secs, void(*handler)(void));
+void FirstApp_pairingOff(void(*handler)(void));
+void FirstApp_reset(void);
+void FirstApp_setDeviceName(const char* name);
+void FirstApp_start(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* FirstApp__H */
diff --git a/FirstApp-MSP-EXP430G2/Em/firstapp.json b/FirstApp-MSP-EXP430G2/Em/firstapp.json
new file mode 100644
index 0000000..a733a6a
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Em/firstapp.json
@@ -0,0 +1,204 @@
+{
+ "resources": {
+ "$schemaHash": {
+ "dim": 20,
+ "id": -6,
+ "align": 1,
+ "attributes": {"readonly": true},
+ "type": "A20:u1",
+ "access": "r",
+ "size": 20
+ },
+ "$eapProtocolLevel": {
+ "id": -3,
+ "align": 2,
+ "attributes": {"readonly": true},
+ "type": "u2",
+ "access": "r",
+ "size": 2
+ },
+ "$mcmProtocolLevel": {
+ "id": -2,
+ "align": 2,
+ "attributes": {"readonly": true},
+ "type": "u2",
+ "access": "r",
+ "size": 2
+ },
+ "$mobileRssi": {
+ "id": -8,
+ "align": 1,
+ "attributes": {"readonly": true},
+ "type": "i1",
+ "access": "r",
+ "size": 1
+ },
+ "data": {
+ "id": 1,
+ "align": 2,
+ "attributes": {},
+ "type": "i2",
+ "access": "rw",
+ "size": 2
+ },
+ "$activeGroup": {
+ "id": -10,
+ "align": 1,
+ "pack": 1,
+ "attributes": {"readwrite": true},
+ "type": "E:system@emmoco.com.System/ParameterGroup",
+ "access": "rw",
+ "size": 1
+ },
+ "$mcmDisconnect": {
+ "id": -9,
+ "align": 1,
+ "attributes": {"writeonly": true},
+ "type": "u1",
+ "access": "w",
+ "size": 1
+ },
+ "$eapBuildDate": {
+ "dim": 8,
+ "id": -4,
+ "align": 1,
+ "attributes": {"readonly": true},
+ "type": "A8:u1",
+ "access": "r",
+ "size": 8
+ },
+ "$resourceCount": {
+ "id": -7,
+ "align": 1,
+ "attributes": {"readonly": true},
+ "type": "S:system@emmoco.com.System/ResourceCount",
+ "access": "r",
+ "size": 2
+ },
+ "$fileIndexReset": {
+ "id": -5,
+ "align": 2,
+ "attributes": {"writeonly": true},
+ "type": "i2",
+ "access": "w",
+ "size": 2
+ }
+ },
+ "resourceNamesSys": [
+ "$activeGroup",
+ "$eapBuildDate",
+ "$eapProtocolLevel",
+ "$fileIndexReset",
+ "$mcmDisconnect",
+ "$mcmProtocolLevel",
+ "$mobileRssi",
+ "$resourceCount",
+ "$schemaHash"
+ ],
+ "manifest": {
+ "protocolLevel": 13,
+ "hash": [
+ 124,
+ 222,
+ 24,
+ 201,
+ 135,
+ 244,
+ 35,
+ 197,
+ 14,
+ 170,
+ 21,
+ 17,
+ 84,
+ 224,
+ 220,
+ 189
+ ],
+ "toolVersion": "13.4.1.201311121909",
+ "name": "FirstApp",
+ "$$md5": "7cde18c987f423c50eaa151154e0dcbd",
+ "build": [
+ 179,
+ 173,
+ 240,
+ 134,
+ 71,
+ 1,
+ 0,
+ 0
+ ],
+ "date": "2014-07-30T13:03:45T",
+ "maxAlign": 2,
+ "maxSize": 20,
+ "version": "1.0.0"
+ },
+ "resourceNames": [
+ "data",
+ "$mcmProtocolLevel",
+ "$eapProtocolLevel",
+ "$eapBuildDate",
+ "$fileIndexReset",
+ "$schemaHash",
+ "$resourceCount",
+ "$mobileRssi",
+ "$mcmDisconnect",
+ "$activeGroup"
+ ],
+ "attributes": {
+ "description": "My first app",
+ "version": "1.0.0"
+ },
+ "resourceNamesApp": ["data"],
+ "types": {
+ "system@emmoco.com.System/ResourceCount": {
+ "packed": false,
+ "align": 1,
+ "type": "S:system@emmoco.com.System/ResourceCount",
+ "size": 2,
+ "fields": [
+ {
+ "pad": 0,
+ "align": 1,
+ "name": "app",
+ "type": "u1",
+ "size": 1
+ },
+ {
+ "pad": 0,
+ "align": 1,
+ "name": "sys",
+ "type": "u1",
+ "size": 1
+ }
+ ]
+ },
+ "std:i2": {
+ "align": 2,
+ "size": 2
+ },
+ "std:i1": {
+ "align": 1,
+ "size": 1
+ },
+ "std:u1": {
+ "align": 1,
+ "size": 1
+ },
+ "system@emmoco.com.System/ParameterGroup": {
+ "values": [
+ "GROUP_A",
+ "GROUP_B"
+ ],
+ "align": 1,
+ "pack": 1,
+ "type": "E:system@emmoco.com.System/ParameterGroup",
+ "size": 1
+ },
+ "std:u2": {
+ "align": 2,
+ "size": 2
+ }
+ },
+ "imports": {"@emmoco.com.FirstApp": true}
+}
\ No newline at end of file
diff --git a/FirstApp-MSP-EXP430G2/FirstApp-Prog.c b/FirstApp-MSP-EXP430G2/FirstApp-Prog.c
new file mode 100644
index 0000000..aa59d3c
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/FirstApp-Prog.c
@@ -0,0 +1,28 @@
+#include "FirstApp.h"
+#include "Hal.h"
+
+static FirstApp_data_t dataVal = -40;
+
+void main() {
+ Hal_init();
+ FirstApp_start();
+ Hal_idleLoop();
+}
+
+/* -------- SCHEMA CALLBACKS -------- */
+
+void FirstApp_connectHandler(void) {
+ Hal_connected();
+}
+
+void FirstApp_disconnectHandler(void) {
+ Hal_disconnected();
+}
+
+void FirstApp_data_fetch(FirstApp_data_t* output) {
+ *output = dataVal;
+}
+
+void FirstApp_data_store(FirstApp_data_t* input) {
+ dataVal = *input;
+}
diff --git a/FirstApp-MSP-EXP430G2/FirstApp.ems b/FirstApp-MSP-EXP430G2/FirstApp.ems
new file mode 100644
index 0000000..a0d8017
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/FirstApp.ems
@@ -0,0 +1,8 @@
+version = "1.0.0";
+description = "My first app";
+
+schema FirstApp {
+
+ int16 data;
+
+};
diff --git a/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.hex b/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.hex
new file mode 100644
index 0000000..d6ef15b
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.hex
@@ -0,0 +1,115 @@
+:10C000005542200135D0085A82455A023140000479
+:10C010003F4004000F93082492425A0220012F83CC
+:10C020009F4FBCC60002F8233F4056000F930724E1
+:10C0300092425A0220011F83CF430402F923B01217
+:10C0400050C3B012A8C0B01220C432D0F000FD3FDF
+:10C05000304074C6B01242C33041B01248C33041C0
+:10C060009F42000200003041A24F00023041B01256
+:10C070006AC48243080282430C02C2430602C243DE
+:10C080000A02C2432502C2435602C2433402C243DB
+:10C090002402C243180282431402824316028243DE
+:10C0A0001002824312023041B0126EC0D243180215
+:10C0B0003041B012A8C03041B24039020E025F4296
+:10C0C0003A025F53C24F2502C2435602B012C0C4A7
+:10C0D00030410B12B01260C44B4F1E4210021F427F
+:10C0E00012020E9302200F9311240C4E0D4F1CF3DD
+:10C0F0000DF30C9310240C4E0D4F3CF0FEFF3DF35E
+:10C10000824C1002824D1202B012B8C04F4BB012D6
+:10C11000F2C43B4130410D93EE23F83F0B120A125B
+:10C1200009120812484FB01260C4494F1A42100257
+:10C130001B4212028293080224241E434F487FF0C0
+:10C140000F0018200C4E8E108E118E108E110D4E79
+:10C150000E4A0F4B0EDC0FDD824E1002824F120290
+:10C160004A434F49B012F2C44F4A384139413A412B
+:10C170003B4130410E5E7F53E5270E5E7F53FA232D
+:10C18000E13F0A93DA230B93D8235A43EA3FC29341
+:10C19000180201203041C2433902C24F3B026E52A5
+:10C1A000C24E3A024F43B0121CC14F93F327B01254
+:10C1B000B8C03041F290FBFF3C02042082431402DD
+:10C1C000824316024E436F42B0128EC130415F422D
+:10C1D0003C027F500B007F90090005284E436F43BF
+:10C1E000B0128EC130414F4F0F5F104F76C61C42C8
+:10C1F00004020C93F3273F403E020E430D4C0D5EAC
+:10C200006D4DCF4D00004D9340241E531F533E9063
+:10C210000900F4234E4E6F43B0128EC13041D24319
+:10C220003E02F24009003F026E436F43B0128EC1DE
+:10C2300030413F40A8C63E403E02FE4F00001E5324
+:10C240003F90BBC6FA23D2429EC651027E401400E4
+:10C250006F43B0128EC130413F40A0C63E403E0207
+:10C26000FE4F00001E533F90A8C6FA237E426F4344
+:10C27000B0128EC13041F2400D003E02C2433F0277
+:10C280006E436F43B0128EC130413E523E50360273
+:10C29000CE4300001E533E904702FA237E40090021
+:10C2A0006F43B0128EC13041D2933C0205244E43FD
+:10C2B0006F43B0128EC130413F403E02B01260C0A9
+:10C2C0006E436F43B0128EC13041D2933C020420C2
+:10C2D0003F403E02B01268C04E436F42B0128EC162
+:10C2E0003041C29318020424F2900B003B02012853
+:10C2F00030415F423B020F5F104F88C61F4252021F
+:10C300000F93F6278F123041E2431802B0125AC041
+:10C310003041F24003001802B01254C03041C293C1
+:10C320003C020938B012CAC23041C2933C020638FE
+:10C33000B012A8C23041B012B4C13041B012CEC167
+:10C340003041D2D321003041F2F0FEFF21003041D4
+:10C35000B240805A2001C24358005F42FF107F93D1
+:10C360000824C2435600D242FF105700D242FE10AA
+:10C370005600F2D080FF5700F24024005300F2D064
+:10C3800040002200F2F0BFFF2100D2D32200F2F0E1
+:10C39000FEFF2100F2D22A00F2F0F7FF2900F2D0CE
+:10C3A00010002A00F2F0EFFF2900F2D22900F2F08B
+:10C3B000F7FF2900B240200180011F4290013F5049
+:10C3C000B80B824F9401B24010008401D2D36100B7
+:10C3D000E2D32600E2D34100E2D22600E2D24100BD
+:10C3E000D2D32A00D2D32900F2F0FDFF2A00E2D3F3
+:10C3F0002C00F2F0FDFF2B00E2D32D00F2F0FEFF47
+:10C400002900F24081FF6100F2400C006400F2421A
+:10C410006200F2F0FEFF6100B240E2C22002304151
+:10C420000B120A12091232D232C2034319421A0203
+:10C4300082431A020993032032D0D800F53F32D24A
+:10C440003A401C021B430F4B0FF904242F4A0F9351
+:10C4500001248F120B5B2A533A902202F423E43F0B
+:10C460000F4232C203437FF230410D427DF232C2AD
+:10C470000343F2F0FEFF29003E4064003F404C01C0
+:10C480001F83FE23034303433E53F823D2D32900E3
+:10C490003E40F4013F404C011F83FE23034303430E
+:10C4A0003E53F823F2F0FEFF0300F2F0FDFF03001D
+:10C4B000F2F0FDFF2B00D2D301004F4D02DF3041DF
+:10C4C0001F420E021F53824F0802C243060282938C
+:10C4D0000C020324C243670030411F4290013F50C9
+:10C4E000B80B824F9401B24010008401C243670030
+:10C4F00030414F4F02DF30410F120E120E4232C256
+:10C50000034392D31A024F4E7FF24F4F02DFF2F0F5
+:10C51000F7FF2300F2D22500B1C0D00004003E4155
+:10C520003F4100130F120E125E42660082930C020E
+:10C530003324F2F0FEFF2900D2D32900C2930A026D
+:10C540000A204E930620B1C0D00004003E413F4176
+:10C550000013C24E0A021F420C02CF4E00001F53AE
+:10C56000824F0C025F420A027F53C24F0A02EB2342
+:10C5700082430C02829308021F240E4232C20343FC
+:10C58000A2D21A024F4E7FF24F4F02DFB1C0D0004D
+:10C5900004003E413F410013924202020C0282938A
+:10C5A0000802C7231F4290013F50B80B824F9401ED
+:10C5B000B24010008401BD3F82438401DE3F0F1270
+:10C5C0000E129252220292010E4232C20343A2D3B1
+:10C5D0001A024F4E7FF24F4F02DFB1C0D00004006D
+:10C5E0003E413F4100130F120E120D120C125F421A
+:10C5F0002B002FF317241F4208020F9310245E42D2
+:10C6000006024E9302206E4F5E537E53C24E0602C8
+:10C6100011246E4F1F53824F0802C24E6700F2F082
+:10C62000FDFF2B00B1C0D00008003C413D413E4120
+:10C630003F41001382430802C2432502B012D2C018
+:10C6400082930C02EC2382438401E93F0F120E1205
+:10C650000D120C121F421E012F93072082438401EA
+:10C66000B012B2C0B1C0D00008003C413D413E41D3
+:06C670003F41001300131E
+:10C67600EEC1DCC1DCC1DCC11EC232C2DCC158C2A3
+:10C6860076C2F0C22AC3F0C21EC3F0C2F0C212C301
+:10C6960008C3F0C2F0C2FCC20001B3ADF086470188
+:10C6A60000007CDE18C987F423C50EAA151154E0D4
+:06C6B600DCBD0D001100C7
+:04C6BC00D8FF3A0267
+:02C6C000000078
+:10FFE00050C050C0F8C4E6C550C050C050C024C571
+:10FFF00050C050C050C050C04CC6BEC550C000C05C
+:040000030000C00039
+:00000001FF
diff --git a/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.map b/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.map
new file mode 100644
index 0000000..6514ca4
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.map
@@ -0,0 +1,755 @@
+Archive member included because of file (symbol)
+
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_reset_vector__)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__watchdog_support)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__init_stack)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__low_level_init)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_copy_data)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__do_clear_bss)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (__stop_progExec__)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o) (_endless_loop__)
+/Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o (_unexpected_)
+
+Allocating common symbols
+Common symbol size file
+
+Em_App_recvIdx 0x1 Output/FirstApp.obj
+Em_App_xmitSize 0x1 Output/FirstApp.obj
+Em_App_valp 0x2 Output/FirstApp.obj
+Em_App_ind_u 0xc Output/FirstApp.obj
+Em_App_recvSize 0x1 Output/FirstApp.obj
+Em_App_msg_u 0x1c Output/FirstApp.obj
+Em_App_pdHdlr 0x2 Output/FirstApp.obj
+Em_App_bufp 0x2 Output/FirstApp.obj
+Em_App_xmitIdx 0x1 Output/FirstApp.obj
+Em_App_desc 0x2 Output/FirstApp.obj
+
+Discarded input sections
+
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ .text.crt0 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ .text 0x0000000000000000 0x0 Output/FirstApp-Prog.obj
+ .data 0x0000000000000000 0x0 Output/FirstApp-Prog.obj
+ .bss 0x0000000000000000 0x0 Output/FirstApp-Prog.obj
+ .text 0x0000000000000000 0x0 Output/FirstApp.obj
+ .data 0x0000000000000000 0x0 Output/FirstApp.obj
+ .bss 0x0000000000000000 0x0 Output/FirstApp.obj
+ .text.Em_App_marshallToBuf
+ 0x0000000000000000 0xd4 Output/FirstApp.obj
+ .text.Em_App_marshallToVal
+ 0x0000000000000000 0x11a Output/FirstApp.obj
+ .text.FirstApp_setDeviceName
+ 0x0000000000000000 0x6 Output/FirstApp.obj
+ .text.Em_App_startIndSend
+ 0x0000000000000000 0x1a Output/FirstApp.obj
+ .text.FirstApp_pairingOn
+ 0x0000000000000000 0x24 Output/FirstApp.obj
+ .text.FirstApp_pairingOff
+ 0x0000000000000000 0xa Output/FirstApp.obj
+ .text.FirstApp_disconnect
+ 0x0000000000000000 0x26 Output/FirstApp.obj
+ .text.FirstApp_broadcastOff
+ 0x0000000000000000 0x1c Output/FirstApp.obj
+ .text.FirstApp_activateParameters
+ 0x0000000000000000 0x1e Output/FirstApp.obj
+ .text.FirstApp_accept
+ 0x0000000000000000 0x20 Output/FirstApp.obj
+ .text.Em_App_sendIndicator
+ 0x0000000000000000 0x2 Output/FirstApp.obj
+ .text 0x0000000000000000 0x0 Output/Hal.obj
+ .data 0x0000000000000000 0x0 Output/Hal.obj
+ .bss 0x0000000000000000 0x0 Output/Hal.obj
+ .text.buttonHandler
+ 0x0000000000000000 0x28 Output/Hal.obj
+ .text.Hal_buttonEnable
+ 0x0000000000000000 0x3c Output/Hal.obj
+ .text.Hal_debugOn
+ 0x0000000000000000 0x18 Output/Hal.obj
+ .text.Hal_debugOff
+ 0x0000000000000000 0x1a Output/Hal.obj
+ .text.Hal_debugPulse
+ 0x0000000000000000 0x24 Output/Hal.obj
+ .text.Hal_delay
+ 0x0000000000000000 0x16 Output/Hal.obj
+ .text.Hal_ledOn
+ 0x0000000000000000 0x8 Output/Hal.obj
+ .text.Hal_ledOff
+ 0x0000000000000000 0x8 Output/Hal.obj
+ .text.Hal_ledRead
+ 0x0000000000000000 0x12 Output/Hal.obj
+ .text.Hal_ledToggle
+ 0x0000000000000000 0x8 Output/Hal.obj
+ .text.Hal_tickStart
+ 0x0000000000000000 0x24 Output/Hal.obj
+ .text.Em_Hal_watchOff
+ 0x0000000000000000 0x6 Output/Hal.obj
+ .text.Em_Hal_watchOn
+ 0x0000000000000000 0x14 Output/Hal.obj
+ .bss.appButtonHandler
+ 0x0000000000000000 0x2 Output/Hal.obj
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .text 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ .data 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ .bss 0x0000000000000000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+
+Memory Configuration
+
+Name Origin Length Attributes
+sfr 0x0000000000000000 0x0000000000000010
+peripheral_8bit 0x0000000000000010 0x00000000000000f0
+peripheral_16bit 0x0000000000000100 0x0000000000000100
+ram 0x0000000000000200 0x0000000000000200 xw
+infomem 0x0000000000001000 0x0000000000000100
+infod 0x0000000000001000 0x0000000000000040
+infoc 0x0000000000001040 0x0000000000000040
+infob 0x0000000000001080 0x0000000000000040
+infoa 0x00000000000010c0 0x0000000000000040
+rom 0x000000000000c000 0x0000000000003fe0 xr
+vectors 0x000000000000ffe0 0x0000000000000020
+bsl 0x0000000000000000 0x0000000000000000
+far_rom 0x0000000000000000 0x0000000000000000
+*default* 0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+LOAD Output/FirstApp-Prog.obj
+LOAD Output/FirstApp.obj
+LOAD Output/Hal.obj
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/../../../../msp430/lib/libc.a
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libgcc.a
+LOAD /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a
+ 0x0000000000000040 PROVIDE (__info_segment_size, 0x40)
+ 0x0000000000001000 PROVIDE (__infod, 0x1000)
+ 0x0000000000001040 PROVIDE (__infoc, 0x1040)
+ 0x0000000000001080 PROVIDE (__infob, 0x1080)
+ 0x00000000000010c0 PROVIDE (__infoa, 0x10c0)
+ 0x0000000000000000 __IE1 = 0x0
+ 0x0000000000000002 __IFG1 = 0x2
+ 0x0000000000000001 __IE2 = 0x1
+ 0x0000000000000003 __IFG2 = 0x3
+ 0x0000000000000048 __ADC10DTC0 = 0x48
+ 0x0000000000000049 __ADC10DTC1 = 0x49
+ 0x000000000000004a __ADC10AE0 = 0x4a
+ 0x00000000000001b0 __ADC10CTL0 = 0x1b0
+ 0x00000000000001b2 __ADC10CTL1 = 0x1b2
+ 0x00000000000001b4 __ADC10MEM = 0x1b4
+ 0x00000000000001bc __ADC10SA = 0x1bc
+ 0x0000000000000056 __DCOCTL = 0x56
+ 0x0000000000000057 __BCSCTL1 = 0x57
+ 0x0000000000000058 __BCSCTL2 = 0x58
+ 0x0000000000000053 __BCSCTL3 = 0x53
+ 0x0000000000000059 __CACTL1 = 0x59
+ 0x000000000000005a __CACTL2 = 0x5a
+ 0x000000000000005b __CAPD = 0x5b
+ 0x0000000000000128 __FCTL1 = 0x128
+ 0x000000000000012a __FCTL2 = 0x12a
+ 0x000000000000012c __FCTL3 = 0x12c
+ 0x0000000000000020 __P1IN = 0x20
+ 0x0000000000000021 __P1OUT = 0x21
+ 0x0000000000000022 __P1DIR = 0x22
+ 0x0000000000000023 __P1IFG = 0x23
+ 0x0000000000000024 __P1IES = 0x24
+ 0x0000000000000025 __P1IE = 0x25
+ 0x0000000000000026 __P1SEL = 0x26
+ 0x0000000000000041 __P1SEL2 = 0x41
+ 0x0000000000000027 __P1REN = 0x27
+ 0x0000000000000028 __P2IN = 0x28
+ 0x0000000000000029 __P2OUT = 0x29
+ 0x000000000000002a __P2DIR = 0x2a
+ 0x000000000000002b __P2IFG = 0x2b
+ 0x000000000000002c __P2IES = 0x2c
+ 0x000000000000002d __P2IE = 0x2d
+ 0x000000000000002e __P2SEL = 0x2e
+ 0x0000000000000042 __P2SEL2 = 0x42
+ 0x000000000000002f __P2REN = 0x2f
+ 0x0000000000000018 __P3IN = 0x18
+ 0x0000000000000019 __P3OUT = 0x19
+ 0x000000000000001a __P3DIR = 0x1a
+ 0x000000000000001b __P3SEL = 0x1b
+ 0x0000000000000043 __P3SEL2 = 0x43
+ 0x0000000000000010 __P3REN = 0x10
+ 0x000000000000012e __TA0IV = 0x12e
+ 0x0000000000000160 __TA0CTL = 0x160
+ 0x0000000000000162 __TA0CCTL0 = 0x162
+ 0x0000000000000164 __TA0CCTL1 = 0x164
+ 0x0000000000000166 __TA0CCTL2 = 0x166
+ 0x0000000000000170 __TA0R = 0x170
+ 0x0000000000000172 __TA0CCR0 = 0x172
+ 0x0000000000000174 __TA0CCR1 = 0x174
+ 0x0000000000000176 __TA0CCR2 = 0x176
+ 0x000000000000011e __TA1IV = 0x11e
+ 0x0000000000000180 __TA1CTL = 0x180
+ 0x0000000000000182 __TA1CCTL0 = 0x182
+ 0x0000000000000184 __TA1CCTL1 = 0x184
+ 0x0000000000000186 __TA1CCTL2 = 0x186
+ 0x0000000000000190 __TA1R = 0x190
+ 0x0000000000000192 __TA1CCR0 = 0x192
+ 0x0000000000000194 __TA1CCR1 = 0x194
+ 0x0000000000000196 __TA1CCR2 = 0x196
+ 0x0000000000000060 __UCA0CTL0 = 0x60
+ 0x0000000000000061 __UCA0CTL1 = 0x61
+ 0x0000000000000062 __UCA0BR0 = 0x62
+ 0x0000000000000063 __UCA0BR1 = 0x63
+ 0x0000000000000064 __UCA0MCTL = 0x64
+ 0x0000000000000065 __UCA0STAT = 0x65
+ 0x0000000000000066 __UCA0RXBUF = 0x66
+ 0x0000000000000067 __UCA0TXBUF = 0x67
+ 0x000000000000005d __UCA0ABCTL = 0x5d
+ 0x000000000000005e __UCA0IRTCTL = 0x5e
+ 0x000000000000005f __UCA0IRRCTL = 0x5f
+ 0x0000000000000068 __UCB0CTL0 = 0x68
+ 0x0000000000000069 __UCB0CTL1 = 0x69
+ 0x000000000000006a __UCB0BR0 = 0x6a
+ 0x000000000000006b __UCB0BR1 = 0x6b
+ 0x000000000000006c __UCB0I2CIE = 0x6c
+ 0x000000000000006d __UCB0STAT = 0x6d
+ 0x000000000000006e __UCB0RXBUF = 0x6e
+ 0x000000000000006f __UCB0TXBUF = 0x6f
+ 0x0000000000000118 __UCB0I2COA = 0x118
+ 0x000000000000011a __UCB0I2CSA = 0x11a
+ 0x0000000000000120 __WDTCTL = 0x120
+ 0x00000000000010f8 __CALDCO_16MHZ = 0x10f8
+ 0x00000000000010f9 __CALBC1_16MHZ = 0x10f9
+ 0x00000000000010fa __CALDCO_12MHZ = 0x10fa
+ 0x00000000000010fb __CALBC1_12MHZ = 0x10fb
+ 0x00000000000010fc __CALDCO_8MHZ = 0x10fc
+ 0x00000000000010fd __CALBC1_8MHZ = 0x10fd
+ 0x00000000000010fe __CALDCO_1MHZ = 0x10fe
+ 0x00000000000010ff __CALBC1_1MHZ = 0x10ff
+
+.hash
+ *(.hash)
+
+.dynsym
+ *(.dynsym)
+
+.dynstr
+ *(.dynstr)
+
+.gnu.version
+ *(.gnu.version)
+
+.gnu.version_d
+ *(.gnu.version_d)
+
+.gnu.version_r
+ *(.gnu.version_r)
+
+.rel.init
+ *(.rel.init)
+
+.rela.init
+ *(.rela.init)
+
+.rel.fini
+ *(.rel.fini)
+
+.rela.fini
+ *(.rela.fini)
+
+.rel.text
+ *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
+
+.rela.text
+ *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
+
+.rel.rodata
+ *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
+
+.rela.rodata
+ *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
+
+.rel.data
+ *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
+
+.rela.data
+ *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
+
+.rel.bss
+ *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
+
+.rela.bss
+ *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
+
+.rel.ctors
+ *(.rel.ctors)
+
+.rela.ctors
+ *(.rela.ctors)
+
+.rel.dtors
+ *(.rel.dtors)
+
+.rela.dtors
+ *(.rela.dtors)
+
+.rel.got
+ *(.rel.got)
+
+.rela.got
+ *(.rela.got)
+
+.rel.plt
+ *(.rel.plt)
+
+.rela.plt
+ *(.rela.plt)
+
+.text 0x000000000000c000 0x676
+ 0x000000000000c000 . = ALIGN (0x2)
+ *(.init .init.*)
+ *(.init0)
+ .init0 0x000000000000c000 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_reset_vector__.o)
+ 0x000000000000c000 _reset_vector__
+ *(.init1)
+ .init1 0x000000000000c000 0xc /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ 0x000000000000c000 __watchdog_support
+ *(.init2)
+ .init2 0x000000000000c00c 0x4 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ 0x000000000000c00c __init_stack
+ *(.init3)
+ .init3 0x000000000000c010 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__low_level_init.o)
+ 0x000000000000c010 __low_level_init
+ *(.init4)
+ .init4 0x000000000000c010 0x18 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ 0x000000000000c010 __do_copy_data
+ .init4 0x000000000000c028 0x16 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ 0x000000000000c028 __do_clear_bss
+ *(.init5)
+ *(.init6)
+ *(.init7)
+ *(.init8)
+ *(.init9)
+ .init9 0x000000000000c03e 0xc Output/FirstApp-Prog.obj
+ 0x000000000000c03e main
+ *(.fini9)
+ .fini9 0x000000000000c04a 0x0 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__stop_progExec__.o)
+ 0x000000000000c04a __stop_progExec__
+ *(.fini8)
+ *(.fini7)
+ *(.fini6)
+ *(.fini5)
+ *(.fini4)
+ *(.fini3)
+ *(.fini2)
+ *(.fini1)
+ *(.fini0)
+ .fini0 0x000000000000c04a 0x6 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ 0x000000000000c04a _endless_loop__
+ *(.fini .fini.*)
+ 0x000000000000c050 . = ALIGN (0x2)
+ 0x000000000000c050 __ctors_start = .
+ *(.ctors)
+ 0x000000000000c050 __ctors_end = .
+ 0x000000000000c050 __dtors_start = .
+ *(.dtors)
+ 0x000000000000c050 __dtors_end = .
+ 0x000000000000c050 . = ALIGN (0x2)
+ *(.text .text.* .gnu.linkonce.t.*)
+ .text 0x000000000000c050 0x4 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ 0x000000000000c050 __isr_1
+ 0x000000000000c050 __isr_4
+ 0x000000000000c050 __isr_11
+ 0x000000000000c050 __isr_5
+ 0x000000000000c050 __isr_10
+ 0x000000000000c050 __isr_0
+ 0x000000000000c050 __isr_8
+ 0x000000000000c050 __isr_9
+ 0x000000000000c050 __isr_6
+ 0x000000000000c050 __isr_14
+ .text.FirstApp_connectHandler
+ 0x000000000000c054 0x6 Output/FirstApp-Prog.obj
+ 0x000000000000c054 FirstApp_connectHandler
+ .text.FirstApp_disconnectHandler
+ 0x000000000000c05a 0x6 Output/FirstApp-Prog.obj
+ 0x000000000000c05a FirstApp_disconnectHandler
+ .text.FirstApp_data_fetch
+ 0x000000000000c060 0x8 Output/FirstApp-Prog.obj
+ 0x000000000000c060 FirstApp_data_fetch
+ .text.FirstApp_data_store
+ 0x000000000000c068 0x6 Output/FirstApp-Prog.obj
+ 0x000000000000c068 FirstApp_data_store
+ .text.FirstApp_reset
+ 0x000000000000c06e 0x3a Output/FirstApp.obj
+ 0x000000000000c06e FirstApp_reset
+ .text.FirstApp_start
+ 0x000000000000c0a8 0xa Output/FirstApp.obj
+ 0x000000000000c0a8 FirstApp_start
+ .text.Em_Message_restart
+ 0x000000000000c0b2 0x6 Output/FirstApp.obj
+ 0x000000000000c0b2 Em_Message_restart
+ .text.Em_App_startResSend
+ 0x000000000000c0b8 0x1a Output/FirstApp.obj
+ 0x000000000000c0b8 Em_App_startResSend
+ .text.Em_Message_nextXmit
+ 0x000000000000c0d2 0x4a Output/FirstApp.obj
+ 0x000000000000c0d2 Em_Message_nextXmit
+ .text.Em_App_xmitReady
+ 0x000000000000c11c 0x72 Output/FirstApp.obj
+ 0x000000000000c11c Em_App_xmitReady
+ .text.Em_App_sendResponse
+ 0x000000000000c18e 0x26 Output/FirstApp.obj
+ 0x000000000000c18e Em_App_sendResponse
+ .text.Em_App_sysStoreDispatch
+ 0x000000000000c1b4 0x1a Output/FirstApp.obj
+ 0x000000000000c1b4 Em_App_sysStoreDispatch
+ .text.Em_App_sysFetchDispatch
+ 0x000000000000c1ce 0xda Output/FirstApp.obj
+ 0x000000000000c1ce Em_App_sysFetchDispatch
+ .text.Em_App_fetchDispatch
+ 0x000000000000c2a8 0x22 Output/FirstApp.obj
+ 0x000000000000c2a8 Em_App_fetchDispatch
+ .text.Em_App_storeDispatch
+ 0x000000000000c2ca 0x18 Output/FirstApp.obj
+ 0x000000000000c2ca Em_App_storeDispatch
+ .text.Em_Message_dispatch
+ 0x000000000000c2e2 0x60 Output/FirstApp.obj
+ 0x000000000000c2e2 Em_Message_dispatch
+ .text.Hal_connected
+ 0x000000000000c342 0x6 Output/Hal.obj
+ 0x000000000000c342 Hal_connected
+ .text.Hal_disconnected
+ 0x000000000000c348 0x8 Output/Hal.obj
+ 0x000000000000c348 Hal_disconnected
+ .text.Hal_init
+ 0x000000000000c350 0xd0 Output/Hal.obj
+ 0x000000000000c350 Hal_init
+ .text.Hal_idleLoop
+ 0x000000000000c420 0x40 Output/Hal.obj
+ 0x000000000000c420 Hal_idleLoop
+ .text.Em_Hal_lock
+ 0x000000000000c460 0xa Output/Hal.obj
+ 0x000000000000c460 Em_Hal_lock
+ .text.Em_Hal_reset
+ 0x000000000000c46a 0x56 Output/Hal.obj
+ 0x000000000000c46a Em_Hal_reset
+ .text.Em_Hal_startSend
+ 0x000000000000c4c0 0x32 Output/Hal.obj
+ 0x000000000000c4c0 Em_Hal_startSend
+ .text.Em_Hal_unlock
+ 0x000000000000c4f2 0x6 Output/Hal.obj
+ 0x000000000000c4f2 Em_Hal_unlock
+ .text.buttonIsr
+ 0x000000000000c4f8 0x2c Output/Hal.obj
+ 0x000000000000c4f8 __isr_2
+ 0x000000000000c4f8 buttonIsr
+ .text.rxIsr 0x000000000000c524 0x9a Output/Hal.obj
+ 0x000000000000c524 rxIsr
+ 0x000000000000c524 __isr_7
+ .text.timerIsr
+ 0x000000000000c5be 0x28 Output/Hal.obj
+ 0x000000000000c5be timerIsr
+ 0x000000000000c5be __isr_13
+ .text.txAckIsr
+ 0x000000000000c5e6 0x66 Output/Hal.obj
+ 0x000000000000c5e6 txAckIsr
+ 0x000000000000c5e6 __isr_3
+ .text.uartWatchdogIsr
+ 0x000000000000c64c 0x28 Output/Hal.obj
+ 0x000000000000c64c uartWatchdogIsr
+ 0x000000000000c64c __isr_12
+ .text.crt0 0x000000000000c674 0x2 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ 0x000000000000c674 _unexpected_
+ 0x000000000000c676 . = ALIGN (0x2)
+
+.rodata 0x000000000000c676 0x46
+ 0x000000000000c676 . = ALIGN (0x2)
+ *(.rodata .rodata.* .gnu.linkonce.r.*)
+ .rodata.Em_App_sysFetchDispatch
+ 0x000000000000c676 0x12 Output/FirstApp.obj
+ .rodata.Em_Message_dispatch
+ 0x000000000000c688 0x16 Output/FirstApp.obj
+ .rodata.Em_App_endian
+ 0x000000000000c69e 0x2 Output/FirstApp.obj
+ 0x000000000000c69e Em_App_endian
+ .rodata.Em_App_build
+ 0x000000000000c6a0 0x8 Output/FirstApp.obj
+ 0x000000000000c6a0 Em_App_build
+ .rodata.Em_App_hash
+ 0x000000000000c6a8 0x13 Output/FirstApp.obj
+ 0x000000000000c6a8 Em_App_hash
+ 0x000000000000c6bc . = ALIGN (0x2)
+ *fill* 0x000000000000c6bb 0x1 00
+ 0x000000000000c6bc _etext = .
+
+.data 0x0000000000000200 0x4 load address 0x000000000000c6bc
+ 0x0000000000000200 . = ALIGN (0x2)
+ 0x0000000000000200 PROVIDE (__data_start, .)
+ *(.data .data.* .gnu.linkonce.d.*)
+ .data.dataVal 0x0000000000000200 0x2 Output/FirstApp-Prog.obj
+ .data.Em_App_inBuf
+ 0x0000000000000202 0x2 Output/FirstApp.obj
+ 0x0000000000000202 Em_App_inBuf
+ 0x0000000000000204 . = ALIGN (0x2)
+ 0x0000000000000204 _edata = .
+ 0x000000000000c6bc PROVIDE (__data_load_start, LOADADDR (.data))
+ 0x0000000000000004 PROVIDE (__data_size, SIZEOF (.data))
+
+.bss 0x0000000000000204 0x56 load address 0x000000000000c6c0
+ 0x0000000000000204 PROVIDE (__bss_start, .)
+ *(.bss .bss.*)
+ .bss.Em_App_devName
+ 0x0000000000000204 0x2 Output/FirstApp.obj
+ 0x0000000000000204 Em_App_devName
+ .bss._Em_Message_txCnt
+ 0x0000000000000206 0x1 Output/FirstApp.obj
+ 0x0000000000000206 _Em_Message_txCnt
+ *fill* 0x0000000000000207 0x1 00
+ .bss._Em_Message_txBuf
+ 0x0000000000000208 0x2 Output/FirstApp.obj
+ 0x0000000000000208 _Em_Message_txBuf
+ .bss._Em_Message_rxCnt
+ 0x000000000000020a 0x1 Output/FirstApp.obj
+ 0x000000000000020a _Em_Message_rxCnt
+ *fill* 0x000000000000020b 0x1 00
+ .bss._Em_Message_rxBuf
+ 0x000000000000020c 0x2 Output/FirstApp.obj
+ 0x000000000000020c _Em_Message_rxBuf
+ .bss.Em_App_outBuf
+ 0x000000000000020e 0x2 Output/FirstApp.obj
+ 0x000000000000020e Em_App_outBuf
+ .bss.Em_App_xmitMask
+ 0x0000000000000210 0x4 Output/FirstApp.obj
+ 0x0000000000000210 Em_App_xmitMask
+ .bss.Em_App_fileIndex
+ 0x0000000000000214 0x4 Output/FirstApp.obj
+ 0x0000000000000214 Em_App_fileIndex
+ .bss.Em_App_state
+ 0x0000000000000218 0x1 Output/FirstApp.obj
+ 0x0000000000000218 Em_App_state
+ *fill* 0x0000000000000219 0x1 00
+ .bss.handlerEvents
+ 0x000000000000021a 0x2 Output/Hal.obj
+ .bss.handlerTab
+ 0x000000000000021c 0x6 Output/Hal.obj
+ .bss.clockTick
+ 0x0000000000000222 0x2 Output/Hal.obj
+ *(COMMON)
+ COMMON 0x0000000000000224 0x36 Output/FirstApp.obj
+ 0x0000000000000224 Em_App_recvIdx
+ 0x0000000000000225 Em_App_xmitSize
+ 0x0000000000000226 Em_App_valp
+ 0x0000000000000228 Em_App_ind_u
+ 0x0000000000000234 Em_App_recvSize
+ 0x0000000000000236 Em_App_msg_u
+ 0x0000000000000252 Em_App_pdHdlr
+ 0x0000000000000254 Em_App_bufp
+ 0x0000000000000256 Em_App_xmitIdx
+ 0x0000000000000258 Em_App_desc
+ 0x000000000000025a . = ALIGN (0x2)
+ 0x000000000000025a PROVIDE (__bss_end, .)
+ 0x0000000000000056 PROVIDE (__bss_size, SIZEOF (.bss))
+
+.noinit 0x000000000000025a 0x2 load address 0x000000000000c6c0
+ 0x000000000000025a PROVIDE (__noinit_start, .)
+ *(.noinit .noinit.*)
+ .noinit.crt0 0x000000000000025a 0x2 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ 0x000000000000025a __wdt_clear_value
+ 0x000000000000025c . = ALIGN (0x2)
+ 0x000000000000025c PROVIDE (__noinit_end, .)
+ 0x000000000000025c . = ALIGN (0x2)
+ 0x000000000000025c _end = .
+
+.infomem 0x0000000000001000 0x0
+ *(.infomem)
+ 0x0000000000001000 . = ALIGN (0x2)
+ *(.infomem.*)
+
+.infomemnobits 0x0000000000001000 0x0
+ *(.infomemnobits)
+ 0x0000000000001000 . = ALIGN (0x2)
+ *(.infomemnobits.*)
+
+.infoa
+ *(.infoa .infoa.*)
+
+.infob
+ *(.infob .infob.*)
+
+.infoc
+ *(.infoc .infoc.*)
+
+.infod
+ *(.infod .infod.*)
+
+.vectors 0x000000000000ffe0 0x20
+ 0x000000000000ffe0 PROVIDE (__vectors_start, .)
+ *(.vectors*)
+ .vectors 0x000000000000ffe0 0x20 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/crt0ivtbl16.o
+ 0x000000000000ffe0 __ivtbl_16
+ 0x0000000000010000 _vectors_end = .
+
+.fartext 0x0000000000000000 0x0
+ 0x0000000000000000 . = ALIGN (0x2)
+ *(.fartext)
+ 0x0000000000000000 . = ALIGN (0x2)
+ *(.fartext.*)
+ 0x0000000000000000 _efartext = .
+
+.profiler
+ *(.profiler)
+
+.stab
+ *(.stab)
+
+.stabstr
+ *(.stabstr)
+
+.stab.excl
+ *(.stab.excl)
+
+.stab.exclstr
+ *(.stab.exclstr)
+
+.stab.index
+ *(.stab.index)
+
+.stab.indexstr
+ *(.stab.indexstr)
+
+.comment
+ *(.comment)
+
+.debug
+ *(.debug)
+
+.line
+ *(.line)
+
+.debug_srcinfo
+ *(.debug_srcinfo)
+
+.debug_sfnames
+ *(.debug_sfnames)
+
+.debug_aranges 0x0000000000000000 0x180
+ *(.debug_aranges)
+ .debug_aranges
+ 0x0000000000000000 0x24 Output/FirstApp-Prog.obj
+ .debug_aranges
+ 0x0000000000000024 0x6c Output/FirstApp.obj
+ .debug_aranges
+ 0x0000000000000090 0x78 Output/Hal.obj
+ .debug_aranges
+ 0x0000000000000108 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .debug_aranges
+ 0x000000000000011c 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .debug_aranges
+ 0x0000000000000130 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .debug_aranges
+ 0x0000000000000144 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .debug_aranges
+ 0x0000000000000158 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .debug_aranges
+ 0x000000000000016c 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+
+.debug_pubnames
+ *(.debug_pubnames)
+
+.debug_info 0x0000000000000000 0x1a82
+ *(.debug_info)
+ .debug_info 0x0000000000000000 0x1ce Output/FirstApp-Prog.obj
+ .debug_info 0x00000000000001ce 0x8e2 Output/FirstApp.obj
+ .debug_info 0x0000000000000ab0 0xc78 Output/Hal.obj
+ .debug_info 0x0000000000001728 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .debug_info 0x00000000000017b7 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .debug_info 0x0000000000001846 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .debug_info 0x00000000000018d5 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .debug_info 0x0000000000001964 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .debug_info 0x00000000000019f3 0x8f /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+ *(.gnu.linkonce.wi.*)
+
+.debug_abbrev 0x0000000000000000 0x6d2
+ *(.debug_abbrev)
+ .debug_abbrev 0x0000000000000000 0xb0 Output/FirstApp-Prog.obj
+ .debug_abbrev 0x00000000000000b0 0x250 Output/FirstApp.obj
+ .debug_abbrev 0x0000000000000300 0x35a Output/Hal.obj
+ .debug_abbrev 0x000000000000065a 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .debug_abbrev 0x000000000000066e 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .debug_abbrev 0x0000000000000682 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .debug_abbrev 0x0000000000000696 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .debug_abbrev 0x00000000000006aa 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .debug_abbrev 0x00000000000006be 0x14 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+
+.debug_line 0x0000000000000000 0xac7
+ *(.debug_line)
+ .debug_line 0x0000000000000000 0x120 Output/FirstApp-Prog.obj
+ .debug_line 0x0000000000000120 0x34f Output/FirstApp.obj
+ .debug_line 0x000000000000046f 0x3a9 Output/Hal.obj
+ .debug_line 0x0000000000000818 0x72 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__watchdog_support.o)
+ .debug_line 0x000000000000088a 0x70 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(__init_stack.o)
+ .debug_line 0x00000000000008fa 0x76 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_copy_data.o)
+ .debug_line 0x0000000000000970 0x76 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_clear_bss.o)
+ .debug_line 0x00000000000009e6 0x71 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_endless_loop__.o)
+ .debug_line 0x0000000000000a57 0x70 /Applications/Development/Em-Builder-IDE/eclipse/emmoco/msptools/bin/../lib/gcc/msp430/4.6.1/libcrt0.a(_unexpected_.o)
+
+.debug_frame 0x0000000000000000 0x35c
+ *(.debug_frame)
+ .debug_frame 0x0000000000000000 0x4e Output/FirstApp-Prog.obj
+ .debug_frame 0x000000000000004e 0x16e Output/FirstApp.obj
+ .debug_frame 0x00000000000001bc 0x1a0 Output/Hal.obj
+
+.debug_str 0x0000000000000000 0x8d7
+ *(.debug_str)
+ .debug_str 0x0000000000000000 0x194 Output/FirstApp-Prog.obj
+ 0x1d0 (size before relaxing)
+ .debug_str 0x0000000000000194 0x3dc Output/FirstApp.obj
+ 0x521 (size before relaxing)
+ .debug_str 0x0000000000000570 0x367 Output/Hal.obj
+ 0x5a8 (size before relaxing)
+
+.debug_loc 0x0000000000000000 0x597
+ *(.debug_loc)
+ .debug_loc 0x0000000000000000 0x3b2 Output/FirstApp.obj
+ .debug_loc 0x00000000000003b2 0x1e5 Output/Hal.obj
+
+.debug_macinfo
+ *(.debug_macinfo)
+
+.debug_pubtypes
+ *(.debug_pubtypes)
+
+.debug_ranges 0x0000000000000000 0x190
+ *(.debug_ranges)
+ .debug_ranges 0x0000000000000000 0x18 Output/FirstApp-Prog.obj
+ .debug_ranges 0x0000000000000018 0x6c Output/FirstApp.obj
+ .debug_ranges 0x0000000000000084 0x10c Output/Hal.obj
+ 0x0000000000000400 PROVIDE (__stack, (ORIGIN (ram) + 0x200))
+ 0x000000000000c6bc PROVIDE (__data_start_rom, _etext)
+ 0x000000000000c6c0 PROVIDE (__data_end_rom, (_etext + SIZEOF (.data)))
+OUTPUT(Output/FirstApp-Prog.out elf32-msp430)
diff --git a/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.obj b/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.obj
new file mode 100644
index 0000000..fa49903
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.obj
diff --git a/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.out b/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.out
new file mode 100755
index 0000000..aa514f2
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Output/FirstApp-Prog.out
diff --git a/FirstApp-MSP-EXP430G2/Output/FirstApp.obj b/FirstApp-MSP-EXP430G2/Output/FirstApp.obj
new file mode 100644
index 0000000..3fc4e74
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Output/FirstApp.obj
diff --git a/FirstApp-MSP-EXP430G2/Output/Hal.obj b/FirstApp-MSP-EXP430G2/Output/Hal.obj
new file mode 100644
index 0000000..79a6af3
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Output/Hal.obj
diff --git a/FirstApp-MSP-EXP430G2/Schema-Imports/system@emmoco.com/System.ems b/FirstApp-MSP-EXP430G2/Schema-Imports/system@emmoco.com/System.ems
new file mode 100644
index 0000000..9601635
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/Schema-Imports/system@emmoco.com/System.ems
@@ -0,0 +1,72 @@
+owner = "system@emmoco.com"
+
+schema System {
+
+ // protocolLevel #13
+
+ enum ParameterGroup {
+ GROUP_A, GROUP_B
+ }
+
+ // protocolLevel #1
+
+ uint8 $schemaUuid[16] { // protocolLevel #10 -- invisible to applications
+ readonly
+ }
+
+ uint16 $mcmProtocolLevel {
+ readonly
+ }
+
+ uint16 $eapProtocolLevel {
+ readonly
+ }
+
+ uint8 $eapBuildDate[8] { // protocolLevel #5 -- rename from $eapBuildNumber
+ readonly
+ }
+
+ // protocolLevel #2
+
+ int16 $fileIndexReset {
+ writeonly
+ }
+
+ // protocolLevel #5
+
+ // protocolLevel #12 -- increase size to 20
+
+ uint8 $schemaHash[20] {
+ readonly
+ }
+
+ // protocolLevel #7
+
+ struct ResourceCount {
+ uint8 app
+ uint8 sys
+ }
+
+ ResourceCount $resourceCount {
+ readonly
+ }
+
+ // protocolLevel #9
+
+ int8 $mobileRssi {
+ readonly
+ }
+
+ // protocolLevel #11
+
+ uint8 $mcmDisconnect {
+ writeonly
+ }
+
+ // protocolLevel #13
+
+ ParameterGroup $activeGroup {
+ readwrite
+ }
+
+}
diff --git a/FirstApp-MSP-EXP430G2/bundle.properties b/FirstApp-MSP-EXP430G2/bundle.properties
new file mode 100644
index 0000000..9827e58
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/bundle.properties
@@ -0,0 +1,10 @@
+# generated file - do not edit
+
+bundle.requires = com.emmoco.schema.translator
+com.emmoco.framework.Properties.applicationDirectory = Em
+com.emmoco.framework.Properties.schemaDestinationDirectory = Em
+com.emmoco.framework.Properties.serverAPIToken =
+com.emmoco.framework.Properties.align16 = 2
+com.emmoco.framework.Properties.align32 = 4
+com.emmoco.framework.Properties.schemaFile = /Users/imanol/devel/em-builder/FirstApp-MSP-EXP430G2/FirstApp.ems
+com.emmoco.framework.Properties.toolVersion = 13.4.1.201311121909
diff --git a/FirstApp-MSP-EXP430G2/makefile b/FirstApp-MSP-EXP430G2/makefile
new file mode 100644
index 0000000..9287b7d
--- /dev/null
+++ b/FirstApp-MSP-EXP430G2/makefile
@@ -0,0 +1,4 @@
+APPNAME = FirstApp
+PLATFORM = ../Platform-MSP-EXP430G2
+
+include $(PLATFORM)/rules.mk