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.

  • Hi  Vasileios, 

    you should be able to see the GPIO pin configuration under the P0 group in the Registers window, i.e.

     

    Best regards

    Bjørn 

  • 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>

  • Hi bjorn,

    I am using SDK 15.0.0.

    Both nrf52.svd and nrf52840.svd that I am using do have the PIN_CNF definition in them.

    Still registers do not appear.

    Thanks for your help.

  • Could you try updating to SES v3.34 or 3.40( latest i think) and see if that resolves the issue?

Related