SparkFun Forums 

Where electronics enthusiasts find answers.

Everything with the AmbiqSuite SDK tools and software are welcome here.
User avatar
By RussNelson
#208091
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
Code: Select all
make bootload
command.
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?
User avatar
By RussNelson
#208116
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.
User avatar
By RussNelson
#208124
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.
User avatar
By RussNelson
#208205
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}
User avatar
By RussNelson
#208251
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.
User avatar
By Don Wills
#208384
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.
User avatar
By RussNelson
#208429
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.