Is anyone successfully using multicore and running >1 thread calling into assembly on a single core? I can't get this to work on either v12 or v13 of the tools, and I'm cut down to a barebones example.
My main.xc is simple, as it just calls 2 functions on one of the cores. That should give me 2 threads:
Code: Select all
#include <platform.h>
#include <xs1.h>
#include <xclib.h>
#include "tile0.h"
int main()
{
par {
on tile[0]: tile0_thread1();
on tile[0]: tile0_thread2();
}
return 0;
}
I had to do the above because if I don't the debugger fails due to other bugs. So off we are in another file.. tile0.c... here it is:
Code: Select all
#include "tile0.h"
#include "xcore.h"
void some_asm_func();
void tile0_thread1( )
{
some_asm_func();
}
void tile0_thread2()
{
some_asm_func();
}
Code: Select all
Creating Modem_Debug.xe
../src/Modem.xc:(.text+0xe): Error: Meta information ("some_asm_func.nstackwords") for function "some_asm_func" cannot be determined.
../src/Modem.xc:(.text+0xe): Error: lower bound could not be calculated (function is recursive?).
Code: Select all
.text
.align 4
.globl some_asm_func
.type some_asm_func, @function
some_asm_func:
retsp 0x00