Hi all,
I am trying to get SWO trace working in Keil.
Board: MIMXRT1010-EVK
Debugger: Jtrace Pro
Connection : SWD (Not using ETM Trace since board does not have provision)
I was able to get it running with MCUXpresso. I could see sensible data in SWO Trace profile window as below.
The MCU IMX RT 1010 uses different clocks for core and trace. I could set it appropriately in the SWO configuration window in MCUXpresso as shown below.
I tried the same steps in Keil & I run into following problems.
1. The SWO clock and core clock are linked. Only integer divisions are allowed. This is the case when JTrace Pro is selected as the debugger.
I see that the clocks can be decoupled when debugger is selected as Ulink Pro
2. I cannot see any status of trace in Keil status window. None of the analysis windows get any data.
I have configured the GPIO and clocks in Keil example the same way as I had done in MCUXpresso example.
My questions are.
I am inclined to Keil MDK because of the middle ware, professional support & the stability of compiler and debugger. I need to convince my management to move from a 'free' IDE (MCUXpresso in my case) to a paid one. Trace is a feature that MCUXpresso impresses us with. How can i find that in Keil :-) ?
Keil Installation details:
IDE-Version:µVision V5.40.0.0Copyright (C) 2024 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information:Syam KrishnanCradlewiseUser-based license: Keil MDK Community (non-commercial free of charge)Valid until: Jun 1 2033. Cached until: Jul 17 2024
Tool Version Numbers:Toolchain: Keil MDK Community (non-commercial free of charge Version: 5.40.0.3Toolchain Path: C:\Users\syam\AppData\Local\Keil_v5\ARM\ARMCLANG\BinC Compiler: ArmClang.exe V6.22Assembler: Armasm.exe V6.22Linker/Locator: ArmLink.exe V6.22Library Manager: ArmAr.exe V6.22Hex Converter: FromElf.exe V6.22CPU DLL: SARMCM3.DLL V5.40.0.3Dialog DLL: TCM.DLL V1.56.4.0Target DLL: Segger\JL2CM3.dll V2.99.44.0Dialog DLL: TCM.DLL V1.56.4.0
Thanks in Advance
Syam Krishnan
IMX RT Processors use a different trace clock than core clock. The clock is derived from a separate PLL. and dividers. The system apparently does not allow me to change it to a integer ratio of core clock.
My CPU core is 500MHz and trace clock (set in code by dividers) is 33MHz.