这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 【已解决】打开内核调试功能后USE_HOOK_TRACE后链接出错

共6条 1/1 1 跳转至

【已解决】打开内核调试功能后USE_HOOK_TRACE后链接出错

高工
2013-06-18 13:16:57     打赏

我打开内核调试跟踪:#define USE_HOOK_TRACE            1U

后链接时出错:

.\chip_stm32f407vg\kernel-rom.sct: Error: L6218E: Undefined symbol tk_cre_tsk (referred from tasksample.o).

.\chip_stm32f407vg\kernel-rom.sct: Error: L6218E: Undefined symbol tk_del_tsk (referred from tasksample.o).

。。。。。。。。。。。。。。。。。。。。。。。。。

.\chip_stm32f407vg\kernel-rom.sct: Error: L6218E: Undefined symbol knl_unhook_dsp (referred from tk_sysimpl.o).

.\chip_stm32f407vg\kernel-rom.sct: Error: L6218E: Undefined symbol knl_unhook_svc (referred from tk_sysimpl.o).

如果不打开调试支持,这些地方都没有问题。

看样子好像是与USE_HOOK_TRACE相关的部分保被条件编译干掉了


2013.06.21解决

问题:1、什么原因?

         有部分依赖关系没有根据这个开关重新编译

2、怎样解决

 设置这个开关后,rebuild整个工程。仅仅的增量build不行

3、我如果不需要调试内核,只是普通的使用,内核调试功能有没有打开的必要?

   打开之后就能看见到底是什么了。





关键词: 解决     打开     内核     调试     功能     TRACE     链接         

高工
2013-06-18 13:30:45     打赏
2楼

追问:

这个问题应该与宏定义KNL_TK_WRAPER_TEMPLET有关。这是个什么东西?

我查找这个定义,只有一个地方像是在定义,其他地方都是在用:

KNL_TK_WRAPER_TEMPLET $name, $code


我看不懂这是定义什么


附:问度娘的结果那是相当的失望:

抱歉,没有找到与KNL_TK_WRAPER_TEMPLET相关的网页。


建议:
  • 检查输入是否正确
  • 简化输入词
  • 尝试其他相关词,如同义、近义词等
  • 阅读帮助


高工
2013-06-18 17:08:16     打赏
3楼
都打开了。 而且这个现象好像跟编译时USE_DBGSPT 有没有打开没关系。

高工
2013-06-18 17:08:44     打赏
4楼
都打开了。 而且这个现象好像跟编译时USE_DBGSPT 有没有打开没关系。

高工
2013-06-20 20:24:09     打赏
5楼
rebuild
rebuild
rebuild
rebuild
rebuild

rebuild

要全部编译才行


高工
2013-06-20 21:33:17     打赏
6楼
刚发现,问题不是这样的。 是每次改tk_config_depend.h里边的配置之后,都要rebuild,不然会报错。刚验证了下。 我认为是编译的时候,根据配置使用了不同的函数。配置变了,但是有一些东西没有重新编译。所有链接时候出错

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]