用自定义重置逻辑替换platform_reset

4个帖子/ 0新
最后一篇
HARDY.CHEN.
离线
最后一次露面:10个月前1年
加入:2015-03-13 04:20
用自定义重置逻辑替换platform_reset

你好,

我在外部SPI闪存中运行了固件和启动代码,由于省电功能,当没有活动时,SPI闪光灯将关闭。
以下对具有关闭SPI Flash的断电控制的其他一些讨论,我在任何异常处理程序调用重置之前,我可以添加代码以将关闭电源关闭到SPI闪光灯
1)hardfault_handlerc.
2)nmi_handlerc.

但我不知道何时何地在ROM代码中调用'platform_reset',任何人都可以给出一些关于如何实现自己的platforp_reset替换它的指令。

我正在使用参考sdk da14580_beacon_3.40.6。

设备:
Gongyu_dialog.
离线
最后一次露面:2天15小时前
加入:2016-04-27 07:07
嗨,哈迪

嗨,哈迪
通常,函数platform_rest将错误代码保持为输入参数。现在可能的错误代码在Arch.h中
前任。///重置平台并留在ROM中
#define reset_to_rom 0xa5a5a5a5.

您可以直接调用函数。
然后PC将跳转到0x0。触发硬盘中断。
我认为最简单的方法是编写替换原始Platform_Reset函数的修补程序。
它超出了我关于创建补丁的范围,我将您的问题发送给团队。等待答案。
谢谢

Gongyu_dialog.
离线
最后一次露面:2天15小时前
加入:2016-04-27 07:07
嗨,Hardy.chen.

嗨,Hardy.chen.

可能有一个尝试以下方法?谢谢

1.转到jump_table.c
2.实施
void custom_platform_reset_func(uint32_t错误)
{
/ * todo:将尾巴spi闪存功能* /
platform_reset_func(错误);/ *错误可以reset_no_error * /
}
3.找出“platform_reset”
4.用“custom_platform_reset_func”替换“platform_reset”

HARDY.CHEN.
离线
最后一次露面:10个月前1年
加入:2015-03-13 04:20
嗨对话小组,

嗨对话小组,

谢谢!这是有效的!

主题锁定