You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use reproducible builds for ESP32 platform so that locally build binaries will be an exact match
of release binaries for the same tag. Error message line info will start from the source path,
trimming any diectories leading up to it. SHA256 sums of binaries built from release tags should be
an exact match of release binaries.
Signed-off-by: Winford <[email protected]>
Copy file name to clipboardExpand all lines: doc/src/programmers-guide.md
+17-1Lines changed: 17 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -171,6 +171,22 @@ Deployment of the AtomVM virtual machine and an AtomVM application currently req
171
171
172
172
For more information about deploying the AtomVM image and AtomVM applications to your device, see the [Getting Started Guide](./getting-started-guide.md)
173
173
174
+
```note
175
+
The ESP32 platform uses reproducible builds, this has an effect when doing advanced debugging with
176
+
GDB because paths are altered to strip away leading paths that are substituted with the following
177
+
placeholders:
178
+
179
+
* Path to ESP-IDF is replaced with /IDF
180
+
* Path to the project is replaced with /IDF_PROJECT
181
+
* Path to the build directory is replaced with /IDF_BUILD
182
+
* Paths to components are replaced with /COMPONENT_NAME_DIR (where NAME is the name of the
183
+
component)
184
+
185
+
For information on how to configure GDB for debugging reproducible builds consult the ESP-IDF
186
+
documentation about
187
+
[Reproducible Builds and Debugging](https://docs.espressif.com/projects/esp-idf/en/v5.5/esp32/api-guides/reproducible-builds.html#reproducible-builds-and-debugging).
188
+
```
189
+
174
190
## Applications
175
191
176
192
An AtomVM application is a collection of BEAM files, aggregated into an AtomVM "Packbeam" (`.avm`) file, and typically deployed (flashed) to some device. These BEAM files be be compiled from Erlang, Elixir, or any other language that targets the Erlang VM.
@@ -1590,7 +1606,7 @@ The read options take the form of a proplist, if the key `raw` is true (`{raw, t
1590
1606
1591
1607
If the key `voltage` is true (or simply appears in the list as an atom), then a calibrated voltage value will be returned in millivolts in the second element of the returned tuple. Otherwise, this element will be the atom `undefined`.
1592
1608
1593
-
You may specify the number of samples (1 - 100000) to be taken and averaged over using the tuple `{samples, Samples :: 1..100000}`, the default is `64`.
1609
+
You may specify the number of samples (1 - 100000) to be taken and averaged over using the tuple `{samples, Samples :: 1..100000}`, the default is `64`.
1594
1610
1595
1611
```{warning}
1596
1612
Using a large number of samples can significantly increase the amount of time before a response, up to several seconds.
0 commit comments