2个月前
platform_reset_sdk错误
张贴了Jagath52.75分 1回复你好
我正在使用DA1469X MCU,具有自定义设计。
它是带LCD,PIXART HRM和SPO2的腕带项目。
我们有2个版本的带DA1469x和两个版本,代码内存大小支持是1MBYTES
我们的项目固件代码大小超过512kbytes的代码内存,因此在本教程的帮助下
http://lpccs-docs.dialog-semiciondiond.com/tutorial_da1469x_supporting_...。
https://support.dialog-semicondiondiondiondum/forums/post/dialog-smartbond-b...
现在代码内存最多可支持1MB,所有LCD和PIXART在一个版本的电路板中正常工作。
但是在新版本的自定义板上,一旦Pixart任务运行,我就会得到错误platform_reset_sdk()错误。
reset_error的值是0xF2F2F2F2
从函数调用堆栈中,如果我一起双击cmac2sys_handler()控件是在文件中找到的
init_da1469x.c函数black_orca_phy_addr()和行号782。
uint32_t black_orca_phy_addr(uint32_t addr)
{
uint32_t phy_addr;
UINT32_T flash_region_base_offset;
uint32_t flash_region_size;
uint8_t remap_addr0;
静态const32 remap [] = {
memory_rom_base,
memory_otp_base,
memory_qspif_base,
memory_sysram_base,
memory_qspif_s_base,
memory_otp_base,
memory_cacheram_base,
0.
};
static const uint32 flash_region_sizes [] = {
32 * 1024 * 1024,
16 * 1024 * 1024,
8 * 1024 * 1024,
4 * 1024 * 1024,
2 * 1024 * 1024,
1 * 1024 * 1024,
512 * 1024,
256 * 1024,
};
remap_addr0 = reg_getf(crg_top,sys_ctrl_reg,remap_adr0);
if(remap_addr0!= 2){ phy_addr = flash_region_base_offset + addr; 返回phy_addr; assert_error(addr 请找到错误的附加屏幕截图 1.此错误的原因是什么。 谢谢
if(addr> = memory_remapped_end){
phy_addr = addr;
} 别的 {
phy_addr = addr + refap [remap_addr0];
}
} 别的 {
/ *考虑闪存区域底座,偏移和尺寸* /
flash_region_base_offset = reg_getf(cache,cache_flash_reg,flash_region_base)<< cache_cache_flash_reg_flash_region_base_pos;
flash_region_base_offset + = reg_getf(缓存,cache_flash_reg,flash_region_offset)<< 2;
flash_region_size = flash_region_sizes [reg_getf(cache,cache_flash_reg,flash_region_size)];
if(addr
*在RempedApped区域中,仅允许访问
* 0 <= addr
assert_error(addr
}否则if(is_qspif_address(addr)){
/ *
*在QSPI AHB-C总线中,仅允许访问时
* flash_region_base_offset <= addr
* 和
* addr
assert_error(addr> = flash_region_base_offset);
assert_error(addr
} 别的 {
phy_addr = addr;
}
}
}
Jagath.
附件 | 尺寸 |
---|---|
屏幕截图(88).png | 219.46 KB. |
2个月前
嗨Jagath,
谢谢你的问题。所以,你提到你有2个不同版本的电路板。你有2个不同的SW版本吗?或者相同的fw可以在旧板版本中运行它在新的旧板版本中它失败了?
这听起来像一个SW相关问题,我想有一些内存溢出。
请您尝试增加BLE DB大小?
因此,在custom_config_qspi.h中定义dg_configble_stack_db_heap_size宏并增加其值。堆大小的值为字节。
默认值为3072字节,如ble_stack_config.h所配置。
谢谢,PM_DIALOG.