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.

[参考译文] TMS320F2808:TMS320F2808

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/969532/tms320f2808-tms320f2808

器件型号:TMS320F2808

以下情况将继续、请尽快帮助我。 谢谢

编号:CS0382601
联系人:李阳
名字:Lee
姓:Yang
简短说明:如何将2个文件编程到2个不同的扇区。
电子邮件:lee.yang@flir.com
公司:FLIR 系统公司
公司电话:
语言:英语
状态:打开
提供案例详细信息或评论:(1)我有 CCS Studio 10。
(2)当我编程到 TMS320F2808时。
(2)默认扇区为
扇区 A (0X3F4000 - 0x3F7FFF)
扇区 B (0x3F0000 - 0x3F3FFF)
扇区 C (0x3EC000 - 0x3EFFFF)
扇区 D (0x3E8000 - 0x3EBFFF)

(3)我想尝试将2个文件编程到2个不同的扇区
一个文件、bootload.out (文件大小271KB)文件程序至
0x3D7800-0x3d7bff (长度0x3ff)

将一个文件 application.out (文件大小为395KB)文件程序添加到
0x3e8000- 0x3f7fff (长度0xFFFF)

(4)我该怎么做?

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

    Lee、

    感谢您访问 E2E 论坛。  我建议查看此 wiki 文章 ,该文章将介绍您的方案。  

    最棒的

    Matthew

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

    您好:

     马修:

     (1)我是用户、不是开发人员。  

    (2)您能告诉我如何操作吗

    一个文件、bootload.out (文件大小271KB)文件程序至
    0x3D7800-0x3d7bff (长度0x3ff)

    将一个文件 application.out (文件大小为395KB)文件程序添加到
    0x3e8000- 0x3f7fff (长度0xFFFF)

    在 CCS Studio 10中?

    (3)您能告诉我如何将存储器保存到 CCS Studio 10中的.out 文件中吗?

    (1)   我尝试使用工具->保存内存、这是正确的方法吗?

    因为文件名将是.dat 文件。 不是.out 文件。

    (4)是否可以通过电子邮件向您发送一些附加文件? 您的电子邮件地址是什么?  

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

    Lee、

    我理解您的观点#1。  此线程提到 了一种替代方法来执行您所描述的操作、即获取加载的值(布置两个不同段的加载)并将它们导出到 COFF 文件。  获得 COFF 文件后、您可以直接从 CCS 加载该文件。

    最棒的

    Matthew   

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

    您好:

     操作方法

     将它们导出到 COFF 文件中

    谢谢

     

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

    Lee、

    您需要打开内存窗口(View->Memory 窗口)。  然后单击下图中圈出的图标、然后单击"Save memory"(保存内存)。  这将打开您看到的对话框。  然后、从下拉列表中选择"Save as "Coff (另存为"Coff)"。  剩下的内容应该很简单、然后会询问您存储器页面(Pick 程序)以及范围。

    最棒的

    Matthew

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

    您好:Mathhew:
    您能不能帮助我定义起始地址、并添加 F2808存储器映射以供明天讨论。
    是什么?
    (1)目前、我通过 CCSstudio 将 bootload.out 文件加载到 F2808中
    (2)我通过其他自制应用程序将 application.hex 文件加载到 F2808。
    (3)对这2个文件进行编程后、电路板正常工作。
    我的目标是在对这两个文件进行编程后保存存储器
    并将其另存为 COFF 格式文件、称为 total.out 文件
    然后、只使用 total.out 文件通过 CCSstudio 对电路板进行编程。
    (4)我们失去了设计这种方法的工程师。 根据旧电子邮件。

    (a) bootload.out 位于扇区
    0x3D7800 - 0x3d7bff (长度0x3ff)、DEC。 1023.
    该部门只有1023个。
    引导加载文件大小为271KB
    即使文件大小大于扇区大小、也可以执行此操作吗?

    扇区对于引导加载文件来说太小

    (b) application.hex 扇区是
    0x3e8000- 0x3f7fff (长度0xFFFF)、DEC、65535
    该扇区只有65535
    应用程序文件大小为395 KB
    即使文件大小大于扇区大小、也可以执行此操作吗?

    (5)这里是 F2808内存映射

    /* 0x3d7800 - 0x3d7fff OTP (程序和数据)*/
    /* 0x3e8000 - 0x3f7fff 闪存(程序和数据)*/

    正如电子邮件中所说的、引导加载文件位于 OTP 中、应用程序位于闪存中。

    (6)现在、在我对这2个文件进行编程之后。
    当我尝试保存存储器时、CCS Studio 中字的起始地址和长度是多少?

    /******** /
    /* F2808内存映射*/
    /**//
    /*注意:M0M1MAP 和 VMAP 信号在 F2808内核上绑定为高电平*
    /**//
    /* 0x000000 - 0x0003ff M0 SARAM (程序和数据)*/
    /* 0x000400 - 0x0007ff M1 SARAM (程序和数据)*/
    /* 0x000800 - 0x000fff 外设帧0 (PF0)(仅数据)*/
    /* 0x006000 - 0x006fff 外设帧1 (PF1)(仅数据)*/
    /* 0x007000 - 0x007fff 外设帧2 (PF2)(仅数据)*/
    /* 0x008000 - 0x008fff L0 SARAM (程序和数据)*/
    /* 0x009000 - 0x009fff L1 SARAM (程序和数据)*/
    /* 0x00a000 - 0x00bfff H0 SARAM 镜像(程序和数据)*/
    /* 0x3d7800 - 0x3d7fff OTP (程序和数据)*/
    /* 0x3e8000 - 0x3f7fff 闪存(程序和数据)*/
    /* 0x3f8000 - 0x3f8fff L0 SARAM 镜像(程序和数据)*/
    /* 0x3f9000 - 0x3f9fff L1 SARAM 镜像(程序和数据)*/
    /* 0x3fa000 - 0x3fbfff H0 SARAM (程序和数据)*/
    /* 0x3ff000 - 0x3ffff 引导 ROM (程序和数据)*/
    /******** /

     

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

    Lee、

    感谢您的背景。  C28x 上的地址需要记住的一点是、我们本地是基于16位字的访问、而每个地址像 ARM 这样更传统的8位(字节)访问。   

    因此、在第一种情况下、如果代码大小为271KB、则在可用的1023中、只需271/2 = 136个字就可以存储此信息。  第二个负载也是如此。

    您可以选择仅保存感兴趣的部分、或者更简单地保存整个闪存/ OTP 存储器。  闪存 API 是"智能的"、因为如果你馈送它已擦除(0xFFFF)数据并且阵列已擦除、它将跳过该程序。

    下面是另存为 COFF 文件的下一步屏幕。  获得此文件后、您可以像加载生成的内置 COFF 文件一样加载此文件。

    您可以在验证了字的长度后缩短字的长度、以节省时间。

    最棒的
    Matthew

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

    您好:

     Mattew:

     只需确保您的最后一张图片  

    格式:8位十六进制 TI 样式

    应该更改为

     COFF。

    对吗?

     

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

    您好:

     (1)我如何知道这个新的.out 将取代整个 OTP 和闪存扇区?

    (2)我没有看到首先擦除这2个扇区。

    谢谢

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

    您好:

     (1)是否有任何方法从 CCS Studio 中擦除 OTP 和闪存中的所有内容?

    您可以给我发送一封.out 可以 清除 OTP 和闪存的电子邮件吗?

    (2)回放时、我无法附加任何文件。

     如何附加文件?

    谢谢

     

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

    Lee、

    在 CCS 中,点击“工具”->“片上闪存”。  这将显示一个对话框、您可以在其中擦除闪存。  我认为加载闪存内容时的默认设置也是擦除闪存;但由于这已经存在、您需要按照上述步骤手动擦除、请确认它全部为0xFFFF、然后加载 COFF 以确保其匹配。

    最棒的
    Matthew

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

    您好:

       CCS 工具中的擦除扇区只擦除闪存扇区、而不是 OTP 扇区。

    是否有任何方法擦除 OTP 扇区?

     这是擦除扇区。

    扇区 A (0X3F4000 - 0x3F7FFF)长度(3FFF)
    扇区 B (0x3F0000 - 0x3F3FFF)长度(3FFF)
    扇区 C (0x3EC000 - 0x3EFFFF)长度(3fff)
    扇区 D (0x3E8000 - 0x3EBFFF)长度(3FFF)

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

    Lee、

    很抱歉、我忘记了我们在您的地址中有一个 OTP 范围。  不可以、这是不可擦除的。  要验证完整 COFF、您需要获取新器件。

    但是、由于 OTP 内容相同、您仍可以检查主闪存阵列数据的良好状态。  由于 COFF 与 OTP 中已存在的数据相同、因此编程器仍将传递。  这样可以很好地确信 OTP 将在新器件上正确编程。

    最棒的

    Matthew