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.
工具/软件:Code Composer Studio
你好
我想在 DSP 中存储有限数量的传入 SDFM 信号采样数据、然后将其导出到文件(例如 Excel 文件)中。 最简单的方法是什么? 该方法应足够快、能够以 fs=50kHz 的速率存储数据。
此致
Manoj、
我有相同的问题。 我应该使用哪种方法? 哪种方法是最简单的? 是否有任何文档可帮助我解决此问题? 或者、我应该阅读 TRM DMA 和 CLA 章节吗?
请告诉我、DSP 的哪一项功能应用于将数据传输到我的 PC、以便我可以立即采用这种方式使用它?
在下面的帖子中、我已经看到、为了存储数据、我们可以使用"watch windows"。 使用观察窗口以足够快的速率存储数据是怎么可能的、这是可能的? (例如,以每秒50K 样本的速率生成的10ms 的所有数据)
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/308446?how-to-store-data-into-computer-
此致
你好 Richard
感谢你的答复。
我将按照您的建议使用 DCL。 我认为您的意思是我应该使用"FDLOG"和"MLOG"。
1-这两个函数(宏代码)是否使用了 DMA? 还是 DMA 是存储和访问数据的不同方式?
2- 如何获得用于28377d 的".cmd"文件(例如 F28069_DCL.cmd)和".asm"文件以修改它们以记录数据?
3 -在我的项目中使用"FDLOG"需要哪些".asm"文件、我应该将这些文件复制到我的项目中?
此致
我建议重点介绍 DCL 中的 FDLOG 组件。 这些函数在内联 C 或汇编语言中实现(而不是宏)、并且它们都不会使用 DMA。 您可以设置一个 DMA 通道来将数据移动到已分配的 RAM 块中。 这是另一种方法。
我没有为 F2837x 系列编写任何 FDLOG 示例、但修改链接器命令文件将会很简单。 参阅我之前提到的 DF22代码示例、您可以使用与 F28069链接器文件第56-59行类似的方法来分配尽可能多的 RAM 块。
此致、
Richard
感谢 Richard 的建议
我将重点介绍 FDLOG。 但是、由于我尚未使用 C2000ware 以及".cmd"文件、我有点困惑。
我的项目是使用 controlSUITE 文件创建的。 此外、我的项目中目前没有任何".cmd"文件。
-要使用"FDLOG"、除了"DCL_fdlog.h"之外、我还应该将哪些文件包含在我的项目中?
-是否可以在我的项目中包含并使用"F28069_DCL.cmd"而不对28377d 进行修改? 或者,我是否可以在不修改的情况下使用这些路径的“,cmd”文件? "C:\ti\controlSUITE\device_support\F2837xD\V210\F2837xD_common\cm"。 如果是、哪些文件?
-".asm"文件怎么样? 我也应该包含它们吗?
此致
我不认为复制这些行是必要的、也不是一个好方法。 您可能需要阅读《汇编语言工具指南》第8章中链接器命令文件的基础知识:
但是、随附的是从草案 DCL v4.0用户指南中提取的内容、该指南将引导您逐步了解如何将数据记录功能添加到代码中。 我建议您只需按照以下步骤操作。 如果有任何不清楚的内容、请随时回帖。
此致、
Richard
e2e.ti.com/.../DCL-v4.0-User_2700_s-Guide-_2800_129_2D00_130_2900_.pdf
非常感谢 Richard
我已经从"spru513"的 ch8开始了解".cmd"文件。
再次感谢您提供的"DCL 用户指南"、我也将仔细阅读它。
您能告诉我如何知道 "2837xD_RAM_lnk_CPU1.cmd"的存储器地址、我可以使用这些地址来写入数据吗? 我的意思是、我是否可以通过添加以下表达式来修改上述文件、而无需考虑:
mySectionName:> RAMGS0,PAGE = 1 ALIG(2)
谢谢。 我对 TI 支持团队非常满意。
此致。
萨那
你好 Richard
我已经阅读 了"DCL V4.9用户指南"以及与存储器和各节相关的 spru513的重要部分。
我遵循了"DCL V4.9用户指南"的说明。
我将一个简单项目导入到 CCS 中:
C:\ti\c2000Ware_DigitalPower_SDK_1_01_00_00\c2000ware\device_support\f2837xd\examples\cpu1\blinki\cpu01
然后、我已从以下路径向我的项目添加了"2837xD_RAM_lnk_CPU1.cmd"文件:
C:\ti\c2000Ware_DigitalPower_SDK_1_01_00_00\c2000ware\device_support\f2837xd\con\cmd
我打算在此文件中添加以下代码:
"
存储器
{
…μ A
RAML5:origin = 0x00C000、length = 0x002000
…μ A
}
部分
{
…μ A
mySectionName:> RAML5,page = 1 align (2)
…μ A
}"
但是在此之前、当我构建项目时、在链接期间发生了一些错误。 (我已附上 显示错误的 CCS 屏幕截图)
值得注意的是、我没有更改 "2837xD_RAM_lnk_CPU1.cmd"文件、只是将其添加到 blinky 工程中! (这是测试 FDLOG 之前的一步!)
还随附了我的项目的一些属性屏幕截图。
我不知道为什么会出现此错误!
请帮帮我。
我还附加了修改后的闪烁码 I、我添加了与 FDLOG 相关的指令。
此致
谢谢 Richard
我已经解决了这个问题、知道我正在处理 FDLOG
问题是、我已将"工作区"添加到链接器搜索路径中。 在工作区的某个位置(我不知道在哪里!) 存在"2837xD_RAM_lnk_CPU1.cmd"文件。 正如您说过的、正在执行两个链接器命令文件。
知道您能告诉我哪些存储器地址允许我使用 FDLOG 写入数据吗? 它是否不同?
此致
与指令的第4步一样、只需选择一个不用于其他任何内容的存储器范围。 缓冲器需要进入数据空间(页1) RAM。 在文件的 SECTIONS 部分中查看分配给每个存储器块的内容、并选择足够大的任何可用块以获取缓冲区。 在您提到的示例.cmd 文件中、RAMGS6似乎未被使用、因此您可以从该文件开始。 汇编语言工具指南 I reference 提供了有关如何编写.cmd 文件的一般示例。
此致、
Richard
很抱歉我迟到了。 不可以、很遗憾、您无法在闪存上使用这些数据日志函数。 闪存的工作方式与 RAM 不同。 您需要将数据记录到 RAM 中。
此致、
Richard
谢谢 Richard
令人失望! 我想最后我必须使用示波器和 DAC 将数据传输到 PC! 因为 SD 卡速度不够快、内部存储器太小。
顺便说一下,感谢您的帮助。
此致