Resetting Nano vs. MKR

I am migrating a project to Nano 33 IoT from Wifi 1010 MKR where I used an I/O pin to pull the Reset pin down when needed the board to pragmatically reset itself. To prevent unwanted resets I added the following at the top of the Setup loop:

pinMode(resetPin, OUTPUT); // declared earlier:  const int resetPin =   20;
digitalWrite(resetPin, HIGH);

With GPIO20 hardwired to RESET I can send digitalWrite(resetPin, LOW); whenever a reset is required, and it works well on the MKR.

However, the Nano refuses to start with the I/O pin (in this case const int resetPin = 4) is wired to RESET pin, I assume it provides constant LOW to the RESET pin. I tried adding an external 1K pullup resistor but it didn’t work.

Any suggestions?

it is the same, what do you migrate? remap the pins and ready.
all ARM have NVIC_SystemReset();

Thank you, I didn't know about that option.