你好
我刚刚开始在DA14580上进行实验,我似乎到处碰壁。我遵循AN-B-024的指示,花了一整天的时间来研究奇怪的问题,试图在Ubuntu上构建GCC并举例说明,但仍然没有成功。我似乎已经到了代码编译并进入链接阶段的地步,似乎只是ROM链接仍然失败。
我从DA14580_581_SDK_3.0.8.0/dk_apps/keil_projects/proximity/prox_reporter示例开始,并使用转换器脚本生成一个Makefile。我删除了奇怪的树优化标志,并修复了程序集文件扩展名的问题(*。年代和* s)。还有一些Keil特定的编译器魔法(__INLINE vs static inline…),但现在我很好,真的卡住了。这个例子似乎是在引用ROM中的代码,无论出于什么原因,这些代码都被注释在SDK附带的符号表中。
这是make的链接部分输出。。。
>>>
链接输出/full_emb_sysram.axf
../../../../src/plf/refip/src/arch/main/ble/jump_table.o:(jump_table_mem_area+0xb0):未定义对“ke_task_init_func”的引用
../../../../src/plf/refip/src/arch/main/ble/arch\u main.o:在函数“main\u func”中:
arch_main.c:(.text.main_func+0x88):对“patch_llc_task”的未定义引用
../../../src/plf/refip/src/arch/main/ble/arch\u patch.o:(.rodata.patch\u table+0x4):对“l2cc\u pdu\u recv\u ind\u handler”的未定义引用
../../src/plf/refip/src/arch/main/ble/arch\u patch.o:(.rodata.patch\u table+0x8):未定义对“smpc\u发送\u配对\u请求索引”的引用
../../../src/plf/refip/src/arch/main/ble/arch\u patch.o:(.rodata.patch\u table+0xc):未定义对“smpc\u检查\u配对功能”的引用
../../../src/plf/refip/src/arch/main/ble/arch\u patch.o:(.rodata.patch\u table+0x10):对“smpc\u配对\u cfm\u处理程序”的未定义引用
../../../src/plf/refip/src/arch/main/ble/arch\u patch.o:(.rodata.patch\u table+0x14):未定义对“my\u llc\u con\u update\u request\u ind”的引用
../../../src/plf/refip/src/arch/main/ble/arch\u patch.o:(.rodata.patch\u table+0x18):未定义对“my\u llc\u Chu map\u req\u ind”的引用
../../../src/plf/refip/src/arch/main/ble/arch\u patch.o:(.rodata.patch\u table+0x1c):未定义对“patched\u gapm\u adv\u op\u sanity”的引用
/usr/bin/./lib/gcc/arm none eabi/4.9.3/../../../../../../../arm none eabi/bin/ld:out/full\u emb\u sysram.axf:未定义隐藏符号“smpc\u配对\u cfm\u处理程序”
/usr/bin/./lib/gcc/arm-none-eabi/4.9.3/../../../../../../../arm-none-eabi/bin/ld:最终链接失败:错误值
collect2:错误:ld返回了1个退出状态
make:**[out/full\u emb\u sysram.axf]错误1
<<<
ke_task_init_func似乎在符号文件中,但已被注释。
patch_llc_任务存在于SDK中的一个对象文件中,但是链接与一些代码重叠,所以我不确定那里发生了什么。。。
你能给我指出正确的方向吗?或者至少给我一个线索,哪一个例子最适合测试我的系统。据我所知,人们在GCC和你的芯片方面并没有太多的运气,但由于我们已经与一系列不同的BLE SOC合作,并且大部分在经历了一些痛苦之后,我们已经能够让它们工作,我现在还不想放弃。由于您有appnote,并且似乎已经在支持GCC方面付出了至少一些努力,所以可能仍然有希望。当我们的工作开始时,我很乐意将我们的努力开源。
大家好,我要诚实地指出,目前,我们无法在580上提供广泛的GCC支持。我们刚刚宣布的下一个平台(680)将有所不同,但除了我们在GCC上支持一对一的少数客户之外,我们目前无法以一对多的形式提供支持。。如果这不是你想听到的,我会道歉,但我更愿意诚实,不要设定不切实际的期望。BR JE_对话
大家好,我要诚实地指出,目前,我们无法在580上提供广泛的GCC支持。我们刚刚宣布的下一个平台(680)将有所不同,但除了我们在GCC上支持一对一的少数客户之外,我们目前无法以一对多的形式提供支持。。如果这不是你想听到的,我会道歉,但我更愿意诚实,不要设定不切实际的期望。BR JE_对话
这真是个令人伤心的消息。我真的觉得我已经非常接近构建这个示例(尽管我不知道它是否会在任何硬件上运行)。我也不反对一对一的帮助,如果你能做到的话。我要怎么做才能得到这样的帮助?我确实有一些项目即将投入批量生产,如果这是您所追求的,但现在我们正在与北欧SOC合作进行大部分工作(价格和功耗是我们试图优化您的硬件的内容)。
我应该在什么时候看到680系列示例和开发工具?我真的很有兴趣尝试尽可能多的不同解决方案,因为我们做了很多BLE原型设计,并且需要尽可能地掌握最新情况。