CCFC3008PCSN与Vector适配经验分享

一、静态代码包相关的问题

1.由于芯片厂商的epd文件有问题,导致在使用vector的工具集成静态代码后,在达芬奇工具中缺少模块和配置选项

2.达芬奇与EB生成的FLS模块的CFG文件不一致,导致存储功能实现有问题

二、一类中断触发不准确的问题

由于我们的项目需要用到电机算法进行电机控制,为了电机算法相应更快速,使用PWM波触发电机算法控制,但出现了电机算法触发周期不准确并有阻塞的现象。

经过排查,修复项如下

1. DCache使能

cpp 复制代码
 /* Invalidate cache (L1CSR1) */
   __MTSPR(1010, 0x02);
 /* Synchronize instruction stream */
   asm("msync");
 /* Wait until cache invalidation has finished (L1CSR1) */
   do
   {
     __MTSPR(1010, (0x01) | (0x01 << 5));
     value = (uint32)__MFSPR(1010);
   }while ((value & 0x02) == 0x02);
  __MTSPR(1010, (0x01) | (0x01 << 5));

初始化DTCM区域

cpp 复制代码
void BrsMain_MemoryInit_StageZero_Hook(uint32 coreId)
{
  memset(Start_Address, offset, Size);
}

2.打开pflash预取

cpp 复制代码
PFLASH.PFCR1.R = 0xFFFF0A55;
PFLASH.PFCR2.R = 0xFFFF0055;

3.一类中断的操作

3.1.使能一类中断

一类中断不受OS管理,所以需要手动使能

cpp 复制代码
INTC_LLD_Set_IRQ_Priority(IntrId, IntrPri);
INTC_LLD_Set_IRQ_Enable(IntrId);

3.2退出一类中断现场

cpp 复制代码
uint32 intc_eoir = INTC_0.EOIR[0].R; /* read register of EOIR */
Motor_Control();
INTC_0.EOIR[0].R = intc_eoir; /* write register of EOIR,exit interrupt */

4.配置ITCM和DTCM区域

通过达芬奇工具配置,并将电机控制代码放入该区域,提高代码运行速度。具体步骤如下:

4.1.vLinkGen配置

在vBaseEnv中加入这两区域

配置区域的地址以及大小

配置电机控制的代码和变量相关的section和group

section配置如下

group配置如下,注意将group链接至section

4.2.MemMap配置

在developer中创建关于电机的代码、变量名称

在达芬奇中的MemMap中配置以下内容

GenericMappings

MemorySection

经过上述配置,就可以将电机算法的代码进行加速运算。

三、event触发不正常的问题

在多次重启程序后,会出现某些event无法正常触发的现象,通过排查,发现出问题的时候,setalarm的时间戳会在短时间内增加到一个很大的数值,导致程序后续运行的判断条件无法成立,不能触发event。

经过尝试,将alarm的初始化由绝对(硬件PIT计时)变为相对(从当前时刻计时),这个问题会消失,但具体原因还仍需研究。

以上就是目前项目中遇到的一些比较代表性的问题,如果后续再遇到一些典型问题,会继续更新,和大家分享。也欢迎大家分享在国产化项目中遇到的一些具有代表性的问题,一起学习,共同进步!!!

相关推荐
鼎艺创新科技8 天前
三维地形场景里,雨雪雾是怎么“动“起来的
国产化·电子沙盘·三维电子沙盘·天气设置·应急处置
懂好多的工业电源工程师12 天前
KC24H-1200R3 与 钡特电源 NCD24-1200 封装一致,性能适配|工控LED驱动 DC-DC 电源模块技术横评
国产化·电源模块·工业电源
羌俊恩14 天前
信创数据库之华为Gaussdb 概览
信创·gaussdb·国产化·数据库改造评估·gtm-lite
瞬间记忆17 天前
AUTOSAR基础概念学习
汽车·autosar
扶尔魔ocy17 天前
【麒麟/统信UOS】国产化虚拟化方案产品分享
国产化·麒麟·统信
专业工业电源打工人20 天前
医疗设备电源模块选型避坑指南!硬件工程师必看的3大核心要点丨AC-DC丨DC-DC丨国产化
国产化·电源模块·工业电源
一名普通的电源工程师20 天前
船舶设备电源选型指南!三大核心要点选对工业模块电源
国产化·电源模块·工业电源
懂好多的工业电源工程师20 天前
工业隔离设备怎么选工业电源?硬件工程师必看三大模块电源选型技巧
国产化·电源模块·工业电源
赞哥哥s22 天前
车载以太网概念及协议架构介绍(一)
ethernet·autosar·aurix
专业工业电源打工人23 天前
40W 工业 AC‑DC 模块电源选型:钡特电源 AD40‑23S24 与 LD40‑23B24R2 互通要点梳理
国产化·电源模块·工业电源