Better Peripheral Register View

cancel
Showing results for 
Search instead for 
Did you mean: 

Better Peripheral Register View

3,216 Views
scaggsp
Contributor II

I have tried debugging an MKL17Z bare metal project and I'm struggling to find a good peripheral register view. In KDS, the EmbSys view showed all peripheral registers and translated the control register configuration. I found in MCUXpresso the Peripherals+ view shows the chips peripherals, but clicking only opens the peripherals memory address in the memory view. Not all of the peripheral registers are read in the memory view (e.g. SIM does not display any registers) and none of the control registers are translated. This was a big time saver. Does anyone know of an equivalent for MCUXpresso?

Thank you.

0 Kudos
6 Replies

1,190 Views
lpcxpresso_supp
NXP Employee
NXP Employee

As posted at : https://community.nxp.com/thread/449290#comment-904103 , issues with the viewing of registers in the Peripheral View will be fixed in the next IDE release.

Regards,

MCUXpresso IDE Support

0 Kudos

1,190 Views
michaelbrudevo1
Contributor III

I'm having a similar issue, and I am wondering if it is because the IDE is incorrectly trying to read registers that are write-only.  For example, I'm using a J-Link with a KW31Z.  Register SIM_SRVCOP is Write-Only, but looking at the GDB logs, it is being read!

030,167 (gdb)
030,168 312-data-read-memory-bytes --thread 1 1074036996 4
030,180 312^error,msg="Unable to read memory."
030,180 (gdb)

I suspect this error is propagating back and causing the memory view to not show ANY of the given peripheral registers.  So, for me, the SIM registers don't work at all but some of the other do (and they have no read errors).

The XML description file that I can find in the SDK loaded for this processor lists SIM_SRVCOP as write-only, is the IDE ignoring this?

<access>write-only</access>

0 Kudos

1,190 Views
scaggsp
Contributor II

Thank you for the quick reply. I am using a J-Link on Win10. I have a break point in the PIT timer interrupt which triggers ~1msec. I don't do anything to disable the timer yet the registers are still not showing.

pastedImage_2.jpg

At the same time, the PORTD registers are showing just fine. Since posting I realized the register translations are available while hovering over the value.

pastedImage_3.jpg

This process of reading peripheral registers is convoluted compared to KDS (shown below). Even if it's only offered as an optional plugin, I would much prefer to have the EmbSys view available.

pastedImage_4.jpg

0 Kudos

1,190 Views
ZhangJennie
NXP TechSupport
NXP TechSupport

Hello Phillip,

We can't use EmbSysRegView under MCUXpresso, because EmbSysRegView plugin currently cannot be used in Eclipse Neon (MCUXpresso is Eclipse Neon based, the latest Eclipse today).

Last month I met similar issue when debug FRDM-K64F board with Jlink interface. I finally fixed the Peripheral+ view issue by changing debug firmware to P&E interface. I think it is worth to try if your problem can be also fixed this way. 

 


Have a great day,
Jennie Zhang

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,190 Views
lpcxpresso_supp
NXP Employee
NXP Employee

Seems to work OK here. Here is the view in my current K22 debug session - via an OpenSDA J-link probe...

K22_peripheralview.jpg

One thing to remember is that the Peripheral Register view in the Memory View will only display content if the peripheral is powered/clocked. [There peripheral will appear in red with a hover message if this is the case.]

PS : What debug probe are you using and on which host OS are you running the IDE?

Regards,

MCUXpresso IDE Support

0 Kudos

1,190 Views
mgordon
Contributor I

Hi,

I'm seeing a similar issue with the DMA and DMAMUX peripheral on a K22 (FRDMK22).  The SIM peripheral and others work fine, but DMA and DMAMUX are not.  I can confirm those peripherals are clocked, and functioning.  

It appears that peripheral views only work when the processor is halted yet DMA may not halt.  Not sure if that is related, or do I need to ensure Debug bits are set in the DMA peripheral?

Thanks

0 Kudos