TIwilliam hill官网
直播中

寇亦青

7年用户 546经验值
私信 关注

28069 CLA寄存器设置问题,无法将这个寄存器设为1,请问是什么原因?

本帖最后由 一只耳朵怪 于 2018-6-7 15:14 编辑

Cla1Regs.MMEMCFG.bit.RAM0CPUE=1;
怎么无法将这个寄存器设为1啊
我初始化设置CLA寄存器 用表达式观察窗口或存储器地址访问窗口观察 这位总是0 我想在cpu也访问CLA ramp0
感觉这条指令不起作用 且也加了EALLOW 指令了

回帖(5)

笪琳琳

2018-6-7 06:59:29
楼主参考一下下面这个历程:
C:ticontrolSUITEdevice_supportf2806xv130F2806x_examplescla_adc_fir_flash
void init_cla()
[
  //
  // This code assumes the CLA clock is already enabled in
  // the call to InitSysCtrl();
  //
  // EALLOW: is needed to write to EALLOW protected registers
  // EDIS: is needed to disable write to EALLOW protected registers
  //
  // Initalize the interrupt vectors for Task 7 (CLA FIR Filter)
  // and for Task 8 (FIR filter initalization)
  //
  // The symbols used in this calculation are defined in the CLA
  // assembly code and in the CLAShared.h header file
  //
  EALLOW;
  Cla1Regs.MVECT7 = (Uint16) (&Cla1Task7 - &Cla1Prog_Start)*sizeof(Uint32);
  Cla1Regs.MVECT8 = (Uint16) (&Cla1Task8 - &Cla1Prog_Start)*sizeof(Uint32);
  //
  // Task 7 has the option to be started by either EPWM7_INT or ADCINT7
  // In this case we will allow ADCINT7 to start CLA Task 7
  //
  Cla1Regs.MPISRCSEL1.bit.PERINT7SEL = CLA_INT7_ADCINT7;
  //
  // Copy the CLA program code from its load address to the CLA program memory
  // Once done, assign the program memory to the CLA
  //
  // Make sure there are at least two SYSCLKOUT cycles between assigning
  // the memory to the CLA and when an interrupt comes in
  //
  memcpy(&Cla1funcsRunStart, &Cla1funcsLoadStart, (Uint32)&Cla1funcsLoadSize);    
  Cla1Regs.MMEMCFG.bit.PROGE = 1;
  //
  // Enable the IACK instruction to start a task
  // Enable the CLA interrupt 8 and interrupt 7
  //    
  Cla1Regs.MCTL.bit.IACKE = 1;            
  Cla1Regs.MIER.all = (M_INT8 | M_INT7);
  //
  // Force CLA task 8 using the IACK instruction
  // Task 8 will initalize the filter input delay
  // line to zero (X[0] - X[4]).
  //
  // No need to wait, the task will finish by the time
  // we configure the ePWM and ADC modules
  //
  Cla1ForceTask8();
]
                                                                         如果您认为此问题已被解答,请在“这是否解答您的问题” 后,点击“是”按钮! 谢谢您的合作!
举报

王秀梅

2018-6-7 07:16:10
请确保当你查看时,在debug视图下的焦点(也就是你的光标)是在CLA内核上而不是在C28x上。
                                                                         If a post answers your question, please mark it with the "verify answer" button.
举报

陈飞

2018-6-7 07:31:40
这一位是可读可写的,不应该写不进去啊!您用Expression看的时候是realtime模式么?
您可以在程序中做判断,比如如果这个位设置为1了,那么某个IO口拉高。。
                                                                         Young Hu
举报

寇亦青

2018-6-7 07:49:59
引用: Arttronix 发表于 2018-6-7 07:31
这一位是可读可写的,不应该写不进去啊!您用Expression看的时候是realtime模式么?
您可以在程序中做判断,比如如果这个位设置为1了,那么某个IO口拉高。。
                                                                         Young Hu

这是在初始化执行的程序 我设了断点 单步执行后 通过Expression和Memory直接对寄存器地址中的内容进行观察 就是写不进去
举报

更多回帖

发帖
×
20
完善资料,
赚取积分