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计时)变为相对(从当前时刻计时),这个问题会消失,但具体原因还仍需研究。

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

相关推荐
懂好多的工业电源工程师3 天前
E0512S‑1WR3 适配优选 钡特电源 DF1‑05D12LS|1W 隔离 DC‑DC 模块电源选型评估
国产化·电源模块·工业电源
向成科技4 天前
新品亮相|向成电子IPCA_3588H AI边缘网关重磅发布,算力下沉,自主可控
人工智能·边缘计算·国产化·硬件·边缘网关·主板·端侧ai
懂好多的工业电源工程师5 天前
WRB1205S-3WR2 适配优选 钡特电源 VB3-12S05S|3W 工业 DC-DC 模块电源选型梳理
国产化·电源模块·工业电源
一名普通的电源工程师5 天前
URB4805LD-50WR3 适配优选 钡特电源 VB50-48S05LD|50W 工业 DC-DC 模块电源选型解析
国产化·电源模块·工业电源
懂好多的工业电源工程师5 天前
B1205S-1WR3 适配优选 钡特电源 DB1-12S05S|1W DC-DC 隔离模块电源选型笔记
国产化·电源模块·工业电源
专业工业电源打工人12 天前
无人机硬件设计:工业模块电源选型的三个核心要点|电子工程师实操指南
无人机·国产化·工业电源
赞哥哥s15 天前
Autosar Dem学习笔记-DTC状态位详解与用法
autosar·dem·dtc
专业工业电源打工人16 天前
B0505S-1WR3 适配优选 钡特电源 DB1-05S05S|1W 隔离5V转5V模块电源选型技术性能解析
国产化·电源模块·工业电源
懂好多的工业电源工程师16 天前
LD60-23B24R2 适配优选 钡特电源 AD60-23S24|60W 工业AC-DC 24V输出模块电源技术性能解析
国产化·电源模块·工业电源
专业工业电源打工人16 天前
URB4805S-6WR3 适配优选 钡特电源 VB6-48S05S|6W 工业 DC-DC 模块电源选型参数技术解析
国产化·电源模块·工业电源