单片机/MCU论坛
直播中

任凭风吹

9年用户 927经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术 制造/封装 模拟技术
私信 关注
[问答]

ADSP-21479可以直接在main函数内检测吗?

我需要对片内的RAM 使用MARCH C 算法 检测RAM,但是算法会破坏RAM内容,请问直接在main函数内检测会导致程序问题吗? 假如会的话,我应该在何处开始检测RAM ?
     一般都会在启动文件内添加检测,但是sharc处理器没有启动文件,现在我不知道我应该在哪里添加检测代码 。

回帖(1)

王超

2024-1-11 15:11:29
在main函数内直接检测片内RAM可能会导致程序问题,因为MARCH C算法会破坏RAM内容,而main函数可能依赖于RAM中的数据。为了避免这种问题,你可以在main函数执行之前,在启动代码(Startup code)中添加RAM检测代码。

对于SHARC处理器,可以通过修改或添加启动代码来实现RAM检测。你可以查找DSP库中的启动文件(例如boot.s或startup.s)或者自己编写一个启动文件,并在其中添加RAM检测代码。

启动文件位于项目的汇编文件中,一般以汇编的形式编写。你可以在启动文件中找到程序入口点(例如Reset_Handler),并在该入口点之前添加RAM检测代码。

具体的RAM检测代码需要根据你使用的MARCH C算法来进行编写。你需要在启动文件中初始化RAM,并执行MARCH C算法来检测RAM。在检测完毕后,可以跳转到main函数执行程序。

请注意,在修改启动文件之前,建议备份原始文件,以防止出现问题。同时,务必使用适当的工具和方法来验证和测试RAM检测代码的正确性。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分