跳到主要内容

来自RAM的BLE申请

da1468x.

4年前

发布者EdwardWhite.0分 1回复
0升值

是否可以创建一个可以使用RAM调试的BLE应用程序?
我们的DEV板上的QSPI闪存已打破,我们需要继续在固件上工作。所有示例项目只有QSPI构建选项,但除了睡眠模式(可以更改为始终处于活动状态),我无法看到此原因

接受答案!

4年前

mt_dialog. -30点

嗨EdwardWhite,

没有没有在RAM中运行的BLE示例,原因是代码的大小不能符合128KB RAM + 16KB缓存的68X,但是您可以构建一个足够小的项目,就像BLE_Central一样运行只有RAM(BLE Manager,BLE适配器等有相当大的足迹)。如果您开发的项目足够大,则无法在Sysram中适应。您必须要做的一些MOD,以便仅在SYSRAM中运行项目是如下所示:

  • 创建一个新的配置,该配置将在BLE RAM项目Custom_Config_ram.h中处于活动状态(例如,作为Custom_Config_Qspi.h文件,但具有几个Mods)。所以只需复制/粘贴Custom_Config_qspi.h并用下面的mod修改它。
  • 对于您将为RAM项目设置的构建配置,请确保在“名称”字段中,您拥有XXXXXX_RAM Post修复程序,以便能够调试配置的RAM版本。
  • 在“包含”路径中的“新建custom_config_ram.h”中,“构建步骤”中将_QSPI替换为_ram .h文件(在C / C ++构建设置选项中的预构建步骤中)
  • unefine dg_configexec_mode mode_is_cached或注释出来。
  • 将dg_configcode_location定义为non_volatile_is_none
  • 将dg_configflash_connected_to定义为flash_is_not_connection
  • 将DG_CONFIGPOWER_1V8_ACTIVE和DG_CONFIGPOWER_1V8_SLEEP设置为0
  • dg_configflash_adapter,dg_confignvms_adapter,dg_confignvms_ves将其配置为0
  • 您必须从构建中删除任何辅导实现,因此您可以将DG_CONFIGSUOTA_SUPPORT设置为0。
  • 在ad_ble.c中,您应该更改宏Adapter_init_dep1(ad_ble_adapter,ad_ble_init,ad_nvms_adapter);到Adapter_Init(ad_ble_adapter,ad_ble_init);由于没有NVMS模块,因此应在没有任何依赖的情况下初始化BLE适配器。
  • 在上面的之后,由于您验证了编译成功,您应该尝试每个部分的大小,以便正确地将项目正确链接,例如降低RTOS堆的大小(这是我必须为的BLE_Central项目编译)。

谢谢mt_dialog.