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.

[参考译文] C66XCODECS:使用 CCS 加载存储器

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1332352/c66xcodecs-load-memory-using-ccs

器件型号:C66XCODECS

您好!

我将为我的模块编写一个单元测试、该模块将使用 C66x 内核(因此会使用所有内在函数和编译器支持)。 要进行模块测试、我需要加载一个2MB 左右的存储器。 我有两个选项可以执行该操作、

  1. 然后使用 fscanf 并执行类似操作、  
    1. 对于(i = 0;i < array_size;i++)
      {
      fscanf (my_file、"%u\n"、&temp);
      output_array[i]= temp;
  2. 其他方法是使用脚本加载内存或内存浏览器、如链接"e2e.ti.com/.../load-memory"中的建议。

我生成的测试向量来自 Matlab、我可以轻松地以 TI 数据格式".dat"或二进制格式生成。

现在,如果我使用选项1 ,它需要大约3个小时的时间来读取整个内存(因为文件读取太慢)。 第二种方法需要人工干预、当我想使测试模块实现自动化时、这种方法是不可能的。

您能帮助我这么做吗?因为这样只会增加过多的时间来加载内存。

Br

J·迪帕克

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

    Deepak,

    让我来看看这些方法并返回。

    此致

    尚卡里

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

    Deepak,

    当您说第二种方法需要人工干预时、您能否展开讨论?

    因为此 DSS 脚本仅用于自动化操作。

    原始存储器或 CCS .dat 文件的存储器。

    有关 DSS 的更多信息、请访问此处:- https://software-dl.ti.com/ccs/esd/documents/ccs_scripting_console_view.html

    此致

    尚卡里

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

    您好 Shankari、

    感谢您提供此链接、它真的有助于弄清楚事情。

    我需要做的是模块\单元测试、其中包含以下步骤

    1. 加载项目
    2. 在项目中读取输入文件(例如使用 fscanf)-->(fscanf 需要2-3小时)
    3. 运行模块
    4. 从参考文件读取输出--> (fscanf 需要 1小时)
    5. 比较第3步和第4步的输出
    6. 重复2至5、N 次

    当我开发模块时、这个项目将由我完成、然后在夜间编译期间或在远程设置中触发完整性测试时、将通过持续集成流程来完成、所以我想要的是既适合开发人员要求、又适合 CI 要求的解决方案。

    现在、如果我以 TI 格式从 Matlab 转储文件、并以某种方式使用 Memory Explorer 加载或保存存储器、则可以在几秒钟内完成(公平地说、我从未像 loadRaw 命令那样在 CCS 上使用脚本)。

    您的意见如何、我应该如何处理此案例、如果可能、您可以为我指出一些演示代码或脚本、以便针对我的案例执行步骤2和4。

    BTW 感谢链接它是相当长的信息.

    Br

    J·迪帕克

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

    Deepak,

    欢迎。

    对于第2步和第4步、请尝试使用  loadRaw 命令

    ——

    同一个链接也具有语法。

    ——

    示例

    加载和保存内存

    诸如 loadRaw、loadData、loadProg 等存储器和程序加载操作的基本语法如下。

    选择文本
        loadRaw(0x80000000,PAGE_PROGRAM,"C:\\temp\\myFile.bin",32,false)
        loadRaw(0x80000000,0,"/temp/myFile.bin",32,true)
    
    • 请勿在逗号和括号内的参数之间插入空格
    • 在传递对文件的引用时、请使用双引号并使用 C 语法参数、包括转义特殊字符
    • 布尔值必须使用常量 false 传递、TRUE 必须使用小写。
    • 指定目标存储器页的常量是可选的:page_program、page_data 和 page_io 可以分别替换为0、1和2。

    存储器保存操作略有不同

    选择文本
        saveRaw(PAGE_PROGRAM,0x80000000,"C:\\temp\\myFile.bin",0x400,32,false)
    
    • 文件名指示符的正斜杠语法在这种情况下不起作用。
    • 长度参数(本例中为0x400)指定要读取的元件总数、该总数取决于目标器件。 对于 MSP430、F28x 和 C55x、每个元素由16位或两个字节(在上述示例中、将读取0x800个字节)组成。 对于所有其他架构、其长度为32位或4字节(以上示例为0x1000字节)。

    此致

    尚卡里

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

    尊敬的 Shankari:

    抱歉 有一个有关 loadRaw 的问题、

    1. 我是为 TI 数据格式*。dat 文件生成的文件、因此当我执行 loadRaw (0x0c0000000、"E:\\workspace_v5_5\\FT2DData_complete.dat"、32、false)时、它是否会相同(在这两种情况下、我都打开文件  FT2DData_complete.dat
      1. 我看到  FT2DData_complete.dat 与加载存储器不同的原因(与 loadRaw 正确)

    我曾尝试使用 loadRaw 将一个变量放入存储器、其中文件"F5200tvout_Fft2D Out_Sensor = 1_Beam=0.txt"(loadRaw (0x0c000000、page_data、E:Out_Sensor) 中仅写入1个变量、您可以在文件中错误地将其存储器空间映射为真、参见0x32_Fx32_3CDCspape2t_2t_3d、并且将其存储器段(参见真实)  

    地址名称
    ---------------- ---
    00805ad8 Arrange_FT3D_Arrays
    0080574c Arrange_Virtual_Channels
    0080bca0 C$$EXIT
    0080b678 C$$IO$$
    00805754 CoherentSpeCSingleZone
    00805aec Compute_Amplitude_Square
    00805744 Correct_Spdo_
    00820dc0 DSP_fft16x16_Imre
    00805ae4 FFT16_FT3D_Transspose
    0c000000 FT2D_aCmplx16Ft2dOut

     

    再次感谢您的支持

    Br

    J·迪帕克  

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

    Deepak,

    请检查"loadRaw、loadData、loadProg"等之间的差异。

    ——

    是的、CCS 中的加载存储器选项和这些函数将是相似的、但文件类型选项有差异。。。

    但请记住、当使用 "加载存储器选项" 在 CCS 中、附加选项也很少。

    例如:-"filletype"-->"TI-data"、"TI 原始数据"、二进制等选项。

    ——

       

    ——

    另外还有-->在 CCS 中-->转到 help -->帮助内容-->搜索类似"加载存储器"的文本... 它提供了有关所选文件的文件类型的

    TI 数据格式(*。dat)、

    COFF 格式(*。out)、

    或原始数据格式(*。bin)。

    此致

    尚卡里

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

    您好 Shankari、

    很抱歉、我在度假2天、将在周一进行检查。 再次感谢您的精彩帮助。

    Br

    J·迪帕克