I'm using Keil MDK-ARM Professional Version 5.38.0.0 which is set to ARM compiler version 6.19, and I trying to setup an uC/OS-iii project, everything goes fine until the last part where in the os_cpu.h file is a macro-type function that call __isb() function:
#define OS_TASK_SW_SYNC() __isb(0xF)
and the OS_TASK_SW_SYNC()
function also called inside the os_core.c, now the problem is the compiler raised the following error and linking stage will be terminated:
.\Objects\main.axf: Error: L6218E: Undefined symbol __isb (referred from os_core.o).
any help to overcome this issue?
Here is the complete build output:
Rebuild started: Project: main
*** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Rebuild target 'STM32F103'
compiling main.c...
compiling os_core.c...
compiling os_var.c...
compiling os_cfg_app.c...
compiling os_dbg.c...
compiling os_flag.c...
compiling os_mem.c...
compiling os_msg.c...
compiling os_mutex.c...
compiling os_prio.c...
compiling os_q.c...
compiling os_sem.c...
compiling os_stat.c...
compiling os_task.c...
compiling os_tick.c...
compiling os_time.c...
compiling os_tmr.c...
compiling os_app_hooks.c...
compiling os_cpu_c.c...
assembling os_cpu_a.asm...
assembling cpu_a.asm...
compiling cpu_core.c...
compiling cpu_c.c...
compiling lib_ascii.c...
compiling lib_math.c...
compiling lib_mem.c...
compiling lib_str.c...
assembling startup_stm32f10x_md.s...
compiling system_stm32f10x.c...
linking...
.\Objects\main.axf: Error: L6218E: Undefined symbol __isb (referred from os_core.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 1 error messages.
".\Objects\main.axf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed: 00:00:05