SparkFun Forums 

Where electronics enthusiasts find answers.

Everything with the AmbiqSuite SDK tools and software are welcome here.

I have got a sparkfun edge board and a redboard. i have tried the examples codes from ambiq sdk and sparkfun example tensorflow on edge board using the given python scripts and it was working fine.

Now i want to try the same examples from ambiq sdk(i2c, ble..) on the redboard but unable to upload the firmware using the sparkfun i have also tried the ambiq wired update script but couldn't update it. (As edge board and red board have different bootloaders)

i have also tried arduino to upload and it was working, so i have used script from the .arduino15 to program using the makefile but some port issues are coming.

${PROGRAMMER_SCRIPT} -b 115200 -f $(CONFIG)/main_nonsecure_wire.bin -v -t 0.50 $(SERIAL_PORT)

please have a look at the attached screenshot.

i think i have given proper permission for the USB and made sure not other terminal is using the port.
I don't have a jlink programmer so what is the proper way to program the redboard using bootloader?
You do not have the required permissions to view the files attached to this post.
I'm having a similar issue using artemis_svl to upload a simple "blink" example to the artemis nano board.

I cloned the repo located here: ... amples.git (fetch)

and successfully built the projectusing the supplied make file and arm-none-eabi compiler, however when I attempt to upload the code to the nano using artemis_svl, it appears to load correctly, but I cannot get the onboard LED to turn on no matter what I try. I attempted setting all the GPIO to output and then setting all pins high, but the light never came on. I suspect that the sparkfun bootloader is never loading my program in the first place... if that's true, how should we be flashing the a binary created from a SDK example project? Can we flash non-arduino binaries to the device and still use the artemis bootloader?

sample build below:
Code: Select all
yi@bigpaper ~/git/Apollo3Blue_SoftwareExamples/apollo3-stimer/example/make (master*) $ make bootload
Compiling C file: main.o
arm-none-eabi-gcc -D APOLLO3_1024=1 -D APOLLO3_1024=1 -g -ggdb -Os -Wall -fno-strict-aliasing -fno-strict-aliasing  -ffunction-sections -fdata-sections -fno-exceptions -fno-delete-null-pointer-checks -fno-hosted  -fmessage-length=0 -fno-builtin -DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3 -g -MMD -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -fdata-sections -Os -ffunction-sections -Wall -Wextra -nostdlib --param max-inline-insns-single=500 -fno-exceptions -DF_CPU=48000000L -DARDUINO=10809 -DARDUINO_AM_AP3_SFE_BB_ARTEMIS_NANO -DARDUINO_ARCH_APOLLO3 -MMD -MP  -MF output/release/main.d -I.  -I../make  -I../../cmsis/include  -I../source  -I../source/config  -I../../common  -I../../thirdparty  -I../../library  -I../../library/highlevel  -I../../library/lowlevel  -I../../library/middleware -std=gnu99 -c ../source/main.c -o output/release/main.o
In file included from ../source/mcu.h:75,
                 from ../source/main.c:51:
../source/config/RTE_Device.h:82:2: warning: #warning Please select your device here or in the compiler defines section (default set): [-Wcpp]
   82 | #warning Please select your device here or in the compiler defines section (default set):
      |  ^~~~~~~
Linking target: output/release/apollo3-stimer.elf
arm-none-eabi-gcc -DPART_apollo3 -DAM_PACKAGE_BGA -DAM_PART_APOLLO3 -g -MMD -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -fdata-sections -Os -ffunction-sections -Wall -Wextra -nostdlib --param max-inline-insns-single=500 -fno-exceptions -DF_CPU=48000000L -DARDUINO=10809 -DARDUINO_AM_AP3_SFE_BB_ARTEMIS_NANO -DARDUINO_ARCH_APOLLO3 -Os -L -Larmv7e-m/fpu -T ama3b1kk-kbr_rom.ld -I.  -I../make  -I../../cmsis/include  -I../source  -I../source/config  -I../../common  -I../../thirdparty  -I../../library  -I../../library/highlevel  -I../../library/lowlevel  -I../../library/middleware -Wl,--start-group -lc -lg -lstdc++ -lsupc++ -lgcc -lm -Wl,--end-group  -Wl,-Map=output/release/,--cref,--no-warn-mismatch,--gc-sections  output/release/main.o output/release/system_apollo3.o output/release/startup_apollo3.o -lg -lstdc++ -lsupc++ -lm -lgcc -lc -lnosys -o output/release/apollo3-stimer.elf
arm-none-eabi-objcopy -I elf32-little -O binary output/release/apollo3-stimer.elf output/release/apollo3-stimer.bin
arm-none-eabi-objcopy -O srec output/release/apollo3-stimer.elf output/release/apollo3-stimer.srec
Printing size
arm-none-eabi-size --totals output/release/apollo3-stimer.elf
   text    data     bss     dec     hex filename
   2384    5124       4    7512    1d58 output/release/apollo3-stimer.elf
   2384    5124       4    7512    1d58 (TOTALS)
arm-none-eabi-objdump -D output/release/apollo3-stimer.elf > output/release/apollo3-stimer.lst
arm-none-eabi-nm output/release/apollo3-stimer.elf > output/release/apollo3-stimer-symbol-table.txt
../tools/artemis_svl -b 57600 -f output/release/apollo3-stimer.bin /dev/ttyUSB0 -v

Artemis SVL Bootloader

phase:  setup
        cleared startup blip
        Got SVL Bootloader Version: 3
        Sending 'enter bootloader' command

phase:  bootload
        have 5460 bytes to send in 3 frames
        sending frame #1, length: 2048
        sending frame #2, length: 2048
        sending frame #3, length: 1364

Upload complete