For years I have complied particle firmware as guided from the gettingstarted.md and have used a make file and particle flash to compile and flash my device. However I am running into problems trying to use this approach to compile an app to a mesh target.
This has been my approach so far.
git fetch
git checkout v0.8.0-rc.25-mesh -b v0.8.0-rc.25-mesh
cd modules
make clean all PLATFORM=xenon
yields:
build.mk:4: lwip/src/Filelists.mk: No such file or directory
Has anyone else been able to deploy via command line with the Mesh architecture?
Thanks
Kyle
You also need to fetch the submodules:
$ git submodule update --init --recursive
I’ll make sure we update the Getting Started guide in the firmware repository.
I think that I have to do something with submodules but I cant get the syntax right.
Thanks are you sure that is right?
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:spark/gsm0710muxer.git' into submodule path '/Users/kylebowerman/Documents/particle...
repeats for all the third party modules, shouldn't it be particle-iot and not spark?
Ah, you are using an old org name spark
instead of particle-iot
.
Please reclone with:
$ git clone --recursive git@github.com:particle-iot/firmware.git
Or change the remote url and sync submodules:
$ git remote set-url origin git@github.com:particle-iot/firmware.git
$ git submodule sync --recursive
$ git submodule update --init --recursive
1 Like
After following all of the above steps, and getting quite far through the compilation process, I am getting the following error:
Building c file: src/malloc.c
Invoking: ARM GCC C Compiler
mkdir -p ../build/target/newlib_nano/platform-14-m/./src/
...
src/malloc.c: In function '_free_r':
src/malloc.c:25:22: error: 'struct _reent' has no member named '_current_locale'
if (r && ptr == r->_current_locale) {
^~
../build/module.mk:272: recipe for target '../build/target/newlib_nano/platform-14-m/./src/malloc.o' failed
make[2]: *** [../build/target/newlib_nano/platform-14-m/./src/malloc.o] Error 1
../../../build/recurse.mk:11: recipe for target 'newlib_nano' failed
make[1]: *** [newlib_nano] Error 2
Any ideas?
What gcc-arm compiler version are you using?
arm-none-eabi-gcc --version
The only supported version is 5.3.1.
Ah that could be it - currently using 7.2.1.
Currently figuring out how to install the correct version on OSX as it’s not available through homebrew anymore. I believe I have found the correct package here https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads but it is still unclear to install.
Any suggestions?
Ah great, thanks for pointing me in the right direction!
You can use the homebrew package for gcc I made for po-util.
brew tap nrobinson2000/po
brew install gcc-arm-none-eabi-53