初始化由CPU完成,包括程序内存和数据内存分配,任务的触发配置;Type 2型CLA提供 8个独立的任务(也可配置为7个独立的任务和1个底层持续运行的任务),这些任务类似中断服务函数,由中断触发并运行至任务结束,并且可配置在任务完成时产生中断, CLA 框图如图2所示。 图2 CLA框图 CLA可访问RAMLS0-LS7 区块的内存,并且每...
CLA可访问RAMLS0-LS7 区块的内存,并且每个块可以配置为CPU专用或CPU与CLA之间共享数据。这些内存块复位时默认分配给CPU,需要由CPU初始化后才可用于与CLA共享数据。如果这些内存块被配置为数据共享的,则可进一步配置为程序内存或数据内存,程序内存用于存放CLA的程序代码,数据内存用于存放供CLA程序使用的变量和系数,并且有...
由于CLA采用8级流水线结构,数据的计算能力非常强大,但是在判断和跳转语句中会造成后续的流水线失败,因此,大量的判断和跳转操作最好放在CPU中进行。 2. 需要访问复杂的外设。 CLA虽然和CPU共用大多数资源,但是前者只能访问PWM和ADC的有限的寄存器,其它的寄存器访问需要间接的向CPU请求,由此也可以看出来,CLA的存在,主...
初始化由CPU完成,包括程序内存和数据内存分配,任务的触发配置;Type 2型CLA提供 8个独立的任务(也可配置为7个独立的任务和1个底层持续运行的任务),这些任务类似中断服务函数,由中断触发并运行至任务结束,并且可配置在任务完成时产生中断, CLA 框图如图2所示。 图2 CLA框图 CLA可访问RAMLS0-LS7 区块的内存,并且每...
调试CLA 代码 在CLA 代码中插入断点 __mdebugstop() 内在函数是 CLA 断点。它将指令 MDEBUGSTOP 放在汇编指令中的相应位置。 如果未连接到 CLA 内核(即禁用单步执行),则内在函数的行为类似于 MNOP(无操作) 开始任务:CLA 将执行代码,直到 MDEBUGSTOP 位于 D2 中 ...
TI 的 Code Composer Studio (CCS) 支持 CLA。使用 CCS,可以在一个集成开发环境中开发和调试 C28x 和 CLA 代码。 2.2.1.编译器和汇编工具 TI 在 C2000 代码生成工具中提供 CLA 编译器。CLA 编译器和汇编器可使用 CLA 代码自动调用。代码生成工具捆绑在 Code Composer Studio 中,也可以从以下位置下载:C2000 ...
配置CLA寄存器:包括使能CLA时钟;分配CLA任务函数地址;选择任务触发源;根据需要使能软件触发任务;映射CLA程序内存和数据内存到CLA空间 在PIE中配置CLA任务完成中断的服务函数 在MIER寄存器中使能CLA任务触发 初始化触发源外设,使其能触发CLA任务 在CLA开发过程中,工程师往往专注于代码层面对CLA初始化,CLA_task的配置以及...
1. C2000的CPU和CLA默认的舍入模式不同,在计算浮点数时可能会得到不同的结果,但是我们可以通过代码改变其舍入模式得到相同的结果。 2. 单精度浮点数经过多次计算后可能会有较大误差,可以通过将变量定义为64位long double型解决精度问题。 3. C28x CPU只支持单精度(32位)的硬件浮点运算,对于64位双精度浮点数的...
CLA 不处理非时间关键中断(例如通信端口),并且没有中断嵌套。 此外,CLA 直接接收中断,而非通过 外设中断扩展块 (PIE) 接收。 正是由于这一点,CLA 具有极低的中断响应延迟。 在中断之后的第七个周期 上,第一条指令将位于管线的解码 2 (D2) 阶段。 此外,只要 ADC 结果寄存器可用,CLA 就能够轻松地读 取其中...
5.CLA有寄存器吗? 有的,CLA有自己的独立寄存器组。CLA寄存器可分为两组: 配置寄存器 这些寄存器中的一部分被主C28xCPU用来配置CLA。其他寄存器为主CPU提供状态信息。例如,哪个中断已经被标记或者现在哪个任务正在运行。 执行寄存器。 这些寄存器包括四个浮点结果寄存器、两个辅助寄存器、一个状态寄存器和一个程序计数器...