跳到主要内容

platform_reset_sdk错误

2个月前

platform_reset_sdk错误

张贴了Jagath52.75分 1回复
0旋转

你好

我正在使用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){
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

phy_addr = flash_region_base_offset + 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;
} 别的 {
phy_addr = addr;
}
}

返回phy_addr;
}

assert_error(addr

请找到错误的附加屏幕截图

1.此错误的原因是什么。

谢谢
Jagath.

附件 尺寸
屏幕截图(88).png 219.46 KB.

2个月前

PM_DIALOG.

嗨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.