The problem I am trying to resolve as of right now (and I am behooved as to how this is happening) is ‘.platformio/packages/framework-zephyr/include/zephyr/toolchain/gcc.h:99:10: fatal error: stdbool.h: No such file or directory’
I would think that the pio/zephyr build environment should include such an elementary header file as part of the C standard library. I do know that embedded devices don’t often use the full standard library that a computer OS would use…
And other things seem to point to potential issues with my pio install too, since I noticed that:
-
pio CLI didn’t appear to be installed, or at least it wasn’t in my PATH in the linux shell
-
DNF (Fedora) does find PIO, but it fails to install since the repository for it is returning 404
-
having installed pio via pip and the default python3 in Fedora 43, I think the python version is too new and gives errors. (It’s starting to get outside the scope of me figuring out zephyr but I may need to go down this rabbit hole to fix the environment I’m working in.
-
menuconfig doesn’t work? is there a PIO abstraction I need to be made aware or is my system hoopajouped?
Anyways, regarding another question, how do I, within the PIO ecosystem, do Kconfig without guessing what goes into my prj.conf blind or copying other peoples’ code, based on the documentation found at places like this display?
I think(?) I got the device tree configured correctly for it…
&spi1 {
status = "okay";
};
/ {
chosen {
zephyr,display = &ili9341;
};
mipi_dbi: mipi-dbi {
compatible = "zephyr,mipi-dbi-spi";
spi-dev = <&spi1>;
dc-gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpioa 1 GPIO_ACTIVE_LOW>;
#address-cells = <1>;
#size-cells = <0>;
// backlight-gpios = <&gpioa 10 GPIO_ACTIVE_HIGH>;
ili9341: display@0 {
compatible = "ilitek,ili9341";
reg = <0>;
mipi-max-frequency = <20000000>;
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
width = <240>;
height = <320>;
pixel-format = <0>;
rotation = <0>;
status = "okay";
};
};
};
And then for the prj.conf:
CONFIG_SPI=y
CONFIG_GPIO=y
CONFIG_DISPLAY=y
CONFIG_ILI9341=y
CONFIG_INPUT=y
CONFIG_INPUT_XPT2046=y
CONFIG_SERIAL=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_LVGL=y
CONFIG_DISPLAY=y
CONFIG_ILI9341=y
platformio.ini:
[env:nucleo_g474re]
platform = ststm32
board = nucleo_g474re
framework = zephyr
build_flags = -DOVERLAY_FILE="boards/nucleo_g474re.overlay"
Source code for the moment is just an abomination of the blinky example and some LVGL example I wanted to print hello world to the display. Currently I’m still trying to get all the dev enviroment stuff to work.