This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Possible Bootloader Race Condition @ Power Up



Hello,

I was wondering if anyone has seen something like this - when powering up the Hercules (3137PGE in this case) - 
and when GPIO7 is read - is it possible that the state of that pin isn't valid?

I am seeing the bootloader jump into wanting to download a new image when a valid image is loaded at boottime - and am
just wondering if anyone has reported this or may have seen it.

Thanks In Advance,
John W.

  • John,
    I do not think we have ever seen anything like this.
    The GIO registers are not functional until GIOGCR0 is written; before that, you'd want to enable the peripheral selects through the peripheral Power Down Clear Registers and the Peripheral Enable bit.
    The default for both GIOA[7] and GIOB[7] is to be an input, pulled low. If you have a different requirement, the pull can be changed to pull-up, but that is not the how the pin is initially configured.

    Best Regards,
    Kevin Lavery
  • Hello Kevin,

    Thanks for the reply.

    Our app will jump into the bootloader if that pin is low at boottime - we have a switch for that too that pulls up GIOA_7.

    We are using a 10K pull up.

    Thanks,
    John
  • John,
    Given the default condition of the pin (input pulled low) and your external configuration of a pull-up resistor, you are likely biasing the pin to its threshold. Try either of the following:
    -1- remove internal pull before reading the pin (or setting up interrupts) -- you'll want to configure the GIOPULDIS[A].7 high to disconnect the internal pull; this leaves your external pull-up of 10K as the only pull on the pin.
    -2- change the pull-down to pull-up -- you'll want to configure the GIOPSL[A].7 high (while leaving GIOPULDIS[A].7 low) so that the pull direction is changed to a pull-up; this is in effect in series with your external 10K.

    I think either of these software changes will remove your problem.

    Best Regards,
    Kevin Lavery