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

DFU one button design

This post had a discussion on using one button but the first reply suggested a buttonless solution. So now I'm not sure if one button dfu is best if same button is used for reset and wake. Which sequence is recommended, 1) remove the coin battery, press and hold button, insert battery, release button, enter DFU, 2) hold button for a number of seconds, enter DFU, 3) or buttonless DFU. The intended design for nRF52810 is to use P0.21/RESET as that one button.

That post and some other posts (18968, 22612, 28527, 33875) make mention of using the BOOTLOADER_BUTTON. I can find references of how to use that pin here SDK_14.2.0_nRF52810_Secure_BL_v1.1.zip but when searching sdk 15.0 examples only the experimental ant_bootloader has that pin. Is this to understand that from sdk 15.0 going forward buttonless is the recommended option for secure BL?

-thank-you

Parents
  • Hi Simon, 

     

    How you want to enter DFU is totally your choice.

    If your device doesnt have any physical button (because you need to encapsulate it for example)  or if you don't want your end user have to touch the device (you want the DFU update to be totally transparent to the end user) you can use buttonless solution. 

    However, the physical button has its own advantage. You can always fallback to the bootloader regardless what happens with the app. Think about you don't have a button and rely on the app to send the device to DFU mode, and then for some reasons the app crashes before you can send the command to switch to DFU. Then your device could be bricked. 

    The best solution is to have both, hold a button when resetting to enter DFU and buttonless option. 

    In SDK v15, the button is defined in NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN, dfu_enter_check() will check if the button is pressed or not. 

     

     

     

  • The three options then are valid and good to test with P0.21, ok.

    In sdk_config.h, I set NRF_BL_DFU_ENTER_METHOD_PINRESET = 1, and the device flipped from the app to dfu when in app mode and button pressed, then returned to app mode after timeout, ok.

    Then I tried NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN = 21 (tactile button on the nRF52810 between P0.21 & GND), removed power, pressed button, returned power, released button and still in app mode. Which part is missing or not right?

    -thank-you

  • Hi Simon, 

     

    P0.21 is a special GPIO pin that it can also be as reset pin. Could you check if you application configured the pin as reset pin or not ? 

    Please check if PSELRESET[] registers are configured in UICR. 

    You can also debug the bootloader and check inside dfu_enter_check() in nrf_bootloader.c if the pin is read correctly. 

  • I'm using this example nRF5_SDK_15_52810_bootloader_iar_keil_ses_gcc.zip for the custom one button.

    I ran nrfjprog --family nrf52 --readuicr uicr-1.txt and comparing to nrf52810 product spec 4.5.1.60 PSELRESET[0] to check if registers are configured but not sure which line to check.

    I was able to confirm using the zip example that NRF_BL_DFU_ENTER_METHOD_BUTTON_PIN = 21 works for 10040-DK, and from before NRF_BL_DFU_ENTER_METHOD_PINRESET = 1 using custom button p0.21. 

    So it seems the zip application configured the pin as a reset but not as a button for the custom board.

    I removed DEVELOP_IN_NRF52832 in Keil, Options for Target, Define and changed pin in pca10040.h. Also noticed that the LED is not working according to the pin setting, then something is wrong in how the board file is being read for the custom. Is there another Keil setting for the custom board? (I mostly use SES).

    Update: Since I started writing this response there has been an update to an SES version for s112 being available (same as zip link above). I tested this and getting the same error as in my previous case with error "CPU could not be halted". So now not sure if the Keil error carried over to the SES version and is board file related. (I have other SES apps in standard sdk 15.0 that work ok for the custom). (I tried zip as is for custom and same error).

    -thank-you.

    :020000041000EA
    :10100000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
    :10101000FFFFFFFF0080020000E00200FFFFFFFF74
    :10102000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
    :10103000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
    :10104000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
    :10105000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
    :10106000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
    :10107000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
    :10108000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
    :10109000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
    :1010A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
    :1010B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
    :1010C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
    :1010D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
    :1010E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
    :1010F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
    :10110000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
    :10111000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
    :10112000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
    :10113000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
    :10114000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
    :10115000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
    :10116000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
    :10117000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
    :10118000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
    :10119000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
    :1011A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
    :1011B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
    :1011C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
    :1011D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
    :1011E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
    :1011F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    :101200001500000015000000FFFFFFFFFFFFFFFFBC
    :10121000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
    :10122000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
    :10123000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
    :10124000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
    :10125000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
    :10126000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
    :10127000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
    :10128000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
    :10129000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
    :1012A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
    :1012B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
    :1012C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
    :1012D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
    :1012E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
    :1012F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
    :10130000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
    :10131000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
    :10132000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
    :10133000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
    :10134000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
    :10135000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
    :10136000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
    :10137000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
    :10138000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
    :10139000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
    :1013A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
    :1013B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
    :1013C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
    :1013D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
    :1013E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
    :1013F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
    :10140000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC
    :10141000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC
    :10142000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC
    :10143000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC
    :10144000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC
    :10145000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C
    :10146000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C
    :10147000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C
    :10148000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C
    :10149000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C
    :1014A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C
    :1014B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C
    :1014C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
    :1014D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C
    :1014E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
    :1014F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
    :10150000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB
    :10151000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB
    :10152000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB
    :10153000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB
    :10154000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB
    :10155000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B
    :10156000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B
    :10157000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B
    :10158000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
    :10159000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B
    :1015A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B
    :1015B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B
    :1015C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B
    :1015D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B
    :1015E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B
    :1015F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB
    :10160000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA
    :10161000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA
    :10162000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
    :10163000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA
    :10164000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA
    :10165000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A
    :10166000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A
    :10167000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A
    :10168000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A
    :10169000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A
    :1016A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A
    :1016B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A
    :1016C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A
    :1016D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A
    :1016E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A
    :1016F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
    :10170000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9
    :10171000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
    :10172000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
    :10173000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
    :10174000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
    :10175000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
    :10176000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
    :10177000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
    :10178000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69
    :10179000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
    :1017A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49
    :1017B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39
    :1017C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29
    :1017D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
    :1017E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09
    :1017F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
    :10180000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8
    :10181000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8
    :10182000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8
    :10183000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8
    :10184000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8
    :10185000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98
    :10186000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88
    :10187000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78
    :10188000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68
    :10189000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58
    :1018A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48
    :1018B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38
    :1018C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28
    :1018D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18
    :1018E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08
    :1018F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
    :10190000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7
    :10191000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7
    :10192000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7
    :10193000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7
    :10194000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7
    :10195000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97
    :10196000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87
    :10197000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77
    :10198000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67
    :10199000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57
    :1019A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47
    :1019B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37
    :1019C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
    :1019D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17
    :1019E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07
    :1019F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
    :101A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6
    :101A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6
    :101A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6
    :101A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6
    :101A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6
    :101A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96
    :101A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86
    :101A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76
    :101A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66
    :101A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56
    :101AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46
    :101AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36
    :101AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
    :101AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16
    :101AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06
    :101AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6
    :101B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5
    :101B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5
    :101B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5
    :101B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5
    :101B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5
    :101B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95
    :101B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85
    :101B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75
    :101B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65
    :101B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55
    :101BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45
    :101BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35
    :101BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25
    :101BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15
    :101BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05
    :101BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5
    :101C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
    :101C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4
    :101C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
    :101C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4
    :101C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4
    :101C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94
    :101C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84
    :101C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74
    :101C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64
    :101C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54
    :101CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44
    :101CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34
    :101CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24
    :101CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14
    :101CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
    :101CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4
    :101D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3
    :101D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
    :101D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
    :101D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3
    :101D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3
    :101D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93
    :101D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83
    :101D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73
    :101D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63
    :101D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53
    :101DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43
    :101DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33
    :101DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23
    :101DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13
    :101DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03
    :101DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3
    :101E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2
    :101E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2
    :101E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2
    :101E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2
    :101E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2
    :101E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92
    :101E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82
    :101E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72
    :101E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62
    :101E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
    :101EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42
    :101EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32
    :101EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22
    :101ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12
    :101EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02
    :101EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2
    :101F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1
    :101F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1
    :101F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1
    :101F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
    :101F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
    :101F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91
    :101F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
    :101F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71
    :101F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
    :101F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51
    :101FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
    :101FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31
    :101FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
    :101FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
    :101FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
    :101FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1
    :00000001FF
    

  • Hi Simon, 

    If you look at address 101200 you can see 0x00000015 was written on both PSELRESET[0] and PSELRESET[1] (0x15 = 21= P0.21) 

    This is because there is a configuration in the preprocessor symbol in project setting : CONFIG_GPIO_AS_PINRESET  

    If you remove that, recompile and do a full erase of the chip to erase the UICR , you should be able to use P021 as normal GPIO pin. Note that then you don't have a pin reset. 

  • I had removed CONFIG_GPIO_AS_PINRESET in dfu but not in the app which was the missing step.

    -thank-you. 

Reply Children
No Data
Related