This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Segger Embedded Studio Pin Configuration Registers View

Hello All,

Is there an explanation why the Pin Configuration Registers are not available for viewing in the Registers view of Segger Embedded Studio?

If there is can someone explain how to show them or it is only possible via the memory view?

Thanks.

Parents
  • Hi Bjorn,

    Thanks for coming up:

    I don't get the CONF registers. I only get up to DETECTMODE.

    I am running Segger studio v3.40 (64-bit) on Windows 10 if this helps.

  • Which SDK version are you using? Could you check if the nrf52.svd file you're using has the following register section after the entry for the DETECTMODE register?

    <register>
              <dim>32</dim>
              <dimIncrement>4</dimIncrement>
              <name>PIN_CNF[%s]</name>
              <description>Description collection[0]:  Configuration of GPIO pins</description>
              <addressOffset>0x700</addressOffset>
              <access>read-write</access>
              <resetValue>0x00000002</resetValue>
              <fields>
                <field>
                  <name>DIR</name>
                  <description>Pin direction. Same physical register as DIR register</description>
                  <lsb>0</lsb>
                  <msb>0</msb>
                  <enumeratedValues>
                    <enumeratedValue>
                      <name>Input</name>
                      <description>Configure pin as an input pin</description>
                      <value>0</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>Output</name>
                      <description>Configure pin as an output pin</description>
                      <value>1</value>
                    </enumeratedValue>
                  </enumeratedValues>
                </field>
                <field>
                  <name>INPUT</name>
                  <description>Connect or disconnect input buffer</description>
                  <lsb>1</lsb>
                  <msb>1</msb>
                  <enumeratedValues>
                    <enumeratedValue>
                      <name>Connect</name>
                      <description>Connect input buffer</description>
                      <value>0</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>Disconnect</name>
                      <description>Disconnect input buffer</description>
                      <value>1</value>
                    </enumeratedValue>
                  </enumeratedValues>
                </field>
                <field>
                  <name>PULL</name>
                  <description>Pull configuration</description>
                  <lsb>2</lsb>
                  <msb>3</msb>
                  <enumeratedValues>
                    <enumeratedValue>
                      <name>Disabled</name>
                      <description>No pull</description>
                      <value>0</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>Pulldown</name>
                      <description>Pull down on pin</description>
                      <value>1</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>Pullup</name>
                      <description>Pull up on pin</description>
                      <value>3</value>
                    </enumeratedValue>
                  </enumeratedValues>
                </field>
                <field>
                  <name>DRIVE</name>
                  <description>Drive configuration</description>
                  <lsb>8</lsb>
                  <msb>10</msb>
                  <enumeratedValues>
                    <enumeratedValue>
                      <name>S0S1</name>
                      <description>Standard '0', standard '1'</description>
                      <value>0</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>H0S1</name>
                      <description>High drive '0', standard '1'</description>
                      <value>1</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>S0H1</name>
                      <description>Standard '0', high drive '1'</description>
                      <value>2</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>H0H1</name>
                      <description>High drive '0', high 'drive '1''</description>
                      <value>3</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>D0S1</name>
                      <description>Disconnect '0' standard '1' (normally used for wired-or connections)</description>
                      <value>4</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>D0H1</name>
                      <description>Disconnect '0', high drive '1' (normally used for wired-or connections)</description>
                      <value>5</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>S0D1</name>
                      <description>Standard '0'. disconnect '1' (normally used for wired-and connections)</description>
                      <value>6</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>H0D1</name>
                      <description>High drive '0', disconnect '1' (normally used for wired-and connections)</description>
                      <value>7</value>
                    </enumeratedValue>
                  </enumeratedValues>
                </field>
                <field>
                  <name>SENSE</name>
                  <description>Pin sensing mechanism</description>
                  <lsb>16</lsb>
                  <msb>17</msb>
                  <enumeratedValues>
                    <enumeratedValue>
                      <name>Disabled</name>
                      <description>Disabled</description>
                      <value>0</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>High</name>
                      <description>Sense for high level</description>
                      <value>2</value>
                    </enumeratedValue>
                    <enumeratedValue>
                      <name>Low</name>
                      <description>Sense for low level</description>
                      <value>3</value>
                    </enumeratedValue>
                  </enumeratedValues>
                </field>
              </fields>
            </register>
          </registers>

  •  

     : I sincerely apologize for the very late reply. 

    I did some changes to the nRF52840.svd file and I am now able to see the Pin Configuration registers during debugging. Could you try to use the attached .svd file and see if that resolves the issue? 

     nrf52840_svd.zip

     

  • Hi Bjorn, 

    Thanks for coming back. I cannot see yout attachement.

  • It should be visible now, I had to zip it in order to get the upload to finish properly.

  • Hi Bjorn,

    I confirm that this solves the issue. I can now see all the GPIO registers even after DETECTMODE. 

    Thank you very much.

    I will close the question. 

  • Perhaps a similar issue, I cannot see several of the regs in NRF_UICR in SES, for instance PSELRESET is missing. I am using SES 3.34 and SDK 15.2. I will try to update SES. Same issue with nrf52840.svd that ships with 15.2, and the above posed svd file. Any help appreciated... I've got an issue with not being able to set the reset pin selection! Thanks!

Reply Children
Related