nigelb / platform-apollo3blue

AmbiqMicro Apollo 3 Blue: development platform for PlatformIO
Apache License 2.0
29 stars 12 forks source link

Error building any application with artemis boards #39

Closed tgruetzm closed 2 years ago

tgruetzm commented 2 years ago

With any builds for the artemis nano board I get the following error: arm-none-eabi-g++: error: blink.pio\build\SparkFun_RedBoard_Artemis_Nano\program.map: No such file or directory *** [.pio\build\SparkFun_RedBoard_Artemis_Nano\program.exe] Error 1

Any thoughts on what is causing it?

nigelb commented 2 years ago

Hi @tgruetzm,

I do not see your problem when I try. These are the steps I took to try and replicate your issue:

Install platform-apollo3blue

$ pio platform install git+https://github.com/nigelb/platform-apollo3blue
*******************************************************************************************************************************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
*******************************************************************************************************************************************************************************************************************

WARNING: This command is deprecated and will be removed in the next releases. 
Please use `pio pkg install` instead.

Platform Manager: Installing git+https://github.com/nigelb/platform-apollo3blue
git version 2.25.1
Cloning into '/home/pio/.platformio/.cache/tmp/pkg-installing-ka_w20p9'...
remote: Enumerating objects: 79, done.
remote: Counting objects: 100% (79/79), done.
remote: Compressing objects: 100% (65/65), done.
remote: Total 79 (delta 12), reused 46 (delta 4), pack-reused 0
Unpacking objects: 100% (79/79), 907.88 KiB | 4.66 MiB/s, done.
Platform Manager: apollo3blue@0.0.2+sha.4a3a7fb has been installed!
Tool Manager: Installing platformio/toolchain-gccarmnoneeabi @ 1.90201.191206
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: toolchain-gccarmnoneeabi@1.90201.191206 has been installed!
The platform 'git+https://github.com/nigelb/platform-apollo3blue' has been successfully installed!
The rest of the packages will be installed later depending on your build environment.

Initialize project:

$ pio init -b SparkFun_RedBoard_Artemis_Nano -O"platform_packages=framework-arduinoapollo3@https://github.com/sparkfun/Arduino_Apollo3#v2.2.0"

The current working directory /home/pio/projects/ucontroller/Apollo3/testing/core_v2 will be used for the project.

The next files/directories have been created in /home/pio/projects/ucontroller/Apollo3/testing/core_v2
include - Put project header files here
lib - Put here project specific (private) libraries
src - Put project source files here
platformio.ini - Project Configuration File
Resolving SparkFun_RedBoard_Artemis_Nano environment packages...
Tool Manager: Installing git+https://github.com/sparkfun/Arduino_Apollo3#v2.2.0
git version 2.25.1
Cloning into '/home/pio/.platformio/.cache/tmp/pkg-installing-pnrfevq9'...
remote: Enumerating objects: 279, done.
remote: Counting objects: 100% (279/279), done.
remote: Compressing objects: 100% (229/229), done.
remote: Total 279 (delta 82), reused 151 (delta 36), pack-reused 0
Receiving objects: 100% (279/279), 2.62 MiB | 4.55 MiB/s, done.
Resolving deltas: 100% (82/82), done.
Note: switching to '771ce8fe14b54425775bb48c777709bf28eb9100'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Submodule 'cores/arduino/mbed-bridge' (https://github.com/sparkfun/arduino-mbed-bridge) registered for path 'cores/arduino/mbed-bridge'
Submodule 'cores/mbed-os' (https://github.com/sparkfun/mbed-os-ambiq-apollo3) registered for path 'cores/mbed-os'
Submodule 'tools/keywords_gen' (https://github.com/sparkfun/Keyword_File_Generator) registered for path 'tools/keywords_gen'
Submodule 'tools/uploaders/asb' (https://github.com/sparkfun/Apollo3_Uploader_ASB) registered for path 'tools/uploaders/asb'
Submodule 'tools/uploaders/svl' (https://github.com/sparkfun/Apollo3_Uploader_SVL) registered for path 'tools/uploaders/svl'
Cloning into '/home/pio/.platformio/.cache/tmp/pkg-installing-pnrfevq9/cores/arduino/mbed-bridge'...
remote: Enumerating objects: 271, done.        
remote: Counting objects: 100% (271/271), done.        
remote: Compressing objects: 100% (161/161), done.        
remote: Total 271 (delta 150), reused 211 (delta 95), pack-reused 0        
Receiving objects: 100% (271/271), 79.03 KiB | 502.00 KiB/s, done.
Resolving deltas: 100% (150/150), done.
Cloning into '/home/pio/.platformio/.cache/tmp/pkg-installing-pnrfevq9/cores/mbed-os'...
remote: Enumerating objects: 364079, done.        
remote: Counting objects: 100% (3/3), done.        
remote: Compressing objects: 100% (3/3), done.        
remote: Total 364079 (delta 0), reused 0 (delta 0), pack-reused 364076        
Receiving objects: 100% (364079/364079), 410.03 MiB | 10.12 MiB/s, done.
Resolving deltas: 100% (252711/252711), done.
Cloning into '/home/pio/.platformio/.cache/tmp/pkg-installing-pnrfevq9/tools/keywords_gen'...
remote: Enumerating objects: 92, done.        
remote: Total 92 (delta 0), reused 0 (delta 0), pack-reused 92        
Cloning into '/home/pio/.platformio/.cache/tmp/pkg-installing-pnrfevq9/tools/uploaders/asb'...
remote: Enumerating objects: 574, done.        
remote: Counting objects: 100% (16/16), done.        
remote: Compressing objects: 100% (12/12), done.        
remote: Total 574 (delta 2), reused 12 (delta 1), pack-reused 558        
Receiving objects: 100% (574/574), 149.29 MiB | 10.22 MiB/s, done.
Resolving deltas: 100% (235/235), done.
Cloning into '/home/pio/.platformio/.cache/tmp/pkg-installing-pnrfevq9/tools/uploaders/svl'...
remote: Enumerating objects: 573, done.        
remote: Counting objects: 100% (52/52), done.        
remote: Compressing objects: 100% (22/22), done.        
remote: Total 573 (delta 18), reused 51 (delta 18), pack-reused 521        
Receiving objects: 100% (573/573), 182.65 MiB | 9.96 MiB/s, done.
Resolving deltas: 100% (231/231), done.
Submodule path 'cores/arduino/mbed-bridge': checked out '42f0e69e2eab69e98b62b9a97d9b7fd934c7ca4e'
Submodule path 'cores/mbed-os': checked out '5e7ff58f3294033b015ea12fdf1b098109b0549d'
Submodule path 'tools/keywords_gen': checked out '483ce55047a2adb3210eddd3bff2a05f658a4373'
Submodule path 'tools/uploaders/asb': checked out '454fc619ce9371016f7bbdbb875aed2e197ea1ce'
Submodule path 'tools/uploaders/svl': checked out '54a37d5009fd8bb4e5c9770cabd4bed984ac7c98'
Tool Manager: framework-arduinoapollo3@2.2.0+sha.771ce8f has been installed!
Already up-to-date.

Project has been successfully initialized! Useful commands:
`pio run` - process/build project from the current directory
`pio run --target upload` or `pio run -t upload` - upload firmware to a target
`pio run --target clean` - clean project (remove compiled files)
`pio run --help` - additional information

Create test program src/main.cpp:

#include "Arduino.h"

void setup()
{
    Serial.begin(115200);
    Serial.println("Startup....");

}

void loop()
{
    Serial.println("Loop");
    delay(1000);
}

Compile program:

$ pio run
Processing SparkFun_RedBoard_Artemis_Nano (platform: apollo3blue; board: SparkFun_RedBoard_Artemis_Nano; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tool Manager: Installing platformio/tool-scons @ ~4.40300.0
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%
Tool Manager: tool-scons@4.40300.1 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/apollo3blue/SparkFun_RedBoard_Artemis_Nano.html
PLATFORM: Apollo 3 Blue (0.0.2+sha.4a3a7fb) > SparkFun RedBoard Artemis Nano
HARDWARE: AMA3B1KK 48MHz, 384KB RAM, 960KB Flash
DEBUG: Current (jlink) External (jlink)
PACKAGES: 
 - framework-arduinoapollo3 @ 2.2.0+sha.771ce8f 
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 9 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/src/main.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/variant/config/pins.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/variant/variant.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/bridge/pins.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-api/api/Common.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-api/api/IPAddress.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-api/api/PluggableUSB.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-api/api/Print.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-api/api/Stream.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-api/api/String.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/CommonAnalog.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/CommonDigital.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/CommonInit.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/CommonInterrupt.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/CommonMath.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/CommonPulse.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/CommonTiming.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/HardwareSerial.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/Yield.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/core-implement/itoa.c.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/mbed_bridge/main.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/core-implement/CommonAnalog.cpp.o
Compiling .pio/build/SparkFun_RedBoard_Artemis_Nano/core-implement/CommonPulse.cpp.o
Archiving .pio/build/SparkFun_RedBoard_Artemis_Nano/libvariant.a
Indexing .pio/build/SparkFun_RedBoard_Artemis_Nano/libvariant.a
Archiving .pio/build/SparkFun_RedBoard_Artemis_Nano/libmbed_bridge.a
Indexing .pio/build/SparkFun_RedBoard_Artemis_Nano/libmbed_bridge.a
Archiving .pio/build/SparkFun_RedBoard_Artemis_Nano/libcore-implement.a
Indexing .pio/build/SparkFun_RedBoard_Artemis_Nano/libcore-implement.a
Linking .pio/build/SparkFun_RedBoard_Artemis_Nano/program
Checking size .pio/build/SparkFun_RedBoard_Artemis_Nano/program
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   7.5% (used 29392 bytes from 393216 bytes)
Flash: [=         ]  12.0% (used 117624 bytes from 983040 bytes)
arm-none-eabi-objcopy -O binary .pio/build/SparkFun_RedBoard_Artemis_Nano/program .pio/build/SparkFun_RedBoard_Artemis_Nano/firmware.bi

Upload Program:

$pio run -t upload
Processing SparkFun_RedBoard_Artemis_Nano (platform: apollo3blue; board: SparkFun_RedBoard_Artemis_Nano; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/apollo3blue/SparkFun_RedBoard_Artemis_Nano.html
PLATFORM: Apollo 3 Blue (0.0.2+sha.4a3a7fb) > SparkFun RedBoard Artemis Nano
HARDWARE: AMA3B1KK 48MHz, 384KB RAM, 960KB Flash
DEBUG: Current (jlink) External (jlink)
PACKAGES: 
 - framework-arduinoapollo3 @ 2.2.0+sha.771ce8f 
 - tool-jlink @ 1.75001.0 (7.50.1) 
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 9 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Checking size .pio/build/SparkFun_RedBoard_Artemis_Nano/program
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   7.5% (used 29392 bytes from 393216 bytes)
Flash: [=         ]  12.0% (used 117624 bytes from 983040 bytes)
Configuring upload protocol...
AVAILABLE: asb, jlink, svl
CURRENT: upload_protocol = svl
Looking for upload port...
Uploading .pio/build/SparkFun_RedBoard_Artemis_Nano/firmware.bin

Artemis SVL Bootloader
Script version 1.7

Phase:  Setup
    Cleared startup blip
    Got SVL Bootloader Version: 5
    Sending 'enter bootloader' command

Phase:  Bootload
    have 122856 bytes to send in 60 frames
    Sending frame #1, length: 2048
    Sending frame #2, length: 2048
    Sending frame #3, length: 2048
    Sending frame #4, length: 2048
    Sending frame #5, length: 2048
    Sending frame #6, length: 2048
    Sending frame #7, length: 2048
    Sending frame #8, length: 2048
    Sending frame #9, length: 2048
    Sending frame #10, length: 2048
    Sending frame #11, length: 2048
    Sending frame #12, length: 2048
    Sending frame #13, length: 2048
    Sending frame #14, length: 2048
    Sending frame #15, length: 2048
    Sending frame #16, length: 2048
    Sending frame #17, length: 2048
    Sending frame #18, length: 2048
    Sending frame #19, length: 2048
    Sending frame #20, length: 2048
    Sending frame #21, length: 2048
    Sending frame #22, length: 2048
    Sending frame #23, length: 2048
    Sending frame #24, length: 2048
    Sending frame #25, length: 2048
    Sending frame #26, length: 2048
    Sending frame #27, length: 2048
    Sending frame #28, length: 2048
    Sending frame #29, length: 2048
    Sending frame #30, length: 2048
    Sending frame #31, length: 2048
    Sending frame #32, length: 2048
    Sending frame #33, length: 2048
    Sending frame #34, length: 2048
    Sending frame #35, length: 2048
    Sending frame #36, length: 2048
    Sending frame #37, length: 2048
    Sending frame #38, length: 2048
    Sending frame #39, length: 2048
    Sending frame #40, length: 2048
    Sending frame #41, length: 2048
    Sending frame #42, length: 2048
    Sending frame #43, length: 2048
    Sending frame #44, length: 2048
    Sending frame #45, length: 2048
    Sending frame #46, length: 2048
    Sending frame #47, length: 2048
    Sending frame #48, length: 2048
    Sending frame #49, length: 2048
    Sending frame #50, length: 2048
    Sending frame #51, length: 2048
    Sending frame #52, length: 2048
    Sending frame #53, length: 2048
    Sending frame #54, length: 2048
    Sending frame #55, length: 2048
    Sending frame #56, length: 2048
    Sending frame #57, length: 2048
    Sending frame #58, length: 2048
    Sending frame #59, length: 2048
    Sending frame #60, length: 2024

    Upload complete

    Nominal bootload bps: 46404.72

Run program:

�Startup....
Loop
Loop
Loop
Loop
Loop
Loop

Which is working fine. Do you see anything different when you try?

tgruetzm commented 2 years ago

I'm not sure what happened, but I removed and reinstalled everything and it seems to work now if I create new projects. My old projects still get the same error though. I guess I'll just re-create them. Thanks for looking!

tgruetzm commented 2 years ago

Hey @nigelb, I was still getting this issue and after some additional testing it seems like this only occurs when my project name has spaces. When I used "test" as my project it worked fine, then I re-created my project and it still didn't work. Then I added underscores and it works. Maybe you could see if you can reproduce it that way?

nigelb commented 2 years ago

Hey @tgruetzm, What operating system are you using? I could not replicate your issue on Linux but I could when I went and tried on Windows. I cannot test on a mac.

Now that I can replicate the issue, I can fix it.

tgruetzm commented 2 years ago

@nigelb, yes I'm using windows. I was thinking it may be OS specific.

nigelb commented 2 years ago

Hi @tgruetzm,

I believe I have fixed the problem. Have a look and let me know.

tgruetzm commented 2 years ago

Hey @nigelb

What would I need to do to test/how to I get your change to run with my PIO? I tried running pio platform install git+https://github.com/nigelb/platform-apollo3blue but I don't think that installed anything new.

nigelb commented 2 years ago

Hey @tgruetzm,

From my project directory, this worked for me:

$ pio pkg update
Resolving SparkFun_RedBoard_Artemis_Nano environment packages...
Platform Manager: Updating apollo3blue @ 0.0.2+sha.4a3a7fb
git version 2.25.1
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 11 (delta 6), reused 11 (delta 6), pack-reused 0
Unpacking objects: 100% (11/11), 987 bytes | 141.00 KiB/s, done.
From https://github.com/nigelb/platform-apollo3blue
   4a3a7fb..a4fe6a5  master     -> origin/master
Updating 4a3a7fb..a4fe6a5
Fast-forward
 builder/frameworks/arduino/core_v2.py | 2 +-
 builder/helpers/uploader.py           | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
Already up-to-date.
tgruetzm commented 2 years ago

That works now, thank you for your quick resolution!