I have been playing around with odrive for a wheeled robotics project, so we can’t do full motor calibration in everytime on the bootup. So a quick googling and searching around this website lead me to this
odrv0.axis0.motor.config.pre_calibrated = True is correct, but this only saves the resistance and inductance of the motor, NOT the encoder offset information required for commutation phase. odrv0.axis0.config.startup_encoder_offset_calibration = True is wrong - that will just try (and fail, if the robot is on the ground) to do the encoder offset calibration which has to be done without load.
You need to have either an absolute encoder or an index signal.
If you are using an absolute encoder, you only need to set axis0.encoder.config.pre_calibrated = True.
If you are using an index pulse, you also need to set odrv0.axis0.encoder.config.use_index = True before you do the initial calibration, and also set odrv0.axis0.config.startup_index_search = True