Undefined symbol OSTaskReturnHook (referred from ucos_ii.o)

本文记录了使用Keil uVision编译uCOS-II时遇到的链接错误详细情况,包括错误提示信息及针对未定义符号OSTaskReturnHook的查找过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'Target'
linking...
.\Objects\S3C2440A_ZW.axf: Error: L6218E: Undefined symbol OSTaskReturnHook (referred from ucos_ii.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\S3C2440A_ZW.axf" - 1 Error(s), 0 Warning(s).
Target not created.

Build Time Elapsed:  00:00:01

各位大佬,以上是出现的链接错误,在ucos_ii.h中存在这个函数的声明:

void          OSTaskIdleHook          (void);

void          OSTaskReturnHook        (OS_TCB          *ptcb);

void          OSTaskStatHook          (void);

查了好多,没有头绪啊。。。。。

1. FX3 SDK main components. User firmware Libraries ThreadX RTOS (cyu3threadx.a) FX3 API Library (cyfxapi.a) Serial Peripheral API Library (cyu3lpp.a) Storage API Library (cyu3sport.a) MIPI CSI-2 API Library (cyu3mipicsi.a) Take the example firmware lowpowertest debug reversion for the test, need link following library. libcyu3lpp.a libcyfxapi.a libcyu3threadx libc.a libgcc.a -lcyu3lpp -lcyfxapi -lcyu3threadx -lc -lgcc While the search path will be: -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\lib\gcc\arm-none-eabi\4.8.1" -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\arm-none-eabi\lib" -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\fw_lib\1_3_3\fx3_debug" Link script will be fx3.ld for 512KB SRAM. From fx3 initialization block, could understand the fx3 entry point is CyU3PFirmwareEntry() function, so need manually assign entry point by follow linker command. --entry,CyU3PFirmwareEntry So Keil 4.74 IDE Linker page needs to configure as following pic. 2. Specific GNU cross compile tool path. Under tap project->Manage Project Items… -> Folders/Extensions Point to use GCC cross compile tools, please fill GNU-Tool-Prefix “arm-none-eabi-” while GNU-Tool Folder “C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\” 3. C compile tap page configure. Predefined symbols __CYU3P_TX__=1. Include Path: ..\inc Without optimizations 4. Specific output file type. Under tap page Project->Options for target fx3->Output Need create object file with debug information. 5. After build elf file, execute user command. After precompiler, compiler and linker could get object file fx3.elf, need to convert to img file for download. So need execute user command: "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\util\elf2img\elf2img.exe" -i fx3.elf -o fx3.img –v Summary After configuration, click Build button will show build output log like following pic.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值