SparkFun Forums 

Where electronics enthusiasts find answers.

Everything with the AmbiqSuite SDK tools and software are welcome here.
#207527
Hi,

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 uart_wired_update_sparkfun.py 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 artemis_svl.py 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.
Image
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.
#207668
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:
https://github.com/schreinerman/Apollo3 ... 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/apollo3-stimer.map,--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