### Prepare hello world example (install, bootstrap, init, cd) Source: https://forgge.github.io/theCore/singlehtml/contents.html Prepare the hello world example: install theCore, bootstrap it, download the example repository, and step into the project directory. ```bash pip3 install tcore tcore bootstrap ``` ```bash tcore init --remote https://github.com/theCore-embedded/example_hello_world ``` ```bash cd example_hello_world ``` -------------------------------- ### Prepare blinky example (install, bootstrap, init, cd) Source: https://forgge.github.io/theCore/singlehtml/contents.html Prepare the blinky example: install theCore, bootstrap it, download the example repository, and step into the project directory. ```bash pip3 install tcore tcore bootstrap ``` ```bash tcore init --remote https://github.com/theCore-embedded/example_blinky ``` ```bash cd example_blinky ``` -------------------------------- ### Download the example project Source: https://forgge.github.io/theCore/_sources/examples/exti-button-interrupt.rst.txt Initialize theCore with the example repository. ```bash tcore init --remote https://github.com/theCore-embedded/example_button_interrupt ``` -------------------------------- ### Install and bootstrap theCore CLI Source: https://forgge.github.io/theCore/_sources/examples/htu21d-temperature-humidity-sensor.rst.txt Installs the tcore CLI and initializes theCore environment. Run this before downloading the example. ```bash pip3 install tcore # Or if python3-pip is default: pip install tcore tcore bootstrap ``` -------------------------------- ### Install and initialize theCore with pip3 and tcore bootstrap Source: https://forgge.github.io/theCore/examples/hello-world.html Installs theCore via pip3 and initializes it. Run before downloading the example. ```bash pip3 install tcore tcore bootstrap ``` -------------------------------- ### Download the example project Source: https://forgge.github.io/theCore/_sources/examples/fatfs-over-sdspi.rst.txt Downloads the example project from the specified repository. ```bash tcore init --remote https://github.com/theCore-embedded/example_fatfs ``` -------------------------------- ### Download the hello_world example with tcore init Source: https://forgge.github.io/theCore/_sources/examples/hello-world.rst.txt Downloads the hello_world example project from the theCore-embedded GitHub repository. ```bash tcore init --remote https://github.com/theCore-embedded/example_hello_world ``` -------------------------------- ### Build hello world example (stm32f4_disc, tiva_tm4c_launchpad, host) Source: https://forgge.github.io/theCore/singlehtml/contents.html Build the hello world example for the STM32F4 Discovery board, Tiva TM4C LaunchPad, or host target. ```bash tcore compile --target stm32f4_disc ``` ```bash tcore compile --target tiva_tm4c_launchpad ``` ```bash tcore compile --target host ``` -------------------------------- ### Download the CS43L22 audio example Source: https://forgge.github.io/theCore/_sources/examples/stm32f4-discovery-cs43l22.rst.txt Download the example project from theCore's GitHub repository and change into its directory. ```bash tcore init --remote https://github.com/theCore-embedded/example_cs43l22_audio cd example_cs43l22_audio ``` -------------------------------- ### Download example with tcore init Source: https://forgge.github.io/theCore/examples/hello-world.html Downloads the example repository using theCore's init command with the remote URL. ```bash tcore init --remote https://github.com/theCore-embedded/example_hello_world ``` -------------------------------- ### Download the FATFS example Source: https://forgge.github.io/theCore/singlehtml/contents.html Downloads the FATFS example project from the specified remote repository. ```bash tcore init --remote https://github.com/theCore-embedded/example_fatfs ``` -------------------------------- ### Step into the project directory Source: https://forgge.github.io/theCore/_sources/examples/exti-button-interrupt.rst.txt Change to the example project directory. ```bash cd example_button_interrupt ``` -------------------------------- ### Install theCore and bootstrap Source: https://forgge.github.io/theCore/_sources/examples/blinky.rst.txt Install theCore using pip and run the bootstrap command. This may take a while. ```bash pip3 install tcore tcore bootstrap ``` -------------------------------- ### Expected output on startup Source: https://forgge.github.io/theCore/_sources/examples/exti-button-interrupt.rst.txt Console output when the device starts, showing theCore version and the EXTI demo starting. ```text Welcome to theCore the_core v0.3.0.307 9ff344b-dirty Starting EXTI (button interrupt) demo ``` -------------------------------- ### Run hello world example (TivaC, STM32F407G-DISC, STM32F407G-DISC1, host) Source: https://forgge.github.io/theCore/singlehtml/contents.html Run the hello world example on TivaC launchpad, old STM32F407G-DISC boards with STLINK/V2, new STM32F407G-DISC1 boards with STLINK/V2.1, or host target. The host target executes the built binary directly. ```bash tcore flash --sudo ``` ```bash tcore flash --sudo ``` ```bash tcore flash --sudo --debugger-config stlink-v2.1 ``` ```bash ./build/host/hello_world ``` -------------------------------- ### Download HTU21D example project Source: https://forgge.github.io/theCore/_sources/examples/htu21d-temperature-humidity-sensor.rst.txt Downloads the HTU21D example project and changes into its directory. ```bash tcore init --remote https://github.com/theCore-embedded/example_sensor_htu21d cd example_sensor_htu21d ``` -------------------------------- ### Build blinky example (stm32f4_disc and tiva_tm4c_launchpad) Source: https://forgge.github.io/theCore/singlehtml/contents.html Build the blinky example for the STM32F4 Discovery board or the Tiva TM4C LaunchPad. ```bash tcore compile --target stm32f4_disc ``` ```bash tcore compile --target tiva_tm4c_launchpad ``` -------------------------------- ### Expected console output of hello_world example Source: https://forgge.github.io/theCore/_sources/examples/hello-world.rst.txt Expected console output from the hello_world example, showing the theCore version, a greeting, and a delay demonstration with increasing wait times. ```text Welcome to theCore the_core v0.3.0.307 9ff344b-dirty Hello World! Starting delay demonstration... [--] Waiting for 2 seconds [--] Done waiting 2 seconds [----] Waiting for 4 seconds [----] Done waiting 4 seconds [--------] Waiting for 8 seconds [--------] Done waiting 8 seconds ``` -------------------------------- ### Flash blinky example (TivaC, STM32F407G-DISC, STM32F407G-DISC1) Source: https://forgge.github.io/theCore/singlehtml/contents.html Flash the blinky example on TivaC launchpad, old STM32F407G-DISC boards with STLINK/V2, and new STM32F407G-DISC1 boards with STLINK/V2.1. The last command uses the --debugger-config stlink-v2.1 flag. ```bash tcore flash --sudo ``` ```bash tcore flash --sudo ``` ```bash tcore flash --sudo --debugger-config stlink-v2.1 ``` -------------------------------- ### Compile for host target Source: https://forgge.github.io/theCore/_sources/examples/hello-world.rst.txt Compiles the example for the host target (runs on the PC). ```bash tcore compile --target host ``` -------------------------------- ### Build theCore test suites Source: https://forgge.github.io/theCore/singlehtml/contents.html Builds existing test suites. Requires the Nix environment from the Getting started guide. Creates a build directory, configures with CMake, and compiles. ```bash mkdir tests_build cd tests_build cmake ../tests make ``` -------------------------------- ### Step into the project directory Source: https://forgge.github.io/theCore/_sources/examples/blinky.rst.txt Change into the example_blinky directory after downloading. ```bash cd example_blinky ``` -------------------------------- ### Expected minicom output Source: https://forgge.github.io/theCore/_sources/examples/stm32f4-discovery-cs43l22.rst.txt Expected output in minicom after flashing and running the example. Indicates the firmware started and is playing the audio sample. ```text Welcome to theCore Playing audio sample... ``` -------------------------------- ### Build Doxygen documentation with make core_doxygen Source: https://forgge.github.io/theCore/docs.html Builds Doxygen documentation using the CMake target `core_doxygen`. Run this command in the `doc_build` directory after completing the Getting started steps. The generated index page is at `doc_build/doc/doxygen/html/index.html`. ```makefile make core_doxygen ``` -------------------------------- ### Build Sphinx documentation with make core_sphinx Source: https://forgge.github.io/theCore/docs.html Builds Sphinx documentation using the `core_sphinx` CMake target. Run these commands from the theCore directory after finishing Getting started. Doxygen is built automatically before Sphinx. The generated docs are at `doc_build/sphinx/theCore/index.html` (multi-page) and `doc_build/sphinx/theCore/singlehtml/index.html` (single-page). ```bash # From theCore directory mkdir doc_build cd doc_build cmake ../doc make core_sphinx ``` -------------------------------- ### Install tcore script with pip3 Source: https://forgge.github.io/theCore/_sources/guides/getting-started.rst.txt Installs the tcore script using Python's pip3 package manager. Requires Python 3 and pip3 to be installed first. ```bash sudo pip3 install tcore ``` -------------------------------- ### Download the example with tcore init Source: https://forgge.github.io/theCore/_sources/examples/blinky.rst.txt Download the example_blinky project using theCore's init command with the remote repository URL. ```bash tcore init --remote https://github.com/theCore-embedded/example_blinky ``` -------------------------------- ### Flash for TivaC launchpad Source: https://forgge.github.io/theCore/_sources/examples/blinky.rst.txt Flash the example to the TivaC launchpad board. Requires sudo. ```bash tcore flash --sudo ``` -------------------------------- ### Install curl on Ubuntu Source: https://forgge.github.io/theCore/_sources/guides/getting-started.rst.txt Installs the curl utility using the Ubuntu package manager. Run this before downloading theCore if curl is not already present. ```bash sudo apt-get install curl ``` -------------------------------- ### Bootstrap theCore with tcore (with root permissions) Source: https://forgge.github.io/theCore/singlehtml/contents.html Bootstraps theCore and development environment. May ask for root permissions because Nix is installed under /nix if it does not exist. ```bash tcore bootstrap ```