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.

[参考译文] TMS570LC4357:基于 ARM 的微控制器论坛

Guru**** 2443660 points
Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1254793/tms570lc4357-arm-based-microcontrollers-forum

器件型号:TMS570LC4357
主题中讨论的其他器件: HALCOGEN
您好!
  我最近在用TMS570LC4357这款芯片的开发板,HALCoGen自动生成的CMD文件是FLASH运行的,每次调试都需要擦写FLASH,太慢了。
  我需要像C2000的DSP那样(TI提供了RAM模式的CMD),可以在RAM模式下调试,由于没有找到570的现成的RAM 模式CMD,所以我自行修改了FLASH模式的CMD,虽然编译不报错,但是也没有实现在RAM上调试这个目标。
  修改前的CMD如下:
起始地址是0000 /μ s,FLASH的首地址 μ s
内存
{
  VECTORS (X) :origin=0x00000000 length=0x00000020
  FLASH0 (RX):origin=0x00000020 length=0x001FFFE0
  FLASH1 (RX):origin=0x00200000 length=0x00200000
  堆栈 (RW):origin=0x08000000 length=0x00001500
  RAM   (RW):origin=0x08001500 length=0x0007EB00
部分
{
  .intvecs :{}>向量
  .text  align(32):{}> FLASH0| FLASH1
  .const align (32):{}> FLASH0 | FLASH1
  .cinit align (32):{}> FLASH0 | FLASH1
  .pinit align (32):{}> FLASH0 | FLASH1
  .bss   :{}> RAM
  .data  :{}> RAM
  .sysmem :{}> RAM
  修改后的CMD如下:
起始地址是0800 /μ s,RAM的首地址 μ s
  内存
{
  向量(X) :origin=0x08000000 length=0x00000020
  FLASH0 (RX):origin=0x08000020 length=0x00008000
  FLASH1 (RX):origin=0x08008020 length=0x00009000
  堆栈 (RW):origin=0x08011020 length=0x00009000
  RAM   (RW):origin=0x0801A020 length=0x00064FE0
部分
{
  .intvecs :{}>向量
  .text  align(32):{}> FLASH0| FLASH1
  .const align (32):{}> FLASH0 | FLASH1
  .cinit align (32):{}> FLASH0 | FLASH1
  .pinit align (32):{}> FLASH0 | FLASH1
  .bss   :{}> RAM
  .data  :{}> RAM
  .sysmem :{}> RAM
/*。TI.ramfunc  :{}> RAM*/
请帮忙指导下,570是否支持RAM模式debug,如果支持,应该如何正确修改CMD?如何将FLASH和RAM的地址映射上呢?
谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我最近一直在使用 TMS570LC4357的开发板、HALCoGen 自动生成的 CMD 文件用于在 闪存模式下进行调试。 每次调试时、我都需要重写闪存、这太慢了。

    我需要一个  CMD 文件用于  RAM 模式下进行调试。 但是、我没有找到它、所以我要尝试修改闪存模式 CMD 文件。 虽然不存在编译错误、但我没有实现 RAM 模式下进行调试的目标

    修改前的 CMD 如下所示:

    //闪存起始地址是0x0000 0000

    内存
    {
      VECTORS (X) :origin=0x00000000 length=0x00000020
      FLASH0 (RX):origin=0x00000020 length=0x001FFFE0
      FLASH1 (RX):origin=0x00200000 length=0x00200000
      堆栈 (RW):origin=0x08000000 length=0x00001500
      RAM   (RW):origin=0x08001500 length=0x0007EB00
    部分
    {
      .intvecs :{}>向量
      .text  align(32):{}> FLASH0| FLASH1
      .const align (32):{}> FLASH0 | FLASH1
      .cinit align (32):{}> FLASH0 | FLASH1
      .pinit align (32):{}> FLASH0 | FLASH1
      .bss   :{}> RAM
      .data  :{}> RAM
      .sysmem :{}> RAM
     修改后的 CMD 如下所示:
    // RAM 起始地址是0x0800 0000
      内存
    {
      向量(X) :origin=0x08000000 length=0x00000020
      FLASH0 (RX):origin=0x08000020 length=0x00008000
      FLASH1 (RX):origin=0x08008020 length=0x00009000
      堆栈 (RW):origin=0x08011020 length=0x00009000
      RAM   (RW):origin=0x0801A020 length=0x00064FE0
    部分
    {
      .intvecs :{}>向量
      .text  align(32):{}> FLASH0| FLASH1
      .const align (32):{}> FLASH0 | FLASH1
      .cinit align (32):{}> FLASH0 | FLASH1
      .pinit align (32):{}> FLASH0 | FLASH1
      .bss   :{}> RAM
      .data  :{}> RAM
      .sysmem :{}> RAM
    /*。TI.ramfunc  :{}> RAM*/
    您能否提供有关570是否支持 RAM 模式调试的指导? 如果可以、如何正确修改 CMD? 如何映射闪存和 RAM 的地址?
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已开始处理您的问题、并将尝试尽快提供更新。

    --

    谢谢。此致、
    Jagadish。

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

    尊敬的 Jiangbo:

    TMS570和 RM4x/5x MCU 确实允许您重新映射闪存和片上 SRAM、因此支持您正在寻找的器件。 通过这种方法、您可以 更短代码 例程来测试特定的函数和特性、而无需针对您所做的每个代码更改重新编程闪存。

    链接器 cmd 文件中的更改:

    1:存储器:

     将堆栈更改为闪存中的内存范围

    2.章节:

      将.bss、.data 和.sysmem 映射到 FLASH0

    sys_core.asm 中的更改:

    目标连接后、在 CCS-->scripts->TMS570LC43x 存储器映射设置中启用"CC_MemoryMap_RAM_AT_0x00"  

    打开存储器映射窗口、确保存储器范围0x0~0x7FFFF 为 RAM

    然后将输出文件加载到闪存中。

    请注意、使用此方法时、必须避免所有片上 SRAM 测试或初始化。