我正在使用带 zephyr 堆栈的 lpcxpresso55s16 Eval Board,我刚刚创建了一个调用一个函数的线程,在该函数中我正在根据结果执行一些浮点计算我在尝试编译时递增静态变量它正在编译但在链接器阶段,它会抛出错误,如对 `__aeabi_d2iz' 的未定义引用,我正在努力解决此问题
细节 :
主板:lpcxpresso55s16
堆栈:和风 3.3.99
//File Name : abc.c
#include
#include
sta
tic struct k_thread handler_thread_data;
K_THREAD_STACK_DEFINE(handler_thread_stack,0X400);
void create_thread()
{
task_tid = k_thread_create(&handler_thread_data,handler_thread_stack,K_THREAD_STACK_SIZEOF(handler_thread_stack),handler_thread,NULL,NULL,NULL,2,0,K_FOREVER);
if(!task_tid)
{
return task_init_failed;
}
k_thread_name_set(task_tid,"data_task");
initialized = true;
}
void handler_thread(void *arg1,void *arg2, void *arg3)
{
for(;;)
{
calc();
k_msleep(50);
}
}
//Filename : def.c
#include
static double c=8.725;
static uint16_t inc=0;
void calc()
{
double a;
long b;
a=10.5;
b= (long)(a * c); // compiler pointing this line and says undefined reference to `__aeabi_d2iz'
if (b > 40)
{
inc++;
}
if(inc>1000)
{
inc=0;
}
}