Guide to porting Application from XMC7200 Dev Kit to XMC7100 Chip / Issues with Clocks

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

cross mob
keenansoe
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

Hello everyone!

I am developing an application for the XMC7100D-F176K4160AA.

I started by developing the application and running it on the XMC7200 Dev Kit. That has been working great and everything is going well.

However, we just received the custom board containing the XMC7100 chip and I am running into issues porting the project with the clock configuration.

Steps I took to port the application:

I started with the dev kit design.modus file attached.

I then used the BSP Assistant to convert the BSP from the XMC7200 chip to the XMC7100D-F176K4160AA.

When I flash and run the chip, I get a variety of errors from the cy_sysclock_v2.c file throwing asserts.

One particular error is the assert being thrown in the Cy_SysClk_PllGetFrequency I have shown below. clkPath is -1 for some reason, so the assert is thrown.

Does anyone have any ideas as to why this might and/or are there good porting guides for configuring the clocks? I can't discern any obvious differences in the datasheet?

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 Likes
13 Replies
keenansoe
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

Here is an image of an assert I am hitting. You can see my clock configuration diagram below, which I believe should be valid.

keenansoe_0-1694131456981.png

keenansoe_1-1694131498142.png

 

 

 

0 Likes
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @keenansoe ,

Can you please share the BSP you are using .

Best Regards
Pradeep.

0 Likes

Hey Pradeep!

As I mentioned above, I started with the XMC7200 dev kit bps and modified
it for my board. J have only updated the clocks and a few pin mappings in
the modus files attached via the bsp assistant.

0 Likes
keenansoe
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

If anyone from Infineon could provide a starting bsp that is known to work with the XMC7100D-F176K4160AA, I should be able to start with that and modify my project accordingly to get it to function.

0 Likes
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @keenansoe ,

The 7100 BSP will be public soon please wait for some time.

As of now for your clock  issues replace the .modus file in your project with the one we attached and check whether the error still persists.

The below .modus files helps in clock issues.

If possible can you share you application so that we can work at our end.

Best Regards
Pradeep.

0 Likes

Thank you @Pradeep_PN ! 

I am just trying to get the basic hello world application from Infineon up and running. I have attached a zip of the project here where I included your .modus file.

The current project is spitting out some errors about the makefile not matching the configuration in the makefile when I open it locally.

I have also recorded a video of myself here trying to convert a Infineon demo to function with the XMC7100. Hopefully that is helpful and you can point out what I am doing wrong. See the video here.

If you can help me adjust the hello world project to be something I can successfully run on the XMC7100D-F176K4160AA, I would greatly appreciate it.

 

0 Likes

When I try adding the .modus file into a different application, I get

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 Likes
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @keenansoe ,

I have tried the project at my end on XMC 7100 and didn't see clock issues.

Which version of MTB are you using ?

We will try to share a document on porting the XMC 7200 to XMC 7100 .

Best Regards
Pradeep.

0 Likes

Thanks @Pradeep_PN !

In the examples above, I was using Modustoolbox 3.0.0. 

However, I realized today that there was a newer version (3.1.0.3165) including a newer version of the BSP assistant that allowed me some additional freedom in creating a BSP for a specific part number instead of converting an existing one.

I created a new app using the "empty_app template and selected the XMC7100D-F176K4160 processor. I have attached the configured project here. I think edited the config to use J-Link by adding the config line in the Makefile as described in the Modustoolbox manual.

When I flash my board with this code, I still don't see the pin toggling and when I attach a debugger to the chip, I hit a break at the following code shown below and in the screen shot attached.

Perhaps you could take a look and tell me what I am doing incorrectly?

Thank you!

 

 __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 Likes
Pradeep_PN
Moderator
Moderator
Moderator
250 sign-ins 100 solutions authored 25 likes received

Hi @keenansoe ,

Could you please try with the attached .modus file 

Best  Regards
Pradeep.

 

0 Likes
keenansoe
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

Do you mean the previously attached file as I don't see a new attachment.

0 Likes
keenansoe
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

I tried your previous .modus file with my latest Empty App project above, but it shows the same result as I mentioned above.

0 Likes
keenansoe
Level 3
Level 3
25 sign-ins 5 questions asked 10 replies posted

We identified a few hardware issues that have been resolved and seem to create a consistent debugging experience.

Now I consistently get the debugger stopping@ address 0x1008AABA (Data = 0x2800). This is slightly confusing as this is outside of the utilized code address space (at least according to me reading of the map file.
 
This behavior seems fairly consistent, so I suspect this is more likely a software issue rather than hardware and I hope we can work through it together tomorrow.
 
 
0 Likes