TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28379D: cla配置

Part Number:TMS320F28379D

现在在调试CLA功能,使用芯片28377d  配置函数如下

void init_cla(void)
{

memcpy((uint32_t *)&Cla1ProgRunStart, (uint32_t *)&Cla1ProgLoadStart,(uint32_t)&Cla1ProgLoadSize );

MemCfg_setLSRAMMasterSel(MEMCFG_SECT_LS0, MEMCFG_LSRAMMASTER_CPU_CLA1);
MemCfg_setLSRAMMasterSel(MEMCFG_SECT_LS1, MEMCFG_LSRAMMASTER_CPU_CLA1);
MemCfg_setLSRAMMasterSel(MEMCFG_SECT_LS2, MEMCFG_LSRAMMASTER_CPU_CLA1);
MemCfg_setLSRAMMasterSel(MEMCFG_SECT_LS3, MEMCFG_LSRAMMASTER_CPU_CLA1);
MemCfg_setLSRAMMasterSel(MEMCFG_SECT_LS4, MEMCFG_LSRAMMASTER_CPU_CLA1);
MemCfg_setLSRAMMasterSel(MEMCFG_SECT_LS5, MEMCFG_LSRAMMASTER_CPU_CLA1);

MemCfg_setCLAMemType(MEMCFG_SECT_LS0, MEMCFG_CLA_MEM_PROGRAM); //将ram区设置为代码页
MemCfg_setCLAMemType(MEMCFG_SECT_LS1, MEMCFG_CLA_MEM_PROGRAM);
MemCfg_setCLAMemType(MEMCFG_SECT_LS2, MEMCFG_CLA_MEM_PROGRAM);
MemCfg_setCLAMemType(MEMCFG_SECT_LS3, MEMCFG_CLA_MEM_PROGRAM);
MemCfg_setCLAMemType(MEMCFG_SECT_LS4, MEMCFG_CLA_MEM_PROGRAM);
MemCfg_setCLAMemType(MEMCFG_SECT_LS5, MEMCFG_CLA_MEM_DATA);
#pragma diag_suppress = 770
CLA_mapTaskVector(CLA1_BASE , CLA_MVECT_1, (uint16_t)&Cla1Task1);
CLA_mapTaskVector(CLA1_BASE , CLA_MVECT_2, (uint16_t)&Cla1Task2);
CLA_mapTaskVector(CLA1_BASE , CLA_MVECT_3, (uint16_t)&Cla1Task3);
CLA_mapTaskVector(CLA1_BASE , CLA_MVECT_4, (uint16_t)&Cla1Task4);
CLA_mapTaskVector(CLA1_BASE , CLA_MVECT_5, (uint16_t)&Cla1Task5);
CLA_mapTaskVector(CLA1_BASE , CLA_MVECT_6, (uint16_t)&Cla1Task6);
CLA_mapTaskVector(CLA1_BASE , CLA_MVECT_7, (uint16_t)&Cla1Task7);
#pragma diag_warning = 770
CLA_enableIACK(CLA1_BASE);
CLA_enableTasks(CLA1_BASE, CLA_TASKFLAG_ALL);

CLA_setTriggerSource(CLA_TASK_1, CLA_TRIGGER_EPWM1INT); //cla触发源设置

// Interrupt_register(INT_CLA1_1, &cla1Isr1);
// Interrupt_register(INT_CLA1_2, &cla1Isr2);
// Interrupt_register(INT_CLA1_3, &cla1Isr3);
// Interrupt_register(INT_CLA1_4, &cla1Isr4);
// Interrupt_register(INT_CLA1_5, &cla1Isr5);
// Interrupt_register(INT_CLA1_6, &cla1Isr6);
// Interrupt_register(INT_CLA1_7, &cla1Isr7);
// Interrupt_register(INT_CLA1_8, &cla1Isr8);
//
//
// // Enable CLA interrupts at the group and subgroup levels
//
// Interrupt_enable(INT_CLA1_1);
// Interrupt_enable(INT_CLA1_2);
// Interrupt_enable(INT_CLA1_3);
// Interrupt_enable(INT_CLA1_4);
// Interrupt_enable(INT_CLA1_5);
// Interrupt_enable(INT_CLA1_6);
// Interrupt_enable(INT_CLA1_7);
// Interrupt_enable(INT_CLA1_8);

}

并且在.h中添加了函数声明

__interrupt void Cla1Task1();
__interrupt void Cla1Task2();
__interrupt void Cla1Task3();
__interrupt void Cla1Task4();
__interrupt void Cla1Task5();
__interrupt void Cla1Task6();
__interrupt void Cla1Task7();
__interrupt void Cla1Task8();

但编译时总是提示#10234-D 错误如图所示

请ti工程师帮忙分析一下

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

,

qiangguang li:

谢谢ti工程师的支持,我已找到问题所在,已解决。问题原因所定义的.cla文件和一个.c文件重名所导致的。按照我的理解不同类型的源文件文件名称应该是可以不一样的。

,

Cherry Zhou:

好的,您的问题解决了就好。如需其他帮助请随时联系我们!

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28379D: cla配置
分享到: 更多 (0)