Posts by JulianR
-
-
-
Hello AlexD,
you are right, it is definitely a problem with the JLink_x64.dll shipped with Ozone V3.32a (7.96).
I replaced the DLL with version 7.94k (this version is shipped with Ozone V3.32) and that works and I also used the one from the latest J-Link Package, 7.96c, which also works. -
The latest version of the Ozone Debugger fails to connect to the NXP S32K344 microcontroller. This can be reproduces with the sample project from https://wiki.segger.com/NXP_S32K3xx#Streaming_trace NXP_S32K344_TracePins.zip
Open the project with Ozone V3.32 and connect -> Works, open the project with Ozone V3.32a and connect -> Fails.I am using an older j-Trace Pro for ARM Cortex-M (Part No. 8.18.00) and my operating System is Windows 10 Professional.
This is the Console output with the failing connection:
Code
Display MoreDevice "S32K344" selected. ConfigTargetSettings() start ConfigTargetSettings() end - Took 40us InitTarget() start SDA_AP detected Checking if debug access is already enabled... Core already enabled Checking if HSE firmware is installed... HSE firmware not installed Checking if Cortex-M7_0 and Cortex-M7_1 are operating in lockstep mode Lock step mode enabled InitTarget() end - Took 1.85ms TotalIRLen = 8, IRPrint = 0x0001 JTAG chain detection found 1 devices: #0 Id: 0x0996001D, IRLen: 04, JTAG-DP Found 1 device in JTAG chain, IRPost/DRPost != 0. Reset IRPost/DRPost to 0. DPv0 detected AP map detection skipped. Manually configured AP map found. AP[0]: MEM-AP (IDR: Not set) AP[1]: APB-AP (IDR: Not set) AP[2]: MEM-AP (IDR: Not set) AP[3]: MEM-AP (IDR: Not set) AP[4]: AHB-AP (IDR: Not set) AP[5]: AHB-AP (IDR: Not set) AP[6]: MEM-AP (IDR: Not set) AP[7]: MEM-AP (IDR: Not set) AP[3]: Skipped. Not an AHB-AP Attach to CPU failed. Executing connect under reset. Failed to power up DAP Connect failed. Resetting via Reset pin and trying again. ConfigTargetSettings() start ConfigTargetSettings() end - Took 36us InitTarget() start SDA_AP detected Checking if debug access is already enabled... Debug access is not enabled yet. Performing enable debug access sequence... Debug access enabled Checking if HSE firmware is installed... HSE firmware not installed Checking if Cortex-M7_0 and Cortex-M7_1 are operating in lockstep mode Lock step mode enabled InitTarget() end - Took 10.5ms TotalIRLen = 8, IRPrint = 0x0001 JTAG chain detection found 1 devices: #0 Id: 0x0996001D, IRLen: 04, JTAG-DP Found 1 device in JTAG chain, IRPost/DRPost != 0. Reset IRPost/DRPost to 0. DPv0 detected AP map detection skipped. Manually configured AP map found. AP[0]: MEM-AP (IDR: Not set) AP[1]: APB-AP (IDR: Not set) AP[2]: MEM-AP (IDR: Not set) AP[3]: MEM-AP (IDR: Not set) AP[4]: AHB-AP (IDR: Not set) AP[5]: AHB-AP (IDR: Not set) AP[6]: MEM-AP (IDR: Not set) AP[7]: MEM-AP (IDR: Not set) AP[3]: Skipped. Not an AHB-AP Attach to CPU failed. Executing connect under reset. Failed to power up DAP ConfigTargetSettings() start ConfigTargetSettings() end - Took 27us InitTarget() start SDA_AP detected Checking if debug access is already enabled... Debug access is not enabled yet. Performing enable debug access sequence... Debug access enabled Checking if HSE firmware is installed... HSE firmware not installed Checking if Cortex-M7_0 and Cortex-M7_1 are operating in lockstep mode Lock step mode enabled InitTarget() end - Took 10.3ms TotalIRLen = 8, IRPrint = 0x0001 JTAG chain detection found 1 devices: #0 Id: 0x0996001D, IRLen: 04, JTAG-DP Found 1 device in JTAG chain, IRPost/DRPost != 0. Reset IRPost/DRPost to 0. DPv0 detected AP map detection skipped. Manually configured AP map found. AP[0]: MEM-AP (IDR: Not set) AP[1]: APB-AP (IDR: Not set) AP[2]: MEM-AP (IDR: Not set) AP[3]: MEM-AP (IDR: Not set) AP[4]: AHB-AP (IDR: Not set) AP[5]: AHB-AP (IDR: Not set) AP[6]: MEM-AP (IDR: Not set) AP[7]: MEM-AP (IDR: Not set) AP[3]: Skipped. Not an AHB-AP Attach to CPU failed. Executing connect under reset. Failed to power up DAP Connect failed. Resetting via Reset pin and trying again. ConfigTargetSettings() start ConfigTargetSettings() end - Took 28us InitTarget() start SDA_AP detected Checking if debug access is already enabled... Debug access is not enabled yet. Performing enable debug access sequence... Debug access enabled Checking if HSE firmware is installed... HSE firmware not installed Checking if Cortex-M7_0 and Cortex-M7_1 are operating in lockstep mode Lock step mode enabled InitTarget() end - Took 11.8ms TotalIRLen = 8, IRPrint = 0x0001 JTAG chain detection found 1 devices: #0 Id: 0x0996001D, IRLen: 04, JTAG-DP Found 1 device in JTAG chain, IRPost/DRPost != 0. Reset IRPost/DRPost to 0. DPv0 detected AP map detection skipped. Manually configured AP map found. AP[0]: MEM-AP (IDR: Not set) AP[1]: APB-AP (IDR: Not set) AP[2]: MEM-AP (IDR: Not set) AP[3]: MEM-AP (IDR: Not set) AP[4]: AHB-AP (IDR: Not set) AP[5]: AHB-AP (IDR: Not set) AP[6]: MEM-AP (IDR: Not set) AP[7]: MEM-AP (IDR: Not set) AP[3]: Skipped. Not an AHB-AP Attach to CPU failed. Executing connect under reset. Failed to power up DAP Connection failed.
-
I tried to create a minimal example showing the issue but now it is working again. Also the original project (which I changed in the mean time) is working again, including J-Scope. I don't know what happened and I am not able to reproduce it again.
-
I am trying to graph a variable with the Data Sampling feature but Ozone does not sample any values, I know that it was working in the past. The Watch window refresh is working and RTT is also working so background memory access itself works.
Whenever I change the sampling frequency a new value is recorded but nothing more. I am using Ozone V3.28c, Segger Jlink Package V7.84d and a j-Trace Pro for Arm Cortex-M running the lasted Firmware compiled 23.01.2023. I attached a gif showing this behaviour.PS: J-Scope shows the same behaviour, I can select the variable but no values are recorded.
-
After a lot of trial and error I found out that my sModule string is wrong and that I also need a module description file additionally, this thread can be closed. Still it is not nice that SystemView just hangs in this case
-
I am currently in the process of instrumenting a MICROSAR OS based application on an NXP S32K148 ARM Cortex M4 processor. The relevant code looks like this:
C
Display Morestatic void _cbSendTestModuleDesc(void); static SEGGER_SYSVIEW_MODULE TestModule = { "M=Test, 0 myTest void", // sModule 1, // NumEvents 0, // EventOffset, Set by SEGGER_SYSVIEW_RegisterModule() _cbSendTestModuleDesc, // pfSendModuleDesc, NULL: No additional module description NULL, // pNext, Set by SEGGER_SYSVIEW_RegisterModule() }; static void _cbSendTestModuleDesc(void) { SEGGER_SYSVIEW_RecordModuleDescription(&TestModule, " T=TS, S='Test Module'"); } void traceInitialize() { SEGGER_SYSVIEW_Conf(); SEGGER_SYSVIEW_RegisterModule(&TestModule); SEGGER_SYSVIEW_Start(); }
However SystemView records only a few milliseconds of activity and then hangs. The controller itself is running and with the debugger I see that the SystemView API is called correctly. If I comment out the SEGGER_SYSVIEW_RegisterModule(&TestModule); line then everything is working as expected. I am only registering the module, there are no event calls yet.
When the SystemView application is in this "semi frozen" state I can not stop the recording. When I close the application via File -> Exit then it is still running in the background and needs to be terminated with the Task Manager. Also I see that 1 module is registered from the start event but the properties view shows 0 modules, I suspect that the module description is not sent correctly (see the attached screenshot). Any ideas on how to pursue this issue? -
I am trying to debug some data that is held within a reference on the stack. However, I am not able to see the content of it in ozone. In my production project I get "<outofscope>" in the location. In the minimal example shown below I get the correct address, size and type; however I don't get any values displayed:
OS: Windows 10 1909
Compiler: ARMCC 6.6.3 with -O0
Target: LPC1768
Ozone Version: 3.22eThe example code:
C: Main.cpp
Display More//disable heap __asm(".global __use_no_heap\n\t"); //disable argv handling with ARMCC6 with -O0 __asm(".global __ARM_use_no_argv\n\t"); struct Foo { int MyInt; bool MyBool; Foo() : MyInt(0), MyBool(false) {} }; class Bar { public: void doSomething() { auto& currentData = myContainer[0]; currentData.MyBool = !currentData.MyBool; currentData.MyInt++; } private: Foo myContainer[2]; }; extern "C" int main(void) { Bar bar; while(true) { bar.doSomething(); } return 0; }