你好,
这是关于DA14695。我有一个在C ++和Driver中编写的应用程序,在C中为另一个MCU,现在我在Dailog MCU环境中具有相同的应用程序。
当我尝试创建一个C ++项目时,我无法看到SDK文件夹,因为它可以在BLE_ADV,BLE_CLI等内置示例中获得。
当我将基础项目作为BLE_ADV,并尝试添加我的CPP应用程序时,我无法添加CPP文件。
Kindly let me know how to create CPP project with FreeRTOS part of it or how to modify exisiting project like ble_dev example.
问候
设备:
你好,
我向我们的内部支持团队升级了这个问题。我们应该在第二天或两个人收到答复。
/MHv
你好,
I received the following hint from our internal support team:
“
为了让C ++与C平静地共存,需要拥有以下列模式装饰的所有C头:
“
我希望能帮助解决问题。
/MHv
你好,
问题在于创建一个Projec C ++。
When we try to create a C++ project, we don't see any folders like what is seen in the example projects like ble_adv, ble_peripheral. SDK folder is not seen.
我的要求是创建一个与FreEltos支持的项目,项目具有C源文件以及C ++源文件。
有关此内容的详细信息。如何为BLE_PERITWAL创建项目,支持FREERTOS,并具有C和C ++源文件。
问候
Hi Sandeep,
我认为最好的方法是将现有项目从C自然转换为C ++。Smartsnippets Studio中有一个集成工具。您需要“文件 - >新项目 - >转换为C / C ++项目”,然后按照Wizzard。
然后您开始确保您包含的所有标题都正确装饰。
你好,
你提到的步骤仅部分工作。我从SDK文件夹中拍了一个演示项目。ble_peripheral。执行CLEAN并构建它成功构建。
现在如上所述,我尝试打开新项目,然后选择转换为C / C ++项目的选项。在向导中,我可以看到BLE_PERITELAL项目我选择它并选择ARM_CROSS_GCC。我还没有添加任何新的C ++文件。
现在我再次执行干净并执行构建。构建调用C ++编译器并提供低于错误。友善的建议。
Invoking: GNU ARM Cross C++ Linker
C:/程序文件(x86)/ gnu工具arm嵌入式/ 7 2018-q2-update / bin / it lib / gcc / ARM-None-EABI / 7.3.1 /../../../。./arm-none-eabi/lib/thumb/v8-m.main/fpv5-sp/hard\libg.a (lib_a-exit.o):在功能`退出':
exit.c:(.text.exit+0x16): undefined reference to `_exit'
./startup/da1469x/gcc/exception_handlers.o:in函数`.code_starts':
C:/DiaSemi/SmartSnippetsStudio2.0.8/SDK_10.0.6.88/sdk/bsp/startup/DA1469x/GCC/exception_handlers.S:153: undefined reference to `__copy_table_start__'
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/bsp/startup/da1469x/gcc/exception_handlers.s:154:未定义引用`__copy_table_end__'
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/bsp/startup/da1469x/gcc/exception_handlers.s:198:未定义引用“__zero_table_start__”
C:/DiaSemi/SmartSnippetsStudio2.0.8/SDK_10.0.6.88/sdk/bsp/startup/DA1469x/GCC/exception_handlers.S:199: undefined reference to `__zero_table_end__'
/启动/ DA1469x/init_da1469x.o: In function `SystemInitPre':
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/bsp/startup/da1469x/init_da1469x.c:506:未定义的参考`__copy_table_start__'
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/bsp/startup/da1469x/init_da1469x.c:506:未定义的参考`__copy_table_end__'
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/bsp/startup/da1469x/init_da1469x.c:506:未定义的参考`__zero_table_start__'
C:/DiaSemi/SmartSnippetsStudio2.0.8/SDK_10.0.6.88/sdk/bsp/startup/DA1469x/init_da1469x.c:506: undefined reference to `__zero_table_end__'
./sdk/ble/stack/da14690/src/arch_main.o:in function`cmac_update_power_ctrl_reg_values':
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/interfaces/ble/stack/da14690/src/arch_main.c:185:未定义的参考`cmac_dynamic_config_table_ptr'
。/sdk/ble/stack/da14690/src/arch_main.o: In function `cmac_mem_ctrl_setup':
C:/DiaSemi/SmartSnippetsStudio2.0.8/SDK_10.0.6.88/sdk/interfaces/ble/stack/da14690/src/arch_main.c:202: undefined reference to `cmi_fw_dst_addr'
你好,
你可以回复我的查询吗?CPP文件编译,但有一个链接器错误。我已经显示了一些错误。
让你们是否尝试将C转换为C ++,例如Ble_Peripheral,BLI_Central等任何示例代码
你好,
Currently i have made some changes in linker settings and adding library path to linker. linking errors have reduced.
目前我只能获得两个链接错误。
Invoking: GNU ARM Cross C++ Linker
。/sdk/ble/stack/da14690/src/arch_main.o: In function `cmac_mem_ctrl_setup':
C:/DiaSemi/SmartSnippetsStudio2.0.8/SDK_10.0.6.88/sdk/interfaces/ble/stack/da14690/src/arch_main.c:204: undefined reference to `cmi_fw_dst_addr'
C:/DiaSemi/SmartSnippetsStudio2.0.8/SDK_10.0.6.88/sdk/interfaces/ble/stack/da14690/src/arch_main.c:204: undefined reference to `__cmi_section_end__'
collect2.exe: error: ld returned 1 exit status
制作:*** [ble_peripheral.elf]错误1
Kindly let us know how to resolve this.
Hi Sandeep, were you able to solve the linker problem when building your cpp application?
I'm facing the same problem. Compiling is working but the linker is missing a lot of references.
您能否提一些建议?
谢谢!
嗨Danny,我们将直接联系到您BR JE_DIALOG
嗨Sandeep,我们正在将此脱机直接通信。br je_dialog。