公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

大家好!

我正在为 XMC7100D-F176K4160AA开发一个应用程序。

我首先开发了这个应用程序,然后在 XMC7200 开发套件上运行它。 效果很好,一切都很顺利。

但是,我们刚刚收到了包含 XMC7100 芯片的定制主板,我在使用时钟配置移植项目时遇到了问题。

我为移植应用程序所采取的步骤:

我从随附的开发套件 design.modus 文件开始。

然后我使用 BSP 助手将 BSP 从XMC7200芯片转换为 XMC7100D-F176K4160AA。

当我刷机运行芯片时,cy_sysclock_v2.c 中出现了各种错误 文件抛出断言。

一个特别的错误是我在下面显示的 cy_sysclk_plgetFrequency 中抛出的断言。 出于某种原因,clkPath 为 -1,因此会抛出断言。

有没有人知道为什么会这样做和/或有很好的移植指南来配置时钟? 我 CAN数据表中没有发现任何明显的差异?

uint32_t Cy_SysClk_PllGetFrequency(uint32_t clkPath)
{
#if defined(CY_IP_MXS22SRSS)
    CY_ASSERT_L1(clkPath < (CY_SRSS_NUM_PLL));

    if(clkPath < SRSS_NUM_DPLL_LP)
    {
        return Cy_SysClk_DpllLpGetFrequency(clkPath);
    }
    else
    {
        return Cy_SysClk_DpllHpGetFrequency(clkPath - SRSS_NUM_DPLL_LP);
    }
#else
    clkPath--; /* to correctly access PLL config and status registers structures */
    CY_ASSERT_L1(clkPath < (CY_SRSS_NUM_PLL));

    if(clkPath < CY_SRSS_NUM_PLL400M)
    {
        return Cy_SysClk_Pll400MGetFrequency(clkPath);
    }
    else
    {
        return Cy_SysClk_Pll200MGetFrequency(clkPath - CY_SRSS_NUM_PLL400M);
    }
#endif
}
 

 

 

0 点赞
12 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @keenansoe

CAN ,请分享您正在使用的 BSP。

最好的问候
Pradeep。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嘿 Pradeep!

正如我上面提到的,我从 XMC7200 开发套件 bps 开始,然后为我的主板
对其进行了修改。 我只更新了通过 bsp 助手附加的模式文件
中的时钟和一些引脚映射。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

如果英飞凌的任何人可以提供已知可与 XMC7100D-F176K4160AA一起使用的起始bsp,我应该能够从它开始并相应地修改我的项目以使其正常运行。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @keenansoe

7100 BSP 即将上市,请稍等片刻。

从现在起,对于你的时钟问题,请替换.modus 在您的项目中使用我们附上的文件存档,并检查错误是否仍然存在。

下面的.modus 文件有助于解决时钟问题。

如果可能的话 CAN 您分享您的应用程序,以便我们 CAN 工作。

最好的问候
Pradeep。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

谢谢 @ppn

我只是想让英飞凌提供的基本的 hello world 应用程序启动并运行。 我在这里附上了该项目的 zip 文件,其中包含了你的.modus 文件。

当我在本地打开 makefile 时,当前项目吐出一些关于 makefile 与 makefile 中的配置不匹配的错误。

我还在这里录制了一段自己正在尝试将英飞凌演示转换为 XMC7100 的视频。 希望这是有帮助的,你 CAN 指出我做错了什么。 请在此处观看视频。

如果您 CAN 帮助我将hello world项目调整为我 CAN 在 XMC7100D-F176K4160AA上成功运行的项目,我将不胜感激。

 

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

当我尝试添加.modus 文件到不同的应用程序,我明白了

Program
 received signal SIGTRAP, Trace/breakpoint trap.
0x1008a9fc in Cy_SysClk_Pll200MGetFrequency (pllNum=0) at ../mtb_shared/mtb-pdl-cat1/drivers/source/cy_sysclk_v2.c:3646
3646	    enabled = (Cy_SysClk_Pll200MIsEnabled(pllNum)) && (CY_SYSCLK_FLLPLL_OUTPUT_INPUT != pllcfg.outputMode);
0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @keenansoe

我最后在 XMC 7100 上尝试了这个项目,但没有看到时钟问题。

你使用的是哪个版本的山地车?

我们将尝试分享一份关于将 XMC 7200 移植到 XMC 7100 的文档。

最好的问候
Pradeep。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

谢谢 @ppn

在上面的示例中,我使用的是 Modustoolbox 3.0.0。

但是,我今天意识到有一个较新的版本,包括较新版本的 BSP 助手,它允许我更多地自由地为特定的零件号创建 BSP,而不是转换现有的 BSP。

我使用 " empty_app 模板创建了一个新应用程序并选择了 XMC7100D-F176K4160 处理器。 我已在此处附上配置的项目。 我想按照 Modustoolbox 手册中的描述在 Makefile 中添加配置行,编辑了使用 J-Link 的配置。

当我用这个代码刷我的主板时,我仍然看不到引脚在切换,当我在芯片上安装调试器时,我在下面显示的代码和所附的屏幕截图中休息了一下。

也许你可以看一看,告诉我我做错了什么?

谢谢!

 __STATIC_INLINE void Cy_SysClk_ClkFast_0_Init()
{
    Cy_SysClk_ClkFastSrcSetDivider(0, CY_CFG_SYSCLK_CLKFAST_0_INT_DIVIDER, CY_CFG_SYSCLK_CLKFAST_0_FRAC_DIVIDER);
}

 

 

 

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @keenansoe

你能否试试随附的.modus 文件

最好的问候
Pradeep。

 

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你的意思是之前附上的文件吗,因为我看不到新的附件。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

我试过你之前的 .modus 上面有我最新的 Empty App 项目的文件,但它显示的结果与我上面提到的相同。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

我们发现了一些已经解决的硬件问题,似乎可以创造出一致的调试体验。

现在我一直得到调试器停止 @ 地址 0x1008aaba(数据 = 0x2800)。 这有点令人困惑,因为这超出了使用的代码地址空间(至少根据我对地图文件的阅读。
 
这种行为似乎相当一致,所以我怀疑这更可能是软件问题而不是硬件问题,我希望我们明天 CAN 一起解决它。
 
 
0 点赞