你好,
这是关于DA14695的。我有一个应用程序写在c++和驱动程序写在C为另一个MCU,现在我有相同的应用程序在Dailog MCU环境。
当我尝试创建一个c++项目,我不能看到SDK文件夹,因为它可以在内置的例子,如ble_adv, ble_cli。
当我将基础项目作为ble_adv,并尝试添加我的Cpp应用程序时,我无法添加Cpp文件。
请告诉我如何使用Freertos部分创建CPP项目,或者如何修改像BLE_DEV示例等漏油项目。
问候
设备:
你好,
我已经将这个问题升级到我们的内部支持团队。我们一两天内会收到答复。
/ mhv.
你好,
我收到了我们内部支持团队的以下提示:
"
为了让c++与C和平共存,必须让所有的C头文件都用下面的模式装饰:
"
我希望这能帮你解决问题。
/ mhv.
你好,
这个问题是关于创建一个c++项目。
当我们尝试创建一个C ++项目时,我们没有看到像BLE_ADV,BLE_PERITELAL这样的示例项目中看到的任何文件夹。没有看到SDK文件夹。
我的要求是创建一个项目与FreeRTOS支持和项目有C源文件以及c++源文件。
请分享有关这方面的细节。如何创建一个项目的ble_peripheral支持FreeRTOS,并有C和c++源文件。
问候
嗨Sandeep,
我认为最好的方法是将现有的项目从C性质转换为c++。Smartsnippets工作室有一个集成的工具。你需要“File->New Project -> Convert to a C/ c++ Project”,然后按照向导操作。
然后开始确保包含的所有标题都被正确修饰。
你好,
您提到的步骤只起部分作用。我已经采取了一个demo项目从sdk文件夹。ble_peripheral。执行清理并成功构建。
现在正如你提到的,我尝试打开新项目,并选择选项转换为C/ c++项目。在向导中,我可以看到ble_peripheral项目,我选择它并选择ARM_CROSS_GCC。我还没有添加任何新的c++文件。
现在我再次执行干净和执行构建。构建调用c++编译器并给出以下错误。请建议。
调用:GNU ARM Cross C ++链接器
c:/program files (x86)/gnu tools arm embedded/7 2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../ arm-none-eabi/lib/thumb/v8-m.m main/fpv5-sp/hard\libg.a(lib_a-exit.o): In function ' exit':
出口:(。text.exit + 0x16):未定义引用“_exit”
/启动/ DA1469x GCC / exception_handlers。o:在函数' .code_starts'中:
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/bsp/startup/da1469x/gcc/exception_handlers.s:153:未定义引用`__copy_table_start__'
C: / DiaSemi SmartSnippetsStudio2.0.8 SDK_10.0.6.88 / sdk / bsp /启动/ DA1469x / GCC / exception_handlers。S:154: undefined reference to `__copy_table_end__ `
C: / DiaSemi SmartSnippetsStudio2.0.8 SDK_10.0.6.88 / sdk / bsp /启动/ DA1469x / GCC / exception_handlers。S:198: undefined reference to __zero_table_start__
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/bsp/startup/da1469x/gcc/exception_handlers.s:199:未定义引用`__zero_table_end__'
./startup/da1469x/init_da1469x.o:in函数`systeminitpre':
/sdk/bsp/startup/DA1469x/init_da1469x.c:506: undefined reference to `__copy_table_start__ `
/sdk/bsp/startup/DA1469x/init_da1469x.c:506: undefined reference to `__copy_table_end__ `
/sdk/bsp/startup/DA1469x/init_da1469x.c:506: undefined reference to `__zero_table_start__ `
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/bsp/startup/da1469x/init_da1469x.c:506:未定义引用“__zero_table_end__”
。/ sdk /祝福/栈/ da14690 / src / arch_main。o:在函数cmac_update_power_ctrl_reg_values中:
/sdk/interfaces/ble/stack/da14690/src/arch_main.c:185: undefined reference to ' 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:未定义的参考`cmi_fw_dst_addr'
你好,
你们能回答一下我的问题吗。cpp文件已编译,但存在链接器错误。我已经给出了一些错误。
你们有没有尝试过转换C到c++的任何例子代码,如ble_peripheral, bli_central
你好,
目前我在链接器设置中进行了一些更改,并将库路径添加到链接器。链接错误减少。
目前我只得到两个链接错误。
调用:GNU ARM Cross C ++链接器
./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:未定义的参考`cmi_fw_dst_addr'
C:/diasemi/smartsnippetsstudio2.0.8/sdk_10.0.6.88/sdk/interfaces/ple/stack/da14690/src/arch_main.c:204:未定义的参考`__cmi_section_end_eng__'
collect2.exe:错误:LD返回1个退出状态
: * * * (ble_peripheral。精灵]错误1
请告诉我们如何解决这个问题。
嗨Sandeep,你是否能够在构建CPP应用程序时解决链接器问题?
我面临着同样的问题。编译工作是工作,但链接器缺少大量引用。
你能给点建议吗?
谢谢!
你好,丹尼,我们会直接联系你的
你好,桑迪普,我们正在进行线下直接交流。BR JE_Dialog。