This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好
我在两个内核中运行相同的功能(独立模式)、我在 CPU1中获得1.8ms 和 在 CPU2中运行2.8ms 的基准测试。
我怀疑代码是从闪存运行的、但在 CPU2主函数中、我调用了:
InitSysCtrl();
它会调用:
// // InitSysCtrl -系统资源的初始化。 // void InitSysCtrl (void) { // //禁用看门狗 // DisableDog (); #ifdef _flash // //将时间关键代码和闪存设置代码复制到 RAM。 这包括 //以下函数:InitFlash() // // RamfuncsLoadStart、RamfuncsLoadSize 和 RamfuncsRunStart //符号由链接器创建。 请参阅器件.cmd 文件。 // memcpy (&RamfuncsRunStart、&RamfuncsLoadStart、(size_t)&RamfuncsLoadSize); // //调用闪存初始化以设置闪存等待状态。 此函数必须执行的操作 //驻留在 RAM 中。 // InitFlash(); #endif
当然、在 cmd 文件中、我有以下说明:
#if defined (_TI_EABI _) .TI.ramfunc:{}load = FLASH3、 RUN = RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3、 Load_start (RamfuncsLoadStart)、 load_size (RamfuncsLoadSize)、 Load_End (RamfuncsLoadEnd)、 RUN_START (RamfuncsRunStart)、 run_size (RamfuncsRunSize)、 RUN_END (RamfuncsRunEnd)、 align (8) #else .TI.ramfunc:{}load = FLASH3、 RUN = RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3、 load_start (_RamfuncsLoadStart)、 load_size (_RamfuncsLoadSize)、 load_end (_RamfuncsLoadEnd)、 run_start (_RamfuncsRunStart)、 run_size (_RamfuncsRunSize)、 run_end (_RamfuncsRunEnd)、 对齐(8) #endif
我还需要考虑其他事项吗?
谢谢你
你好,Vivek
我想知道您是否有一个有关此问题的示例来检查我们的设置。
谢谢你
大家好、Vivek。
由于 IP 原因、我无法共享整个代码、但我知道在两个 CPU 上运行相同的代码并测量其执行时间可能是一个有效的测试、对吧?
此致
您好!
最好是使用显示问题的完整代码、只要它不依赖于任何硬件组件、但如果您不能共享完整代码、则可以使用示例代码并测试相同代码来检查它 确实存在您在原始代码上遇到的问题、这应该可以解决。
此致、
Vivek Singh