理论教育 典型CLA初始化的顺序

典型CLA初始化的顺序

时间:2023-06-15 理论教育 版权反馈
【摘要】:由主CPU完成的典型CLA初始化顺序如下:将CLA代码复制到程序RAMCLA代码可以来源于Flash存储器、外设通信的数据流以及其他主CPU能够访问的地方。需要时初始化CLA数据RAM用要求的数据常数填写CLA数据RAM。该地址是CLA程序存储器相对于开始地址的一个偏移量。4)将CLA程序RAM映射到CLA空间。CLA上溢和下溢标志在PIE中也有相应的中断。这时CLA准备好中断服务且消息RAM可以用于CPU和CLA传递数据。

典型CLA初始化的顺序

由主CPU完成的典型CLA初始化顺序如下:

(1)将CLA代码复制到程序RAM

CLA代码可以来源于Flash存储器外设通信的数据流以及其他主CPU能够访问的地方。在开发时,调试器也可以用于直接将代码装入CLA程序RAM。

(2)需要时初始化CLA数据RAM

用要求的数据常数填写CLA数据RAM。

(3)配置CLA寄存器

配置CLA寄存器,并保持中断禁止(MIER=0):

●使能PCLKCR3寄存器中的CLA时钟。

●填写CLA任务中断向量:MVECT1~MVECT8。

每个向量需要用任务的开始地址初始化,当CLA收到相应中断时从该地址执行。该地址是CLA程序存储器相对于开始地址的一个偏移量。例如,0x0000对应于CLA程序存储器的第一个地址。

1)选择任务中断源。对于每一个任务在PERINT1SEL寄存器中选择中断源。如果任务由软件产生,那么不需要选择中断。(www.daowen.com)

2)根据需要使能IACK由软件启动任务。设置MCTL[IACKE]位,可以使能IACK指令而启动一个任务。使用IACK指令可以避免设置和清除EALLOW位。

3)根据需要将CLA数据RAM映射到CLA空间。通过写1到MMEMCFG[RAM0E]和MMEMCFG[RAM1E]位可以将两块数据RAM映射到CLA空间。存储器被映射到CLA空间后,主CPU不能访问它。在更改存储器映射配置与访问它之间,要留出两个SYSCLKOUT时钟周期。

4)将CLA程序RAM映射到CLA空间。通过写1到MMEMCFG[PROGE]位可以将程序CLA RAM映射到CLA空间。在存储器被重新映射到CLA空间后,主CPU只能对存储器块进行调试访问。在更改存储器的映射配置与访问它们之间,要留出两个SYSCLKOUT时钟周期。

(4)初始化PIE向量表和寄存器

当一个CLA任务完成后,PIE中相应的中断会设置标志。CLA上溢和下溢标志在PIE中也有相应的中断。

(5)使能CLA任务/中断

在中断使能寄存器(MIER)设置合适的位,以允许CLA中断服务。

(6)初始化其他外设

初始化任何外设(ePWM、ADC等),会向CLA产生一个中断且由CLA任务服务。

这时CLA准备好中断服务且消息RAM可以用于CPU和CLA传递数据。只有在初始化过程中才进行CLA程序与数据RAM的典型映射。如果某时需要将这些存储器重新映射回CPU空间,然后禁止中断,应通过检查MIRUN寄存器,保证所有任务已完成。在更改存储器的映射配置与访问它们之间,要留出两个SYSCLKOUT时钟周期。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈