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.

[参考译文] AM263P4:R5FSS0-1 SBL OSPI 多核 elf 和 HS-SE 状态的 TCMB 问题

Guru**** 2874030 points

Other Parts Discussed in Thread: AM263P4, UNIFLASH, SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1623335/am263p4-r5fss0-1-tcmb-problem-of-sbl-ospi-multicore-elf-and-hs-se-state

器件型号: AM263P4
Thread 中讨论的其他器件: UNIFLASHSYSCONFIG

您好、TI 专家。

AM263P4 开发工作的第一阶段在 HS-P4 FS 状态下即将完成。

 

在客户现场进行产品测试之前、我尝试将电路板更改为安全模式。

(1) 我为 HS-SE 器件制作了一个定制电路板。

(2) 我为 HS-SE 器件制作了 HSMRt 固件。

(3) 我从下面的原始文件修改了 devconfig.mak

  Device_type?=HS
  kd_salt={another}/ kd_salt.txt
  CUST_MPK={PARAMER}/mcub_custMpk.pem
  CUST_MEK={PARAMER}/ mcu_custMek.key
  ENC_ENABLED?=是

(3) 我使用修改后的 devconfig.mak 和 HSMRt 固件再次为 HS-SE 器件构建了 SBL_UART_UNIFLASH 和 SBL_OSPI。

(4) 我使用修改后的 devconfig.mak 再次为 HS-SE 器件构建了我的应用程序。

 

然后、我在 OSPI 引导模式下引导结果、但进度在 SBL_OSPI 程序中停止。

在检查了 SBL_OSPI 编程进度后、我找到了下面的停止点。

状态= Bootloader_parseAndLoadMultiCoreELF (bootHandle、&bootImageInfo);

 

我没有使用应用程序、而是在相同的过程中测试了空的系统工程、并成功地运行了程序。

在更改和修改项目文件后、我得出结论:如果 R5FSS0-1 的 TCMB 在中使用 HS-SE STATE、SBL OSPI 停止 bootloader_parseAndLoadMultiCoreELF 测量输出。

  • SBL FS 程序在 HS-OSPI 状态下没有问题。
  • 只有 R5FSS0-1 TCMB 在 SBL OSPI 引导中出现问题。
  • 当我删除 R5FSS0-1 TCMB 中的初始化变量和可执行代码时、SBL OSPI 没有问题。

 

我附上了空系统工程的 R5FSS0-1 的简单测试代码。

empty.c (修改后的文件)

#include <stdio.h>
#include "ti_drivers_config.h"
#include "ti_drivers_open_close.h"
#include "ti_board_open_close.h"


volatile float temp_data;

// case 1 : initialized data in TCMB
float data_preset __attribute__((section(".data.TCMB"))) = {0};

// case 2 : place code in TCMB
void __attribute__((section(".text.TCMB"))) background_variable(void)
{
    // make this function size not too small in order not to make this function optimized
    temp_data = data_preset;    temp_data = data_preset+1;  temp_data = data_preset+2;
    temp_data = data_preset+3;  temp_data = data_preset+4;  temp_data = data_preset+5;
    temp_data = data_preset+6;  temp_data = data_preset+7;  temp_data = data_preset+8;
    temp_data = data_preset+9;  temp_data = data_preset+10;
}

void empty_main(void *args)
{
    Drivers_open();
    Board_driversOpen();

    while(1)
    {
        background_variable();
    }

    Board_driversClose();
    Drivers_close();
}

user.cmd  (附加文件)

SECTIONS
{
    .data.TCMA : {} > R5F_TCMA, palign(8)
    .data.TCMB : {} > R5F_TCMB, palign(8)
    .data.OCRAM : {} > OCRAM, palign(8)

    .text.TCMA : {} > R5F_TCMA, palign(8)
    .text.TCMB : {} > R5F_TCMB, palign(8)
    .text.OCRAM : {} > OCRAM, palign(8)
}

MEMORY
{
}

案例 1 或案例 2 在 TCMB 中使用存储器。

(TCMB 中定义的未初始化数据不会产生问题。)

 

由于 TCMB 存储器的大小和执行速度限制、我的应用程序必须使用该存储器。

我是否可以尽快获得此问题的解决方案?

 

请注意、

Jeuk Chang

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jeeuk:

    它可能与 HSSE 状态下的防火墙设置有关、我可以在下周初检查它并返回给您。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Nilabh Anand。

    我比较了 TIFS 文档中的实际 MPU 防火墙设置 (SysConfig) 和防火墙配置表。

    我发现 SysConfig 中的一些设置在大小(结束地址)上略有不同。

    4-4、5-4、6-4、7-4、10-2、 11-1

    SysConfig 中的某些设置在权限 CPUID 上有所不同。

    14-0、15-0、16-0、17-0、19-0、 19-1、19-2、20-0

    新项的更多信息和新项。

    10-5, 10-6.

    但我认为这些变化并不重要。

    相反、我认为 SysConfig 和 TIFS 表中的 TCMB 大小 与实际的 TCMB 大小不匹配 (AM263P4 中为 96KB)。

    4-1、5-1、6-1、7-1

    我尝试扩大面积、但 SysConfig 阻止了试用。

    这是我的另一个问题,但我将其留待以后。

    如果您再次检查 MPU 设置、请同时回答我有关 TCMB 大小设置的问题。

    请注意、

    Jeuk Chang

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jeeuk Chang:

    Nilabh 是 OOO、很抱歉回复延迟。

    我是在我这边尝试的  

    同时,请允许我知道在哪个阶段  bootloader_parseAndLoadMultiCoreELF  “是不是也在逗我?“

    对于未初始化的变量、它正在工作、因为 API 不会解析这些区域。  

    谢谢。此致、

    Nikhil Dasan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Nikhil Dasan。

    很遗憾、我还不知道安全调试方法。

    我在 SBL OSPI 的每个步骤中通过 UART 使用了日志输出、并找到了停止点。

    此致、

    Jeuk Chang

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好。

    自从我发布这个问题以来已经将近 20 天了。

    引导加载程序函数位于库中、因此很难在 HS-SE 环境中修改或跟踪它们。

    在确定原因之前、我想知道 TI 的 HS-SE 电路板上是否会出现相同的问题。

    我希望何时听到有关进展的最新消息?

    此致、

    Jeuk Chang

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好。

    我又谈了一个与这个问题有关的话题。

    AM263P4:HS-SE 状态的 MPU 防火墙和 SBL 启动问题 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    此致、

    Jeuk Chang