Main Site Documentation

Preliminary G400 Manual Question


On Page 10 of the G400 Preliminary Manual Rev. 0.01, regarding PA9 it says, “Must be pulled high when booting entering Loader Mode.” (Screenshot)

What does this mean?


Can someone at GHI please chime in on this? I’m finalizing a board design and need to know if this is something that needs to be accounted for.


I have a G400 design just now that has this pin connected to a MAX3232 device. I don’t have any pullup on this as the MAX3232 is always high if there is no external device connected on the RS232 side of the IC.

If I was to use this COMPORT for RS485, I would include a pullup on this as it’s an RX input and floating is not ideal and often gives me severe issues with strange reception etc.

It might be that in loader mode this is enabled as a UART and the pullup ensures that the RX line is held high to prevent erroneous data reception?


The manual appears to be in error. This pin, if high, will cause an error when trying to enter SAM-BA mode. This was discovered while a CAN transceiver was placed on the COM 1 RX (PA9) pin, which shares the CAN Rx pin.

When the AT91SAM9X35 is booting up, it goes through a specific order of operation to determine if there is a bootable source.

According to page 61 of the datasheet (11055E-ATARM-10-Mar-2014), it checks NAND, SD Card, SPI Flash, TWI0 EEPROM, then SAM-BA Monitor. Once in the SAM-BA monitor mode (page 62, 11055E-ATARM-10-Mar-2014), if the SAM-BA monitor detects activity on the UART DBG port, it will lock out USB, therefore, if you want to enter SAM-BA via USB and there is a signal disrupting the line (CAN Transeiver), it will prevent you from updating the firmware and such.

A solution would be to add a jumper (that could be removed, severing signal conflict) to any other signal that is on this line that could be active during system boot-up if you needed to enter SAM-BA mode.

Please note that this does not affect regular NetMF booting, it only affects the processors boot sequence.


Thanks for the detailed response, Aron!

As a matter of fact, I actually have an RS-485 transceiver currently connected to that pin, and the transceiver output does default to a high state, so I guess it ought to be moved to a different pin now. :stuck_out_tongue: (I wouldn’t want to pull my hair out trying to figure out why I can’t update TinyBooter in the future.)

@ Dave - You might consider moving your RS-232 transceiver to a different pin, too . . . .


As I suspected, UART activity.

@ Iggmoe. Your HIGH will be OK as a low is the active state for the UART so as long as the line is always HIGH (make sure nothing is on the RS485 and transmitting that is) it will be OK.

I’d be tempted to put a pull-up anyway with RS485 drivers but this will depend on whether you have the RX enabled all the time, or toggle it. With the issues I’ve seen in the past, a cheap resistor is worth adding.