I have a custom PCB with a GMo2SP that only maps UART0 through an FTDI UART to USB IC. I am using the PXL development SDK to write an application that runs on the GM02SP.
I want to have the ability to print some application state debug info to UART0 for viewing in a terminal on my laptop, so I experimented with configuring UART0 as a “console” vs. it’s default “at” behavior using:
After configuring UART0 to console, I am now unable to successfully program new firmware onto the GM02SP over UART.
I am thinking that perhaps I need to catch the device in the bootloader wiht a reset while requesting programming entry since maybe there is no way to issue an AT command on a UART channel configured as console.
I have tried the various recovery methods and CLI sfu commands listed in “Monarch-Monarch2-SoftwareUpgradeProcedure-Rev.9.pdf” without success.
The 2 things would like advice on is:
How do I recover this device so that I can program it.
What is the recommended method to print data from a running PXL application to UART0 to be able to report out the state of the applicaiton.
The device only support one console, by default it is UART2. If you only set UART0 to console but not set UART2 to something like at, The configuration is conflict and UART0 will not work properly.
Do you have FFH pin test point on your custom PCB? If you are able to pull up it with 1.8V, we can provide a firmware to recover it.
For PXL application, it mainly print log to console port. If you want to use UART0 as console port, please configure UART2 to AT then you are safe.
I do have access to the FFH pin test point on the PCB. Do I pull it up to 1.8v at the same time power is applied to the Monarch module to place the module in a recovery mode and then use SFU to program the recovery binary that you porvide? Do I need to continually hold the FFH pin at 1.8v or just momentarily?
Thanks for confirming that you can reach the FFH test point. The recovery sequence is:
With the module powered off, pull FFH up to 1.8 V.
Power up or reset the module while FFH is held high, so it boots into FFH mode.
Load the FFH firmware to reset configuration to default.
Release FFH and power-cycle the module.
I’ll send the recovery firmware and exact SFU command line separately. But before that can you please confirm the module variant and the firmware version (by ATI and ATI1)
After recovery, set UART2 to AT before you set UART0 to console, so that only one console is configured.
Thank you for the help up to this point. We will be revising the custom PCB design and I wanted to confirm a couple things:
If the design only has access to 1 UART and we are using a PXL application, we should be choosing UART1 to bettter support module configuration and programming during development and manufacturing.
It seems the easiest method for using an eSIM is to us a pre-provisioned eSIM for the PCB build. However, if using an unprovisioned eSIM, will it be possible to provision it with only access to UART1 or will access to a second UART be needed?