无附加项目大小还原问题

了解更多常见问题解答教程

5个帖子/ 0新
最后一篇
janosn.
离线
最后一次露面:3周16小时前
加入:2020-11-16 14:59
无附加项目大小还原问题

亲爱的对话框,

我想在没有修改的情况下编译无附件项目。keil链接器提供代码大小错误,因为大小超过32768字节。我尝试了所有3个可能的目标设置:

  • Dodeless_531_DataDump:结果代码大小链接器错误:32804.字节;
  • Dodeless_531_Stantalone:结果代码大小链接器错误:32900字节;
  • Dodeless_531_SET_TWO_STASTALONE:结果代码大小链接器错误:37068字节;

因此,所有这些都比Keil-Linker允许最大值。32768没有额外许可证的字节。

我想删除例如偶像(延长尺寸),如果我发表评论cfg_prf_suotar.user_profiles_config.h.,链接器报告35300字节;远大于偶像留在里面。这怎样才能删除一些东西,并且代码比在我包括它之前大于之前的代码?

同样的是从命令中删除一些user_at_commands.h.;例如,评论AT_GAP_CONNECT.AT_SLEEP.结果代码大小36780.字节,如果它们进入,则代码大小是32804.

C / C ++选项我选择Level-3,最高的代码大小优化。

我按照说明UM-B-057设置keil环境

这是链接器错误消息:

链接......

。\ out_531 \ dodeless_531_datapump.axf:错误:l6050u:此图像的代码大小(32804字节)超出此版本的链接器允许的最大值。

没有足够的信息来生成Symdefs文件。

完成:1个信息,0警告,0个错误和1个致命错误消息。

“。\ out_531 \ dodeless_531_datapump.axf” - 1个错误,0警告。

我有30天的keil许可证已过期1月2日。在那30天内我可以很好地编制上述项目

我不需要偶像只需要以下内容3.命令无代表

AT + Advstop,+ Central,AT + Papscan。我只想读出广告温度,湿度,压力和电池数据的遥测信标。

请告知我要做什么来减少我可以构建项目的代码大小。

提前谢谢你。

PM_DIALOG.
离线
最后一次露面:15小时20分钟前
职员
加入:2018-02-08 11:03
嗨Janosn,

嗨Janosn,

谢谢你的问题。

为了减少无附加的图像大小,您可以从user_at_commands.h标头文件中取消定义不在应用程序中使用的AT命令。此外,在user_modules_config.h中,您可以排除或包含所需的配置文件。

请记住,可以使用预编译的二进制文件,可以在da145xx_codeless \ 6.380.12.6 \二进制路径中找到。

由于您使用的是微小模块,Flash程序员工具也提供预编译的二进制文件!

谢谢,PM_DIALOG.

janosn.
离线
最后一次露面:3周16小时前
加入:2020-11-16 14:59
亲爱的对话框,

亲爱的对话框,

感谢您的回答。

通过禁用两个图像尺寸减小#定义线路user_at_commands.:(其余部分没有明显的尺寸减少效果)

//#定义USE_AT_CONPAR//#定义use_at_bnd有效,在连接之后,报告的代码大小是:27812(对于Dodeless_531_DataPump)。所以,我现在可以在没有额外的KEIL许可证的情况下编译项目。

因为原来是对我来说是必要的重建项目at +帕普斯坎命令具有严重的问题扫描外围设备(如信标广告遥测数据)。最初,它只是扫描其他对话框外围设备,只有在没有广告原始数据的情况下列出的地址,因此我必须修改函数:void user_on_adv_report_ind(struct gapm_adv_report_ind const * param)user_codeless.c.文件。但它现在有效。

非常感谢您的支持。

-Janos-

janosn.
离线
最后一次露面:3周16小时前
加入:2020-11-16 14:59
亲爱的对话框,

亲爱的对话框,

感谢您的回答。

通过禁用两个图像尺寸减小#定义线路user_at_commands.:(其余部分没有明显的尺寸减少效果)

//#定义USE_AT_CONPAR//#定义use_at_bnd有效,在连接之后,报告的代码大小是:27812(对于Dodeless_531_DataPump)。所以,我现在可以在没有额外的KEIL许可证的情况下编译项目。

因为原来是对我来说是必要的重建项目at +帕普斯坎命令具有严重的问题扫描外围设备(如信标广告遥测数据)。最初,它只是扫描其他对话框外围设备,只有在没有广告原始数据的情况下列出的地址,因此我必须修改函数:void user_on_adv_report_ind(struct gapm_adv_report_ind const * param)user_codeless.c.文件。但它现在有效。

非常感谢您的支持。

-Janos-

PM_DIALOG.
离线
最后一次露面:15小时20分钟前
职员
加入:2018-02-08 11:03
嗨Janosm,

嗨Janosm,

很高兴您减少了代码大小并谢谢您分享它。

谢谢,PM_DIALOG.