recipe for target 'bootload' failed

I’m trying to run example1_edge_test using gcc as the compiler. I have an Artemis Nano Redboard.

I can see the serial data light blink once when I issue the ```
make bootload


Nothing else happens and shortly I get a NoResponseError.

Now, I know that I'm compiling an edge_test and trying to run it on the Nano. It doesn't have anything connected to GPIO14, whereas it looks like the Edge has a pushbutton. The instructions for flashing the Edge say to press the A14 button. I tried shorting GPIO14 to ground on my Nano, but it doesn't help.

Is there something special I need to do on the Nano to get it to flash new code?

Oh, I see that the USB serial interface’s RTS line is connected to the BOOT1 line capacitively. I expect that is used to signal incoming programming data.

I tried running uart_wired_update_sparkfun.py at 115200 bps. Still no joy. I see the RX light blink, but not the TX. The blue light is still blinking at 1Hz, so the processor is running.

Tried doing a reset before upload. Still not responding to Hello.

I tried dropping rts to reset the system, waiting 3 seconds, then raising rts to signal boot/1. Still didn’t help.

I tried using the ch34x driver rather than the ch341 driver that comes with Ubuntu 18.04.2 LTS. Still doesn’t help.

I tried using 115200 bps, still doesn’t help.

Just to be sure, it’s this product: https://www.sparkfun.com/products/15443

Also found this page at maker.io: https://www.digikey.com/en/maker/projec … 91189c1e64

Seems to have useful information, although it hasn’t helped me yet.

The Arduino bootloader (1.8.10) also fails:

Artemis SVL Bootloader

error receiving packet

{‘len’: 0, ‘cmd’: 0, ‘data’: 0, ‘crc’: 1, ‘timeout’: 1}

I happen to also have a Artemis RedBoard. It also fails to program, either through Arduino or the SDK. There isn’t an obvious choice of board for the RedBoard, so I chose “Sparkfun Artemis Blackboard”. Interestingly, it sends data to the RedBoard, and it responds by sending something (no idea what) back, which causes the Arduino to immediately display the same results as above. In this case, when I program it by the SDK, it sends the Hello command immediately. Then 30 seconds later, it sends a goodbye message.

12 seconds later. The RedBoard sends something 12 seconds later, just as uart_wired_update_sparkfun.py times out.

Is there anybody else reading this, or is it just me?

Sniff, sniff. Everybody hates me, nobody loves me, think I’ll go eat worms.

I’m at a loss for what to try next. Any hints? From anybody?

Yes, I’ve been reading your posts. I have no suggestions because I’m not doing Arduino development, or using the serial bootloader.

I’m doing development in a manner similar to Robin Hodgson - gcc with SEGGER JLink and associated tools. My plans are to use FreeRTOS, probably the most widely used open source RTOS today, as the base of my project. gcc, SEGGER and FreeRTOS have tens of thousands of developers. I like being with a crowd when I’m not totally sure of what I’m doing.

IMO, Arduino is for education and simple projects (toys, etc.), whereas the Cortex M series chips are for more serious projects (battery driven, multi-tasking, possible plans for commercialization). I’m not sure why Sparkfun has decided to focus on Arduino/Ambiq when the world of Arduino is mostly ATmega chips, which seem to be a fine fit for each other. I doubt that the Arduino/Ambiq combo well ever be as mature as the Arduino/ATmega universe.

Thank you for the reply, Don!

Oh yay! The Python arduino bootloading code, which works on Windows, sends an ‘U’ and then waits for a short packet before sending the command and data to flash. The code that I’ve been struggling with does no such thing. If I modify it to send a ‘U’ and wait for the short packet, it succeeds.

Basically, it sounds like I’ve been trying to use the wrong bootloader the whole time.