Difference between revisions of "Xtensa"
From Free Pascal wiki
Jump to navigationJump to search (Created page with "---- Note: the ESP32 support is highly experimental and prone to be broken ----") |
|||
Line 1: | Line 1: | ||
---- | ---- | ||
− | Note: the ESP32 support is highly experimental and prone to be broken | + | Note: the ESP32 support is highly experimental and prone to be broken. This description is work in progress. |
---- | ---- | ||
+ | |||
+ | = Building FPC = | ||
+ | |||
+ | == Preparations == | ||
+ | ---- | ||
+ | So far Linux only | ||
+ | ---- | ||
+ | Install esp-idf and execute | ||
+ | |||
+ | source ~/eps/esp-idf/export.sh | ||
+ | |||
+ | to get the pathes and environment set (namely tools path and $IDF_PATH are needed) | ||
+ | |||
+ | Change into the fpc directory and run | ||
+ | |||
+ | make CPU_TARGET=xtensa OS_TARGET=freertos "CROSSOPT=-Cplx6 -XPxtensa-esp32-elf- -Cfhard" all FPC=fpc | ||
+ | |||
+ | to get FPC. | ||
+ | |||
+ | Create somewhere a hello world program, compile it with | ||
+ | |||
+ | fpc/compiler/xtensa/pp -Fu../rtl/units/xtensa-freertos/ -Tfreertos -Cawindowed -XPxtensa-esp32-elf- -al -O3 -Wpesp32 -Fl~/xtensa-esp32-elf-libs -Fl$HOME/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/xtensa-esp32-elf/lib/ hello | ||
+ | |||
+ | Get partition-table.bin and bootloader.bin from the hello_world example compiled above and copy them into the same dir as the compiled hello.bin | ||
+ | |||
+ | Flash with | ||
+ | esptool.py -p /dev/ttyUSB0 -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 bootloader.bin 0x8000 partition-table.bin 0x10000 hello.bin | ||
+ | |||
+ | Monitor the output with: | ||
+ | idf_monitor.py --port /dev/ttyUSB0 hello.elf |
Revision as of 22:41, 5 April 2020
Note: the ESP32 support is highly experimental and prone to be broken. This description is work in progress.
Building FPC
Preparations
So far Linux only
Install esp-idf and execute
source ~/eps/esp-idf/export.sh
to get the pathes and environment set (namely tools path and $IDF_PATH are needed)
Change into the fpc directory and run
make CPU_TARGET=xtensa OS_TARGET=freertos "CROSSOPT=-Cplx6 -XPxtensa-esp32-elf- -Cfhard" all FPC=fpc
to get FPC.
Create somewhere a hello world program, compile it with
fpc/compiler/xtensa/pp -Fu../rtl/units/xtensa-freertos/ -Tfreertos -Cawindowed -XPxtensa-esp32-elf- -al -O3 -Wpesp32 -Fl~/xtensa-esp32-elf-libs -Fl$HOME/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/xtensa-esp32-elf/lib/ hello
Get partition-table.bin and bootloader.bin from the hello_world example compiled above and copy them into the same dir as the compiled hello.bin
Flash with
esptool.py -p /dev/ttyUSB0 -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 bootloader.bin 0x8000 partition-table.bin 0x10000 hello.bin
Monitor the output with:
idf_monitor.py --port /dev/ttyUSB0 hello.elf