This shows you the differences between two versions of the page.
iothings:proiecte:2021:zephyr [2022/01/28 17:58] andrei_edward.popa [1.Project Objective and Description] |
iothings:proiecte:2021:zephyr [2022/01/28 19:20] (current) andrei_edward.popa [Support for Raspberry Pi Pico in Zephyr RTOS] |
||
---|---|---|---|
Line 3: | Line 3: | ||
All drivers were implemented by Andrei-Edward Popa from ACES Master Program and those are licensed under Apache 2.0 Open Source License. | All drivers were implemented by Andrei-Edward Popa from ACES Master Program and those are licensed under Apache 2.0 Open Source License. | ||
- | Project repository: https://github.com/andrei-edward-popa/zephyr/ | + | Project repository: [[https://github.com/andrei-edward-popa/zephyr|Andrei-Edward Popa Github Repository]] |
Branches: rpi_pico_working_uart, rpi_pico_working_i2c | Branches: rpi_pico_working_uart, rpi_pico_working_i2c | ||
+ | |||
+ | Demo: [[https://www.youtube.com/watch?v=IdkH4meemCc|UART and I2C Driver Usage in Zephyr Project for Raspberry Pi Pico Board]] | ||
==== 1.Project Objective and Description ==== | ==== 1.Project Objective and Description ==== | ||
Line 31: | Line 33: | ||
* west update | * west update | ||
* west zephyr-export | * west zephyr-export | ||
+ | * pip3 install --user -r ~/zephyrproject/zephyr/scripts/requirements.txt | ||
+ | * pip3 install --user -U docutils==0.16 | ||
* pip3 install --user -r ~/zephyrproject/zephyr/scripts/requirements.txt | * pip3 install --user -r ~/zephyrproject/zephyr/scripts/requirements.txt | ||
* cd ~ | * cd ~ | ||
- | * wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.13.2/zephyr-sdk-0.13.2-linux-x86_64-setup.run | + | * wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.13.1/zephyr-sdk-0.13.1-linux-x86_64-setup.run |
- | * chmod +x zephyr-sdk-0.13.2-linux-x86_64-setup.run | + | * chmod +x zephyr-sdk-0.13.1-linux-x86_64-setup.run |
- | * ./zephyr-sdk-0.13.2-linux-x86_64-setup.run -- -d ~/zephyr-sdk-0.13.2 | + | * ./zephyr-sdk-0.13.1-linux-x86_64-setup.run -- -d ~/zephyr-sdk-0.13.1 |
- | * sudo cp ~/zephyr-sdk-0.13.2/sysroots/x86_64-pokysdk-linux/usr/share/openocd/contrib/60-openocd.rules /etc/udev/rules.d | + | * sudo cp ~/zephyr-sdk-0.13.1/sysroots/x86_64-pokysdk-linux/usr/share/openocd/contrib/60-openocd.rules /etc/udev/rules.d |
* sudo udevadm control --reload | * sudo udevadm control --reload | ||
* cd ~/zephyrproject/modules/hal | * cd ~/zephyrproject/modules/hal | ||
Line 44: | Line 48: | ||
Open ~/.bashrc file and add the following environment variables and then execute bash command. | Open ~/.bashrc file and add the following environment variables and then execute bash command. | ||
- | * export ZEPHYR_BASE=/home/"user"/zephyrproject | + | * export ZEPHYR_BASE=/home/"user"/zephyrproject/zephyr |
* export ZEPHYR_GCC_VARIANT=zephyr | * export ZEPHYR_GCC_VARIANT=zephyr | ||
- | * export ZEPHYR_SDK_INSTALL_DIR=/home/"user"/zephyr-sdk-0.13.2 | + | * export ZEPHYR_SDK_INSTALL_DIR=/home/"user"/zephyr-sdk-0.13.1 |
* export ZEPHYR_TOOLCHAIN_VARIANT="zephyr" | * export ZEPHYR_TOOLCHAIN_VARIANT="zephyr" | ||
* export CMAKE_PREFIX_PATH=/home/"user"/zephyrproject/zephyr/share/zephyr-package/cmake | * export CMAKE_PREFIX_PATH=/home/"user"/zephyrproject/zephyr/share/zephyr-package/cmake | ||
Line 56: | Line 60: | ||
* git remote update | * git remote update | ||
* git pull | * git pull | ||
- | * git checkout | + | * git checkout rpi_pico_working_uart OR rpi_pico_working_i2c OR rpi_pico_working_i2c_samples |
+ | |||
+ | All the steps are tested on a fresh machine and it works without problems. You need to change the "user" with your machine username. | ||