Setting VDD to 3.0V

We have developed a small PCB that connects with some other HW. The integrated nRF52840 runs in HighVoltage-Mode and its required to set VDD to 3.0V. The question - how to do this - was discussed in several articles - I read them all and tried most codes - but nothing really runs. It is posible to set REGOUT0 in UICR 0x304 to 0x04. After the necessary Reset, this works in RUN-Mode outside IDE. In Debugger-Mode the Debugger shows an HW-error and stops. This happens also if I change the value during the Init-process in the program. As I agree with some comments, the much better way is to modify the setting for REGOUT0 during the building-process. There are some examples, I tried them too, but without success. Because some comment are over three years old, may be there were some changes. I hope, that there is a reliable solution.

Thanks in advance 

Juergen

  • One final question from my side:

    How to run the solution I mentioned before (devzone.nordicsemi.com/.../113169).

    I made the changes as described:

    In flash_placement.xml:

    <MemorySegment name="UICR" start="$(UICR_START)" size="$(UICR_SIZE)">
      <ProgramSection alignment="4" keep="Yes" load="Yes" name=".uicr_regout0" start="0x10001304" size="4"/>
    </MemorySegment>
    

    In uicr_config.h (included in main.c):

    const uint32_t REGOUT0 __attribute__((section(".uicr_regout0"))) = 4;
    

    But after build and starting the debugger, REGOUT0 is "0xFFFFFFFF"" and not "0x00000004".

    What is the reason?

Related