Hi,
I tried to disable the GPIO's "Pullup Enable," but it didn’t work.
Further investigation revealed that the issue arose because PTA3 was configured as the UART TX pin in the bootloader. During the transition from bootloader to application, the PTA3-ADC configuration failed to properly override the previous PTA3-UART TX settings.
This override failure occurred because when configuring PTA3 solely for ADC function in S32DS and generating code, the tool does not include a PTA3 configuration structure inside the generated
const Siul2_Port_Ip_PinSettingsConfig g_pin_mux_InitConfigArr0[NUM_OF_CONFIGURED_PINS0]
.
Consequently, during initialization using `g_pin_mux_InitConfigArr0` in application, PTA3 is not reconfigured.
In contrast, if we configure PTA3 for GPIO input function and generate code, S32DS generates a configuration structure for PTA3.
Currently, the best solution I can think of is:
1. Configuring pins used as ADC to be both GPIO inputs and ADC functions.
2. Restoring all configurations to their default settings before the bootloader jumps to the application.
However, we haven't found a function in the RTD library that deinitializes all GPIO configurations.
Is there a better method or a register that can reset all configurations (not only GPIO) without resetting the MCU?
Since the MCU always starts from the bootloader and then transitions into the application, resetting the MCU won’t effectively reset all configurations needed for the application in this case.
Best regards,
Lan