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
1. Make sure you have the `local_filesystem/` folder
4
4
5
-
Make a local clone that contains the [internal_filesystem](https://github.com/MicroPythonOS/MicroPythonOS/tree/main/internal_filesystem) with:
5
+
If you built from source, you should already have a local clone that contains the [internal_filesystem](https://github.com/MicroPythonOS/MicroPythonOS/tree/main/internal_filesystem).
6
+
7
+
If you used a pre-built binary, then you need to get a local clone and change into that directory with:
6
8
7
9
<pre>
8
10
```
@@ -13,38 +15,39 @@
13
15
14
16
2. Make sure you have the software
15
17
16
-
Either you built your own [on MacOS](../os-development/macos.md) or [Linux](../os-development/linux.md) or you can download a pre-built executable binary (e.g., `MicroPythonOS_amd64_Linux_0.7.1.elf`, `MicroPythonOS_amd64_MacOS_0.7.1.bin`) from the [releases page](https://github.com/MicroPythonOS/MicroPythonOS/releases).
18
+
If you built from source, then you will already have the software in lvgl_micropython/build/lvgl_micropy_*
17
19
18
-
If you downloaded a pre-built binary (for example to /Users/yourname/MicroPythonOS_amd64_MacOS_0.7.1.bin) then put it in the right location, with execution rights:
20
+
If you downloaded a pre-built binary (for example /Users/yourname/MicroPythonOS_amd64_MacOS_0.7.1.bin) then put it in the right location now:
On MacOS, if you get an error about a missing /opt/homebrew/opt/libffi/lib/libffi.8.dylib then fix that with: `brew install libffi`
29
40
30
-
## Development on Desktop
41
+
## Testing on Desktop
31
42
32
-
This offers a quick coding cycle (modify, deploy, test) so it's the recommending starting method.
43
+
You'll notice that whenever you change a file in `internal_filesystem/`, the changes are immediately visible on desktop when you reload the file or restart the app.
33
44
34
-
When you run `./scripts/run_desktop.sh`, the OS runs **directly from `internal_filesystem/`**. This means:
45
+
When you run `./scripts/run_desktop.sh`, the OS runs the MicroPythonOS scripts **directly from `internal_filesystem/`**. This means:
35
46
36
47
-**All changes to Python files are immediately active** - no build or install needed
37
48
-**Instant testing** - edit a file, restart the app, see the changes
38
49
-**Fast iteration cycle** - the recommended way to develop and test
39
50
40
-
There's no need to run `./scripts/install.sh` when testing on desktop - that script is only for deploying everything from internal_filesystem/ to physical hardware.
41
-
42
-
### Modifying Files
43
-
44
-
You'll notice that whenever you change a file in `internal_filesystem/`, the changes are immediately visible on desktop when you reload the file or restart the app.
45
-
46
-
This results in a very quick coding cycle - no compilation or installation needed for Python code changes.
@@ -53,27 +56,10 @@ This results in a very quick coding cycle - no compilation or installation neede
53
56
4. See your changes immediately!
54
57
55
58
56
-
## Development on Hardware
59
+
## Testing on Hardware
57
60
58
61
Once you've tested your changes on desktop and they work correctly, or you're doing things you can't test on desktop, then you can deploy to physical hardware.
59
62
60
-
This assumes your device was already flashed with MicroPythonOS or at least MicroPython, using something like https://install.MicroPythonOS.com/
61
-
62
-
The `install.sh` script copies files from `internal_filesystem/` to the device's storage partition over USB/serial:
63
-
64
-
```bash
65
-
./scripts/install.sh
66
-
```
67
-
68
-
On MacOS, you need this for the install.sh script: `brew install --cask serial`
69
-
70
-
**When you DO need to rebuild and flash the MicroPythonOS firmware:**
71
-
72
-
You only need to run `./scripts/build_mpos.sh` when:
63
+
{!os-development/installing-on-esp32.md!}
73
64
74
-
- Modifying C extension modules (`c_mpos/`, `secp256k1-embedded-ecdh/`)
75
-
- Changing MicroPython core or LVGL bindings
76
-
- Testing the frozen filesystem for production releases
77
-
- Creating firmware for distribution
78
65
79
-
For **all Python code development**, just edit files in `internal_filesystem/` and run `./scripts/run_desktop.sh` (to run on desktop) or `./scripts/install.sh` to copy your files to a device.
0 commit comments