Conversation
|
Can we proceed with this PR to get murdock working for ESP32? Furthermore, I would like to reference |
|
looks ok. just one thing: why is python-serial and the dialout group needed? The container up to now has only be used for building. Flashing and terminal should be executed on the host. |
|
@kaspar030 Hm, before RIOT can be flashed, the ELF file has to be converted into a special binary image format using Since older Linux distributions, e.g. Ubuntu 16.4, not offering it as a package, the user would have to start to install toolchain components. Sure, it's a documentation problem, but it does not seem to be comfortable. |
Ok, having the tools in the container won't hurt. But the dialout group thing I don't quite get - the gid of the dialout group will certainly be container-specific, it won't (necessarily) match the dialout group of the host system. If the intention was that a dialout-owned host serial device can be used by the riotbuild user within the container, it will probably not work. (maybe with ubuntu host, ubuntu docker base image...) |
|
@kaspar030 Of course you are right. I'm too blinded by Linux, where it's quite common for serial devices to be owned by group dialout. |
|
I think what usually happens with other devices that the user is required to configure this properly on their host system (e.g. using |
|
@kaspar030 What do we do next? Should I remove the addition of the riotbuild user to the dialout group? At least for my ESP ports, I've documented that using riotdocker consists of two steps
where step 2 requires that the flasher program is installed on the host and how |
|
@kaspar030 I removed adding the user to the group dial. I also had to change the download procedure for the Xtensa ESP32 Toolchain. I replaced the original Espressif toolchain with a version that I created myself using crosstool-NG. This was necessary because Espressif's original toolchain uses a newlib version that printf for floats does not support. I know Riotdocker is currently blocked by issue #46. I also went into this problem. I hope PR #47 can be merged soon and we can continue with this PR to get murdock working for ESP32. |
0255815 to
c5870ca
Compare
| RUN echo 'Installing ESP32 toolchain' >&2 && \ | ||
| mkdir -p /opt/esp && \ | ||
| cd /opt/esp && \ | ||
| git clone --recursive https://github.com/espressif/esp-idf.git && \ |
There was a problem hiding this comment.
Is there a reason to not update to https://github.com/espressif/esp-idf/releases/tag/v3.1 now that it is released?
There was a problem hiding this comment.
@cladmi Yes, the reason is that the ESP32 port is realized for the version that is checkout out in the docker file. The problem is that I couldn't simply use the ESP-IDF as it was, but had to change a lot of files, a number of them only because of compile errors like function prototype warnings, for others I had to make real changes. All the files you can find in https://github.com/gschorcht/RIOT-Xtensa-ESP/tree/esp32/cpu/esp32/vendor/esp-idf are modified to get them working with RIOT.
The version I used is a snapshot of v3.1 branch from July 27th.
I will try to update it later, but for the moment I would prefer to leave it as it currently is to integrate the port into the master. Since my time is currently very limited, I fear that the merge would otherwise delayed further. I spent a lot of time porting RIOT to ESP32 in the last half year and the ESP32 port has been completely tested and works very stably with this version of ESP-IDF.
There was a problem hiding this comment.
Thanks for the precision, so yeah there is a reason to stay with is one for the moment.
|
The MIPS toolchain is now working. Please rebase |
@leandrolanzieri Done |
|
I'm testing it against RIOT-OS/RIOT#9426 |
|
Toolchain works: |
|
ACK on my side. @kaspar030, @cladmi ? |
|
Question, in the Has it been included here ? I did not receive github updates about it, maybe it is just me, but I want to be sure it is included. |
|
@cladmi Yes is the Xtensa compiler suite I prepared which includes the newlib that supports |
|
So @cladmi is there anything else or can we go? |
|
Good for me on my concern. But I did not tested it or the referenced PR so I can't approve. But this PR still need to receive a reviewed ack before merging. |
I activated the according branch protection for this repo's master branch. |
|
@miri64 Thanks |
jia200x
left a comment
There was a problem hiding this comment.
ok, comments were addressed and the toolchain is working as expected in Docker.
Tested ACK.
|
& GO |
|
@jia200x Thanks |
I have added the installation of the ESP32 toolchain as required for the ESP32 port of RIOT, PR RIOT-OS/RIOT#9426.
The toolchain is installed in
/opt/espand requires about 181 MB after cleanup. All path variables in the makefiles of the ESP32 port point to this directory.