2个职位/ 0个新职位
最后发表
edwardwhite
离线
最后看到:3年4个星期前
加入:2016-09-30 16:31
来自RAM的BLE应用

是否有可能创建一个只用RAM就可以调试的BLE应用程序?
QSPI闪存在我们的开发板上已经坏了,我们需要继续在固件上工作。所有示例项目都只有QSPI构建选项,但我看不出这是为什么,除了睡眠模式(可以更改为始终处于活动状态)

关键词:
设备:
MT_dialog
离线
最后看到:1个月2天前
工作人员
加入:2015-06-08 34
嗨edwardwhite,

嗨edwardwhite,

没有祝福的例子,仅运行在RAM中,原因是代码的大小不能适应128 kb的RAM缓存+ 16 kb的68 x,但您可以构建一个项目足够小,像ble_central为了只运行到RAM (BLE经理、适配器等)有一个相当大的足迹。如果您开发的项目足够大,那么就没有办法在系统ram中容纳它。一些mod,你将不得不做为了尝试运行你的项目只在sysram如下:

  • 例如,在你的ble ram项目custom_config_ram.h中创建一个活跃的新配置(与custom_config_qspi.h文件完全相同,但有一些修改)。所以只要复制/粘贴custom_config_qspi.h,并使用下面的mod修改它。
  • 对于您将为RAM项目设置的构建配置,确保在名称字段中有xxxxxx_RAM post fix,以便能够调试您的配置的RAM版本。
  • 在Include路径中包含新的custom_config_ram.h,并在Build Steps中使用_ram.h文件替换_qspi(在C/ c++ Build Settings选项的预构建步骤中)
  • 取消定义dg_configEXEC_MODE MODE_IS_CACHED或将其注释掉。
  • 将dg_configCODE_LOCATION定义为NON_VOLATILE_IS_NONE
  • 定义dg_configFLASH_CONNECTED_TO到FLASH_IS_NOT_CONNECTED
  • 将dg_configPOWER_1V8_ACTIVE和dg_configPOWER_1V8_SLEEP都设置为0
  • dg_configFLASH_ADAPTER, dg_configignvms_adapter, dg_configignvms_ves将其配置为0
  • 您必须从构建中删除任何SUOTA实现,因此可以将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