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.

[参考译文] TMS570LS1227:从_c_int00到 main ()的 HAL 引导时间

Guru**** 2465890 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1007639/tms570ls1227-hal-boot-time-from-_c_int00-to-main

器件型号:TMS570LS1227

我测量了从_c_int00到我第一次调用 main ()所花费的周期、我获得了超过16ms 的时间、以100MHz 的频率运行内核。 如果这是真的、那么这对我的系统来说是个问题、我需要得到最大7ms 的时间。

我开始测量 -在 PMU 中使用周期计数器-从 errata_PBIST_4()行之后开始 ;   (理想情况下,我希望在 PLL 配置和锁定后直接开始,但该勘误方法重置/重新配置 PMU,我懒惰地记录 PMU 前后的周期并进行累加。)  

查找/步进块,大部分时间都处于忙状态,等待自检完成, 启动-逐一等待:

* Run PBIST on STC ROM */
    pbistRun((uint32)STC_ROM_PBIST_RAM_GROUP,
             ((uint32)PBIST_TripleReadSlow | (uint32)PBIST_TripleReadFast));
             
* Wait for PBIST for STC ROM to be completed */
    /*SAFETYMCUSW 28 D MR:NA <APPROVED> "Hardware status bit read check" */
    while(pbistIsTestCompleted() != TRUE)
    { 
    }/* Wait */ 
    
    ....
    
    ...
    * Run PBIST on PBIST ROM */
    pbistRun((uint32)PBIST_ROM_PBIST_RAM_GROUP,
             ((uint32)PBIST_TripleReadSlow | (uint32)PBIST_TripleReadFast));
    
    /* Wait for PBIST for PBIST ROM to be completed */
    /*SAFETYMCUSW 28 D MR:NA <APPROVED> "Hardware status bit read check" */
    while(pbistIsTestCompleted() != TRUE)
    { 
    }/* Wait */ 
    
    .....
    
    /* Run PBIST on CPU RAM.
     * The PBIST controller needs to be configured separately for single-port and dual-port SRAMs.
     * The CPU RAM is a single-port memory. The actual "RAM Group" for all on-chip SRAMs is defined in the
     * device datasheet.
     */
    pbistRun(0x00300020U, /* ESRAM Single Port PBIST */
             (uint32)PBIST_March13N_SP);

/* USER CODE BEGIN (32) */
/* USER CODE END */

    /* Wait for PBIST for CPU RAM to be completed */
    /*SAFETYMCUSW 28 D MR:NA <APPROVED> "Hardware status bit read check" */
    while(pbistIsTestCompleted() != TRUE)
    { 
    }/* Wait */       
    
    ...
    
    // ( OTHER .. )

是否不可能启动尽可能多的正常(按依赖项..?) 一次、然后在结束时等待?   或者提供的代码是否尽可能多地同时启动测试。

如果可以在这里进行任何旋转、该怎么办?

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

    请参阅以下文档中列出的执行时间。 您不必启用应用中未使用的外设。 例如、如果您在 LS1227ZWT 上不使用 N2HET2、则无需为 N2HET2 RAM 运行 PBIST、以及为 N2HET2 RAM 运行奇偶校验等

    e2e.ti.com/.../SafeTI_5F00_Diagnostic_5F00_Library_5F00_Datasheet.pdf

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

    谢谢,我会的,但实际上,这个启动实际上仍然是我需要的测试,就像在调试器下不能有的至少几个测试一样(CPU 测试和 smth 等)。