toit build fails on ARM64
# help
s
I'm building Jaguar on ARM64, and my toit build fails. generating
sdk/bin/toit.lsp
fails, saying
undefined: atomic.Bool
(with
note: module requires Go 1.19
k
Which version of Go are you using?
s
1.18.1 linux/arm64
now getting
no rule to make target '.../toit.pkg', needed by 'install-dependencies'. Stop.
okay, updated to 1.20.3
k
I am in front of my computer now, so maybe I can help from here.
Maybe it's worth deleting the
toit/build
and
jaguar/build
directories.
Then if the submodules are correctly initialized start by building from
toit
.
Can you verify that
toit/third_party/esp-idf
isn't empty?
s
seems to be working now? I just did
make all
in my clone of Jaguar
k
That is good news!
You should have
build/jag
in your
jaguar
directory -- and
toit/build/esp32/firmware.envelope
should have the ESP32 bits.
s
hmm now it's
File not found: '.../toit/tools/toit.run.toit'
k
Does it start with
.../toit
? (three dots)
What is your
JAG_TOIT_REPO_PATH
?
s
no sorry, I mean it has a directory --
/home/hydrologic/JagToit/toit/build/toit.run.toit
k
Ah, good πŸ˜‰
s
toit being the folder at which the clone is located
//home/hydrologic/JagToit/toit
k
Can you build from
toit/
? Try something like
make sdk
.
s
tells me the same thing, can't find that file
this one
k
Copy code
kasper@mole toit % build/host/sdk/bin/toit.run examples/hello.toit 
Hello, World!
Do you have the file
toit/tools/toit.run.toit
?
s
no, I don't
k
Does it start with
//
?
s
it does
wait, I do have the file
toit.run.toit
and it is in that directory
k
Hmm.
s
same error after changing this to one
/
b
@kasperl Hi, I tried this as well. A
make all
seems to have built
build/jag
but I do not have a toit directory in my jaguar top level. Also, I got this error on the compile:
Copy code
make: *** No rule to make target '/home/bmentink/src/jaguar/build/sdk/bin/toit.pkg', needed by 'install-dependencies'.  Stop.
s
yup I got that too
k
Looks like JAG_TOIT_REPO_PATH isn't set correctly or isn't handled correctly by the Makefile.
It should look for
$(JAG_TOIT_REPO_PATH)/build/host/sdk
and find
toit.pkg
in there, not in
jaguar/build
.
b
ok, how do I fix?
k
Maybe the way
make
starts a new shell is messing with us here.
b
There is also another bug:
Copy code
./build/jag version
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xa2d3fc]

goroutine 1 [running]:
github.com/toitlang/jaguar/cmd/jag/commands.VersionCmd.func1(0x4000226000?, {0x12299e0?, 0x0?, 0x0?})
        /home/bmentink/src/jaguar/cmd/jag/commands/version.go:30 +0x5c
github.com/spf13/cobra.(*Command).execute(0x4000226000, {0x12299e0, 0x0, 0x0})
        /home/bmentink/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:920 +0x5ac
github.com/spf13/cobra.(*Command).ExecuteC(0x4000212300)
        /home/bmentink/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:1044 +0x340
github.com/spf13/cobra.(*Command).Execute(...)
        /home/bmentink/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:968
github.com/spf13/cobra.(*Command).ExecuteContext(0xba4929?, {0xcc6530?, 0x40001b1b30?})
        /home/bmentink/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:961 +0x4c
main.main()
        /home/bmentink/src/jaguar/cmd/jag/main.go:34 +0x17c
Also, when I did
git submodule update --init --recursive
nothing happened ..
f
Let's take a step back. Here are some instructions that should work. Let me know at which point things go bad.
Copy code
export TOIT_PATH=YOUR_ABSOLUTE_PATH_TO_THE_TOIT_CLONE
export JAG_PATH=YOUR_ABSOLUTE_PATH_TO_THE_JAGUAR_CLONE
export JAG_TOIT_REPO_PATH=$TOIT_PATH
# Check that the paths are set up correctly:
ls $TOIT_PATH
ls $JAG_PATH
# Let's do some cleanups. They shouldn't be necessary, but can't hurt.
cd $TOIT_PATH
make clean
cd $JAG_PATH
rm -rf build
# recursively init the submodules of Toit
cd $TOIT_PATH
git submodule update --init --recursive .
# While we are here, make sure we have the esp-idf requirements installed.
third_party/esp-idf/install.sh
# Let's build Toit here.
make
# This should take some time and compile quite a few things.
# If you get a build-error, it's likely the mbedtls issue I mentioned.
#   Instructions for that one are below.
# You should end up with files in:
ls build/host/sdk/bin
# If the build completed succesfully, let's build Jaguar now.
cd $JAG_PATH
make
# This will do another build in Toit (this time the ESP32 firmware), and then
# finish by building 'build/jag'.
build/jag version
# At this point you should be able to use the 'build/jag' executable as if it was
# a downloaded Jaguar binary.
Now if there was a compilation error because of mbedtls:
Copy code
cd $TOIT_PATH/third_part/esp-idf/components/mbedtls/mbedtls
wget https://raw.githubusercontent.com/toitlang/toit/438ab4e65213816f9ed60a72cde0cc89e374d6d7/aarch64.diff
patch -p1 < aarch64.diff
# And now try to build Toit again:
cd $TOIT_PATH
make
s
error relating to
toit.run.toit
, I think 404 when I run this
wget
command
nvm didn't have my glasses on LOL
same error about
toit.run.toit
also
make clean
returns
rm: missing operand
and the submodule command doesn't return anything
despite the fact that the file does exist there and has information according to
nano
f
weird.
Could you try to run the command by hand?
On my machine it looks like the following:
Copy code
/usr/bin/cmake -E env ASAN_OPTIONS=detect_leaks=false /home/flo/code/opentoit/build/host/sdk/bin/toit.compile --dependency-file /home/flo/code/opentoit/build/host/src/boot.dep --dependency-format ninja -w /home/flo/code/opentoit/build/host/generated/toit.run.snapshot /home/flo/code/opentoit/tools/toit.run.toit
But really, the command is:
Copy code
/home/flo/code/opentoit/build/host/sdk/bin/toit.compile -w /home/flo/code/opentoit/build/host/generated/toit.run.snapshot /home/flo/code/opentoit/tools/toit.run.toit
The rest is just build-stuff.
That's ok. Once the submodules have been initialized 'git' doesn't print anything anymore.
e
s
what's the prefix here?
as in what command*
f
In this case
/home/flo/code/opentoit
would be
TOIT_PATH
.
s
I can't run the
toit
command
f
do you have the file
$TOIT_PATH/build/host/sdk/bin/toit.compile
?
s
yup
f
ok. What does
$TOIT_PATH/build/host/sdk/bin/toit.compile --version
say?
s
v2.0.0-alpha.79.2+a4d6336e
f
ok. So the compiler is compiled and seems to work.
Does this work?
$TOIT_PATH/build/host/sdk/bin/toit.compile -w $TOIT_PATH/build/host/generated/toit.run.snapshot $TOIT_PATH/tools/toit.run.toit
s
brings up the toit usage
f
can you show me?
s
f
You can use
$TOIT_PATH
if you have set the variable. No need to expand it yourself.
Can you show me your command-line you used?
s
just punched it in as you typed
says it can't find
toit.run.toit
though in the directory it does exist and is populated
f
interesting...
s
`echo`ing the env vars does return the expected values
f
Can you try
$TOIT_PATH/build/host/sdk/bin/toit.run $TOIT_PATH/tools/toit.run.toit
It should try to run the executable and then abort:
Copy code
ᐅ $TOIT_PATH/build/host/sdk/bin/toit.run $TOIT_PATH/tools/toit.run.toit
EXCEPTION error. 
OUT_OF_BOUNDS
  0: SmallArray_.[]            <sdk>/core/collections.toit:899:5
  1: main                      ABSOLUTE_PATH/tools/toit.run.toit:105:28
s
can't find
toit.run
f
ok. that could be. It makes sense that
toit.run
is built after the boot snapshot is generated.
Looking through the code to see if there is a good way to debug this.
Could you try this patch?
patch --dry-run -p1 < arm64.patch
, and if that looks good:
patch -p1 < arm64.patch
.
there is a weird work-around we added for running on older machines. And I wonder if that is hurting us now.
s
do I
cd
into
/mbedtls/
?
f
No.
This time from
cd $TOIT_PATH
.
I have to run now. Will check messages in ~25 minutes, and then again in a few hours.
s
now getting
Copy code
Not a regular file: '/home/hydrologic/JagToit/toit/tools/package.lock'
Not a regular file: '/home/hydrologic/JagToit/toit/tools/toit.run.toit'
f
@erikcorry Do you have any ideas? This should just do a normal
stat
.
s
same stuff after running
make clean
btw
f
@siyengar could you try to run
stat  /home/hydrologic/JagToit/toit/tools/toit.run.toit
Will be offline again for a while. Will look at the messages in ~3 hours.
s
Copy code
File: /home/hydrologic/JagToit/toit/tools/toit.run.toit
  Size: 4287          Blocks: 16         IO Block: 4096   regular file
Device: 1ah/26d    Inode: 388031      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/hydrologic)   Gid: ( 1000/hydrologic)
Access: 2023-04-23 21:46:23.673297708 -0500
Modify: 2023-04-23 21:46:23.673297708 -0500
Change: 2023-04-23 21:46:23.673297708 -0500
 Birth: 2023-04-23 21:46:23.673297708 -0500
f
That's really strange. Normally we use stat to see if a file exists. I wonder if we are using the wrong filesystem class. Will prepare another patch to confirm we are actually calling stat.
s
gotcha. is toit meant to run on arm64 Ubuntu?
f
We have Toit running on Linux Arm 32bit, and on Macos Arm 64 bit.
My expectation would have been that it also works on Linux Arm 64 bit.
But I don't think anyone every really tried.
I will see if I can get a qemu image to work on my machine now.
s
sure, keep me posted
f
running inside a qemu-emulated docker container right now.
s
gotcha, is it working?
f
still struggling to install the packages (python).
due to being in a container things aren't working as normal.
s
ah yeah I fumbled a little with that initially idk if it's just me
b
I have jag compiled/running on my M1 mac running Asahi (Arch) Linux, but it does not pull in the Toit source, do I have to do that manualy? If so, where does it need to be
in relation to the jag source?
f
If you have
JAG_TOIT_REPO_PATH
set up and built Jaguar, then it should automatically use the Toit that is in
JAG_TOIT_REPO_PATH
.
b
I have not set up the variable, how do I do that?
f
how did you compile jag?
b
just a simple
make
f
Ok.
If you clone https://github.com/toitlang/toit.git into a directory (usually next to Jaguar), then set the
JAG_TOIT_REPO_PATH
to it.
Let's say you have a
playground
directory, and
jaguar
already in it.
Then
Copy code
cd playground
git clone https://github.com/toitlang/toit.git
export JAG_TOIT_REPO_PATH=$PWD/toit
cd toit
git submodule update --init --recursive
third_party/esp-idf/install.sh
make
cd ../jaguar
make
b
Great, will switch over to that machine and give it a try .. thanks πŸ™‚
f
As mentioned earlier, you might need to apply a patch to get the compilation going.
b
ok, remind me on the patch syntax again?
f
Copy code
cd $TOIT_PATH/third_party/esp-idf/components/mbedtls/mbedtls
wget https://raw.githubusercontent.com/toitlang/toit/438ab4e65213816f9ed60a72cde0cc89e374d6d7/aarch64.diff
patch -p1 < aarch64.diff
b
thanks!
Is the above step `./third_party/esp-idf/install.sh `or do I have to cd to that directory
f
it's from within the
toit
directory.
b
right πŸ˜‰
Just waiting for my submodules to finish ..
f
yeah... that takes a long time.
b
just doing the install ..
f
I'm finally making small progress. I was unable to install pip in the virtualized environment with
apt
. Now switched to just installing it in my home dir, and that seems to have worked. Just finished install the esp-idf dependencies. I guess the next step is running a compile (which will take horribly long as the CPU is emulated).
pretty much the same here.
b
Tried a make, is the following error because of the required patch?
Copy code
[441/475] Generating ../generated/toit.run.snapshot
FAILED: generated/toit.run.snapshot /home/bmentink/src/toit/build/host/generated/toit.run.snapshot 
cd /home/bmentink/src/toit/build/host/src && /usr/bin/cmake -E env ASAN_OPTIONS=detect_leaks=false /home/bmentink/src/toit/build/host/sdk/bin/toit.compile --dependency-file /home/bmentink/src/toit/build/host/src/boot.dep --dependency-format ninja -w /home/bmentink/src/toit/build/host/generated/toit.run.snapshot /home/bmentink/src/toit/tools/toit.run.toit && /usr/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /home/bmentink/src/toit /home/bmentink/src/toit/src /home/bmentink/src/toit/build/host /home/bmentink/src/toit/build/host/src /home/bmentink/src/toit/build/host/src/boot.dep /home/bmentink/src/toit/build/host/CMakeFiles/d/03dea3e29e5c1a8315551c5d33d65a59747c8b24fcd66724fb3956f58c69957c.d
File not found: '/home/bmentink/src/toit/tools/toit.run.toit'
ninja: build stopped: subcommand failed.
make: *** [Makefile:113: tools] Error 1
make  2:15.43 user 8.611 system 537% cpu (26.796 wasted time).
f
Interesting. you are running into the same issue as cc-4477
My machine is only at 34/475...
b
Right, you have a way to go, my build to that point took seconds πŸ™‚
f
pfff..
qemu is nice, but it's sometimes sooo slow.
b
Yep, you need to grab someones M1 ..🀣
f
I'm still hoping that just running in the virtual machine will be faster than installing a Linux on Kasper's M1. But not so sure anymore πŸ™‚
and now I'm running into the issue that my image doesn't have go19.
b
I am on 1.20.3
f
seems like go18 is the last golang in this ubuntu version.
I guess I accidentally picked ubuntu 18.04 or so.
b
Which is why I love Arch based Distros ..
f
but it's fine. Only interested in
toit.compile
right now.
Me too.
I'm Arch all the way, but found an ubuntu based docker container faster.
b
Interesting .. what about an Alpine one?
f
lol. It's now at 40/243.
not going to go through all the installation again.
I'm really just trying to figure out why toit.compile doesn't seem to find files.
I can do that on ubuntu too πŸ™‚
b
I will go have a cuppa, see you soon ..
f
"soon" ... πŸ™‚
b
... ishπŸ˜†
f
ok. Found the issue.
I was so close with the initial patch that I cave to cc-4477. Just missed a few more places...
s
oh sweet
f
You should be able to apply this patch from the Toit repository:
Copy code
patch -p1 < stat.patch
@siyengar you already have another patch applied on the same file. I think the easiest is to just undo that change:
Copy code
# Go into your Toit repository. Then:
git checkout src/compiler/filesystem_local.cc
That should revert any changes to that file. Then apply the new patch:
Copy code
patch -p1 < stat.patch
You have another debug change (with
Not a regular file
but that shouldn't hurt).
We will properly fix this tomorrow. I'm pretty sure we don't need the work-around for older Linux versions anymore. This way we will do a clean
stat
call.
aah. And I think I understand now, why you don't need the other patch I was talking about. The cross-compiler uses
clang
and the native build system uses
gcc
. And it was clang that was hitting the warnings in mbedtls.
so after fixing the
stat
thing, Toit on Linux arm64 should just work.
s
okay. toit
make all
worked
now do I need to build jaguar too?
f
yes.
simply go into the jaguar directory and type
make
there.
as long as
JAG_TOIT_REPO_PATH
is set, it should start using it.
It will actually do another compilation of Toit. This time for the esp32.
And since I already had an ARM64 environment I also tested the cross-compiled executable there.
It needed the same patch (
stat
issue), but after that it worked.
Will see if we can add the ARM64 builds to the releases soon.
s
failed to open 'toit.bin' for reading (INVALID_ARGUMENT)
f
Where does this come from?
s
make
on jaguar
b
@floitsch where do I get stat.patch from?
I uploaded it here
Doesn't ring a bell. Give me two minutes and I will see if I can find where it is coming from.
Ok. I think it should be the
toit.bin
in the
build/esp32
folder of the
toit
checkout.
If
JAG_TOIT_REPO_PATH
is set, it should automatically build that, though.
b
Toit compiled fine with the patch. Jaguar fails here .. almost completes:
Copy code
FAILED: CMakeFiles/firmware.util 
cd /home/bmentink/src/toit/build/esp32 && /home/bmentink/src/toit/toolchains/idf/components/toit/../../../../build/host/sdk/bin/toit.compile -w /home/bmentink/src/toit/build/esp32/system.snapshot --project-root /home/bmentink/src/toit/toolchains/idf/components/toit/../../../../system /home/bmentink/src/toit/toolchains/idf/components/toit/../../../../system/extensions/esp32/boot.toit && cd /home/bmentink/src/toit/build/esp32 && rm -f firmware.envelope && /home/bmentink/src/toit/toolchains/idf/components/toit/../../../../build/host/sdk/tools/firmware --envelope=firmware.envelope create --bootloader.bin=bootloader/bootloader.bin --firmware.bin=toit.bin --firmware.elf=toit.elf --partitions.bin=partition_table/partition-table.bin --partitions.csv=/home/bmentink/src/toit/toolchains/esp32/partitions.csv --otadata.bin=ota_data_initial.bin --flashing.json=flasher_args.json --system.snapshot=/home/bmentink/src/toit/build/esp32/system.snapshot && echo envelope: created && cd /home/bmentink/src/toit/build/esp32 && /home/bmentink/src/toit/toolchains/idf/components/toit/../../../../build/host/sdk/tools/firmware --envelope=firmware.envelope extract --format=binary -o toit-firmware.bin && echo envelope: firmware extracted
Failed to open 'toit.bin' for reading (INVALID_ARGUMENT).
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
make[2]: *** [Makefile:239: esp32-no-env] Error 2
make[2]: Leaving directory '/home/bmentink/src/toit'
make[1]: *** [Makefile:234: esp32] Error 2
make[1]: Leaving directory '/home/bmentink/src/toit'
make: *** [Makefile:92: /home/bmentink/src/jaguar/build/sdk.build] Error 2
make  2:19.14 user 19.612 system 449% cpu (35.323 wasted time).
f
Ok. So you too...
b
yep [1257/1258]
f
can you check if there is a
toit.bin
in your
build/esp32
folder? (toit repository)
b
yes
f
I think it's the same issue.
I think this should fix it. < EDIT: removed patch here>
In the toit repository:
patch -p1 < primitive.patch
And thanks for your patience (both @siyengar and @bmentink )
nope.
The patch doesn't work. Give me a sec to fix it.
Updated version of primitive.patch:
b
Do we reverse the previous patch when asked?
f
shouldn't need to.
can you show me the full message?
b
patching file src/primitive_file_posix.cc Reversed (or previously applied) patch detected! Assume -R? [n]
f
Did you already apply the previous primitive.patch?
b
yes
f
If yes, just
git checkout src/primitive_file_posix.cc
first.
That reverts any changes we made.
b
ok thanks
f
Then the new one should apply cleanly.
b
yep, yay it all works .. jaguar completes 😁
f
nice.
b
is there a make install?
f
No.
for now just add it to your path:
export PATH="$PWD/build:$PATH"
b
will do, thanks πŸ™‚
f
and don't forget to set
JAG_TOIT_REPO_PATH
.
You still need that one to be set.
We will probably fix the
stat
thing tomorrow. And I will then try to improve our AUR scripts.
b
sounds good
f
But ideally we should have releases of arm64 (and since the cross-compilation seems to work, that's hopefully not too far in the future).
Again; big thanks for all the testing.
b
No problem at all ..πŸ˜‡
For future updates, will it be just
git checkout; make
in each of the
toit
and
jaguar
dirs?
s
uh getting
needed by 'install-dependencies'
b
@floitsch Confirmed: I can flash Jaguar onto a dev board and see it with
jag scan
cool .... containers install and run normal ..
So I compiled
yaourt
for the M1 and it shows:
Copy code
yaourt -Ss jaguar
aur/jaguar-bin 1.9.20-1 (0) (0.00)
    Tool to develop Toit programs for the ESP32
Is that a binary for x86 then?
s
Copy code
`Project build complete. To flash, run this command:
/home/hydrologic/.espressif/python_env/idf3.2_py3.10_env/bin/python third_party/esp-idf/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32  write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 build/esp32/bootloader/bootloader.bin 0x8000 build/esp32/partition_table/partition-table.bin 0xd000 build/esp32/ota_data_initial.bin 0x10000 build/esp32/toit-firmware.bin
or run 'idf.py -p (PORT) flash'
make[2]: Leaving directory '/home/hydrologic/JagToit/toit'
make[1]: Nothing to be done for 'esptool'.
make[1]: Leaving directory '/home/hydrologic/JagToit/toit'
mkdir -p /home/hydrologic/JagToit/jaguar/build
echo "2023-04-25T03:10:32Z" > /home/hydrologic/JagToit/jaguar/build/sdk.build
/bin/sh: 1: cannot create /home/hydrologic/JagToit/jaguar/build/sdk.build: Permission denied
make: *** [Makefile:94: /home/hydrologic/JagToit/jaguar/build/sdk.build] Error 2
now getting this
b
If that was a build of jaguar, I would trash that directory and get a fresh one .. and do another
make all
.. I presume you have built the toit stuff ?
s
yup toit builds fine
you mean
rm -rf
the directory?
and then reclone jaguar?
b
Yep
s
still the same thing
any ideas @kasperl ?
redoing this from scratch, do I need anymore patches besides this one?
f
It is. I guess we need to mark it as such.
b
Ok, looking forward to arm64 version, even a -git oneπŸ˜€
f
These look like the debug lines I added earlier. They don't look fatal.
You could get rid of them by doing
git checkout src/compiler/
and then applying the
stat
patch again.
s
hmm running
jag
after that returned nothing
as in, command not found
f
What were your last steps?
After a
make
in the
jaguar
repository?
s
that was before I reset everything. I'm gonna reapply the patches as mentioned and then
make
toit and
make
jaguar (am I required to
make
both separately?)
yup
f
You don't need to do the
make
in Toit.
The one in
jaguar
will do it for you.
We just did it this way since the Toit compilation was failing.
Just make sure you have the
JAG_TOIT_REPO_PATH
set.
Once everything is compiled you should have a
jag
file in the
build
directory of
jaguar
.
If it's there, just run it with
build/jag
.
The
make
will not install the executable. So you need to point to it.
(In more correct terms:
jag
is not in your
PATH
variable, and must thus be located via a relative or absolute path)
(actually the
build
folder is not in
PATH
but I hope it's clear what I meant)
s
gotcha gotcha
so that's why this is necessary?
f
exactly.
s
(are the quotes needed?)
f
The quotes are only needed if one of your paths contains spaces or so.
In general it's not.
(and I rarely do it)
s
sweet. I'll take a look once I'm off work in an hour or so
okay, worked
Enter the URL of the ARM SDK (version v2.0.0-alpha.79)
f
That should only happen if
JAG_TOIT_REPO_PATH
is not set.
s
it is set
f
Ah. Are you running
jag setup
?
You don't need to do that with
JAG_TOIT_REPO_PATH
.
s
ah yea I was
do I add this to the
~./bashrc
?
so I don't have to do it every time I reload shell
f
you can add
PATH
and
JAG_TOIT_REPO_PATH
with the correct values into your
.bashrc
Another common approach is to write the
export JAG_TOIT_REPO_PATH=...
and
export PATH=...
into a
jag.env
file and then write
source jag.env
. That's equivalent to writing the lines that are in the file.
Both are good options and mostly depending on preferences.
s
yeah I did an
init.sh
file that I'm just gonna run when I have this open
f
just make sure to use
source
and not just calling it.
When calling
init.sh
it won't change your current environment variables.
Only
source init.sh
(or equivalently
. init.sh
) will do that.
s
right yeah
f
btw. We committed the fixes for ARM64 to
master
. So a future checkout of the Toit repository should compile on ARM64 without needing to apply patches.
s
awesome!
also can I connect to WPA2-Enterprise via
jag flash
?
f
pff. Need to check what esp-idf supports. My initial guess would have been yes, but not sure.
Looks like esp-idf supports it, but we might not expose it.
s
can you read the MAC address via some
jag
command?
f
of the device?
s
yeah of the ESP board
f
I'm not sure. I don't think so. But you can use the
esptool
in the
Toit
build:
build/host/sdk/tools/esptool read_mac
s
yup that worked, thanks
I think we can leave this thread 🀞🏽
f
Note that it's currently not high priority, but a bit of nagging can change that πŸ™‚
7 Views