由主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时钟周期。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。