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.
使用 C2000Piccolo
F28004x 系列 LaunchPad
开发套件与 CCSv9.1的客户。
他们已开始使用 CCSv9.1中的 CLA 示例项目、该项目的结构类似于 他们在应用程序中要执行的操作。 (C:\ti\c2000\C2000Ware_2_00_00_02\device_support\f28004x\examples\cla)。 项目名称:cla_ex1_background_task。
它有3个任务、任务1对由 ePWM 脉冲触发的内部 ADC 进行采样并执行 FIR 低通滤波器。 此时会设置一个标志、以通知后台任务样本已准备就绪。 任务7是由软件触发运行的初始化任务、后台任务则持续运行、从任务1收集样本并将其保留在循环缓冲区中。 循环缓冲区“buffer”在 CPU 主函数中声明,并使用该 pragma 将其放置在 CLADataRAM 中
#pragma DATA_SECTION (buffer、"Cla1DataRam");
volatile float buffer[buffer_size];
CPU 和 CLA 均可访问该缓冲器。 该示例使用 CCS 绘制缓冲区图。 他们尝试了一个小示例、方法是在任务1中放置一个32位计数器、在任务1中递增计数器、并在任务结束中断服务例程 cla1Isr1()中查看计数器。 他们在 cla_ex1_background_task.c 中添加了以下代码
#pragma DATA_SECTION (Task1_Count、"Cla1DataRam");
volatile unsigned long Task1_Count;
并添加到 cla_ex1_background_task_shared.h
extern volatile unsigned long Task1_Count;
任务1代码现在在 ReadFlag 之后插入了一条语句“Task1_counter++”
f_filteredValueReady = true;
Task1_Count++;
他们 在任务1中将 Task1_Counter 初始化为0。
当 它们在任务1结束中断服务例程中放置一个断点时、 它们期望在每次迭代中看到变量 Task1_Counter 递增1。 但是、在 CCS 中为 Task1_Counter 显示的值未定义(如随机)、因此存在偏差或某种情况。 缺少 CLA 的一些信息。
无符号长整型 CLA_Counter = 0;//全局
#pragma CODE_SECTION (cla1Isr1、".TI.ramfunc")
#endif
__attribute__((中断) void cla1Isr1 ()
{
CLA_Counter =任务1_Count;
EALLOW;
//
//清除 ADC 中断标志,以便下一个 SOC 可以
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1U;
//确认任务1的任务结束中断
//
PieCtrlRegs.PIEACK.bit.ACK11 = 1U;
EDIS;
}
您好、Lawrence、
我正在研究这一点、并计划在今天(星期四)结束前向您提出问题或建议。
此致
Lori
劳伦斯
在提供项目时 、Cla1DataRam 内存(RAMLS2)似乎已满。 将计数器添加到此存储器应会导致生成错误。
是否以某种方式更改了链接器命令文件或工程以使其编译?
请检查.map 文件以查看计数器的结束位置以及 CLA 和 CPU 是否可以访问该存储器。
此致
Lori
劳伦斯
您是否已检查计数器是否已正确初始化? 您在上面指出初始化在任务1中完成、但示例中的初始化例程在任务7中完成。
-打开计数器的存储器窗口
-在强制任务初始化变量的位置运行
-如果你连接了 CLA、CLA 将在 mdebugstop 处停止并且你可以单步执行 CLA 初始化代码。
// //强制任务7,一次性初始化任务 // Cla1Regs.MIFRC.bit.INT7 = 1U;
[引用用户="Lawrence Wong"]如果需要,我可以共享该项目。
感谢您的邀请。 这可能需要更多时间,但(在合理范围内)我宁愿教如何调试问题以使其他人能够这样做:)
-洛里
您好、Lawrence、
我想看看是否需要进一步的帮助来解决此问题、或者我之前的帖子是否有所帮助。 如果问题得到解决、请按"已验证答案"按钮让我知道。 如果没有、请提供更多详细信息。
此致
Lori