Using cogstart from an XMMC mem model program
sssidney
Posts: 64
hi,
Is it possible to successfully call cogstart from a XMMC program?
In case it is OK - here's my test code:
I get the following output when using XMMC mem model:
starting in cog 3cogstart -1
All is OK when using LMM:
starting in cog 0cogstart 1
I am using a C3 board.
Is it possible to successfully call cogstart from a XMMC program?
In case it is OK - here's my test code:
#include <stdio.h> #include <propeller.h> extern _Driver _SimpleSerialDriver; _Driver *_driverlist[] = { &_SimpleSerialDriver, NULL }; long dummyCogStack[128]; void dummy1(void *dum1) { while(1); } int dummyArg = 123; int main(void) { int dummyCogId; waitcnt(CLKFREQ+CNT); // pause for terminal to open printf("starting in cog %d\n", cogid()); dummyCogId = cogstart(&dummy1, &dummyArg, dummyCogStack, sizeof(dummyCogStack)); printf("cogstart %d\n", dummyCogId); while(1); return 0; }
I get the following output when using XMMC mem model:
starting in cog 3cogstart -1
All is OK when using LMM:
starting in cog 0cogstart 1
I am using a C3 board.
Comments
No. Unfortunately, the current XMM kernel and cache mechanism does not allow multiple COGs to run XMM C code at the same time. We're looking into improving this.
You can run COG C code on the other cogs in XMM mode.