无附加编译使用cmake

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
6个帖子/ 0新
最后一篇
arun thirunavuk ......
离线
最后一次露面:2个月1周前
加入:2020-06-22 13:06
无附加编译使用cmake

大家好,

我们正在尝试使用CMake在无附加的SDK中建立无附加物5xx项目。我们包含必要的文件和代码被编译,但链接“内存区域lr_free的无效长度”时出错。我如何解决这个问题

mhv_dialog
离线
最后一次露面:2周2天前
职员
加入:2013-12-06 15:10
我觉得你正在痛苦

我认为由于免费的Keil IDE /编译器的32kbyte代码限制,您正在占用这一点。无附庸不可分行在该阈值下方不链接。

尝试删除对某些无附属命令的支持(如图所示)(user_at_commands.h的第44行):

//#如果已定义(use_at_binary_mode)&&定义(__ da14531__)#dfemine use_at_bdaddr #define use_at_jdaddr #define use_at_io #define use_at_gapstatus #define nuse_at_addata #define use_at_advdata #define use_at_adop #define use_at_centart //#define use_at_central //#define use_at_gapral //#/#define use_at_gapconnect //#define use_at_sleep //#define use_at_pin //#define use_at_flowcontrol //#define use_at_conpar //#define use_bnd //#define use_at_sec

并看看项目是否正确链接。

/ mhv.

arun thirunavuk ......
离线
最后一次露面:2个月1周前
加入:2020-06-22 13:06
你好,

你好,

看起来我们需要定义USE_AT_CONPAR,因为当我注释出来时,user_at_command.c中的“user_at_maxmtu”函数中存在错误,因为它具有“conn_conf”此参数取决于dust_at_conpar。当我取消注释“use_at_conpar”时,发生了内存区域LR_Free错误的此无效长度。我们知道Keil中有32kb的限制,因此我们使用CMake工具来构建我们的项目。我们可以从普通的“6.0.14.1114”SDK中构建Prox_Reporter项目。但是,我们无法建立无附庸的项目。

mhv_dialog
离线
最后一次露面:2周2天前
职员
加入:2013-12-06 15:10
我构建了DataPump变体

我构建了无附件的DataPump变体,并假设您正在构建独立的变体,当省略使用_at_conpar时会导致错误。尝试使用以下配置构建独立:

//#如果已定义(use_at_binary_mode)&&定义(__ da14531__)#dfine use_at_bdaddr //#define defer_at_io #define use_at_gapstatus #define nus_at_adddata #define nuse_at_advresp #define nuse_at_advresp #define use_at_adop #define use_at_adcrate_/#define use_att_centrart //#definedefime use_at_gapconnect //#define use_at_sleep //#define use_at_pin //#define use_at_flowcontrol #define use_at_bonpar //#define use_at_bnd //#define use_at_bnd //#define use_at_bnd //#define use_at_bnd //#define use_at_sec

你用什么底层工具箱?我仍然怀疑你正在争夺32kbyte的限制。

/ mhv.

arun thirunavuk ......
离线
最后一次露面:2个月1周前
加入:2020-06-22 13:06
你好,

你好,

由于Keil并不将文件链接超过32KB,我们正在使用CMake来创建Makefile并使用“GCC-ARM-None-EABI-9-2020-Q2-Update”Toolchain构建我们的项目。我们可以建立项目。我们还需要为我们的项目“use_at_advdata”。您未在上面的项目中使用。在您的文档中,您已提到以便使用AdvData,我们需要在命令中删除其他。我们只需要基本和advdata命令。那么,我们可以删除的命令是什么,这样它不会影响功能?

mhv_dialog
离线
最后一次露面:2周2天前
职员
加入:2013-12-06 15:10
有很多东西可以挑选

有很多东西可以挑选。这是一个例子:

//#如果已定义(use_at_binary_mode)&&定义(__ da14531__)#dfine use_at_bdaddr #define use_at_bdaddr #define use_at_io #define defer_at_gapstatus #define defer_at_adddata #define use_at_advstop #define use_at_advstorp #define use_at_addrart //#define use_at_central //#define use_at_gapscan //#define use_at_gapconnect #define use_at_sleep #define use_at_pin //#define use_at_flowcontrol //#define use_at_bnd //#define use_at_bnd //#定义(use_at_binary_mode)#if!定义(use_set_two)#define use_at_print //#define use_at_print //#define use_at_print //#//#define use_at_event //#define use_at_broadcaster //#define use_at_random //#define use_at_maxmtu //#define use_at_pwm #if cmd_local_source == cmd_uart #define use_at_baud #endif #elif定义(use_set_two)#if(cmd_local_source!= cmd_spi)#if!定义(cfg_spi_flash_enable)#define use_at_spi #endif #endif //#define use_at_dleen //#define use_at_mem //#define use_at_batt //#define use_at_hostslp //#define use_at_adc //#define use_at_i2c // #define use_at_pwrlvl //#define use_at_rssi //#define use_at_hrtbt #define use_at_cmd #endif //!use_set_two #endif //!uder_at_binary_mode

/ mhv.