mylonics / zephyr-ide

Apache License 2.0
22 stars 3 forks source link

Bug: Two versions of one board #14

Closed black-ghost-off closed 4 months ago

black-ghost-off commented 4 months ago

image image

When selecting the ESP32s3 devkit board (in my case esp32s3 devkit c(n8r8), I see two choices, esp32s3_devkitc_appcpu and esp32s3_devkitc_procpu, although only esp32s3_devkitc is in the list of available boards

black-ghost-off commented 4 months ago

Versions: west: v1.2.0 zephyr: main SDK: 0.16.2

(Off-topic, add a feature somewhere so that you can get all versions of all packages)

rijesha commented 4 months ago

Where is the 2nd screenshot from? It sounds like that board has two cpu cores on it and you need to select what core you are building for. I would imagine one of them is the bluetooth core.

rijesha commented 4 months ago

Versions: west: v1.2.0 zephyr: main SDK: 0.16.2

(Off-topic, add a feature somewhere so that you can get all versions of all packages)

What do you mean all versions of all packages?

black-ghost-off commented 4 months ago

2nd screenshot it`s if there is an error that such a board does not exist, west build displays a list of all supported boards

black-ghost-off commented 4 months ago

What do you mean all versions of all packages?

One button for copy version of sdk, west, zephyr, arm packages, esp pacakges, etc...

rijesha commented 4 months ago

This issue is closed. Select the correct processor for the board you are building and you should be good.

black-ghost-off commented 4 months ago

This is an issue that there is no correct configuration in the build configuration selection

image

black-ghost-off commented 4 months ago

@rijesha reopen issue

rijesha commented 4 months ago

I dont think I understand the issue. What are you expecting in the build configuration selection.

black-ghost-off commented 4 months ago

The list when selecting the build configuration contains those boards that do not exist, and the one that is needed is not there. You only need esp32s3_devkitc WITHOUT appcpu, procpu

rijesha commented 4 months ago

You are correct that those boards don't exist, but they are targets of the board that does exist. The ESP32S3 microcontroller has two cores in it. An application processor and a protocol processor. This is usually so that the bluetooth radio (which is being directed by the protocol processor) can function properly without stalling. (I have not built anything with an ESP32, so I am not sure how the duties are supposed to be split between cores)

So now you need to decide when building a zephyr project do you want to write code for the application processor or the protocol processor of the esp32s3. Usually you would want to write code for the application processor and so you should select _appcpu option.

https://www.esp32.com/viewtopic.php?t=8558 https://docs.zephyrproject.org/latest/samples/drivers/ipm/ipm_esp32/README.html

rijesha commented 4 months ago

Also if you are having build issues with that board, this may be relevant. https://github.com/zephyrproject-rtos/zephyr/issues/72639

black-ghost-off commented 4 months ago

Also if you are having build issues with that board, this may be relevant. https://github.com/zephyrproject-rtos/zephyr/issues/72639

Screenshot_2024-05-15-07-30-47-131_com.github.android.jpg

black-ghost-off commented 4 months ago

Doesn't meter, main always on 0 core boot(only if you wasn't touch idf menuconfig)

Two cores controlled by rtos, that cores doesn't have two different firmwares

We need select JUST "esp32s3_devkitc" for build firmware

I don't know where from appcpu and *second name", it's not in list of available board(esp32s3_devkitc_appcpu and esp32_divkitc_otherboard)

My flow Create new project Select build configuration Select BOARD esp32s3_devkitc BUT configuration menu give me list without "ZEPHYR SUPPORTED BOARD", it's give me "(esp32s3_devkitc_appcpu and esp32_divkitc_otherboard)"

THERE BUG, WHAT WE NEED ESP32S3_DEVKITC(WITHOUT ANYTHING ELSE)

black-ghost-off commented 4 months ago

Bug in list of your zephyr IDE, build configuration List where you select which one board you want to use

rijesha commented 4 months ago

Please post the west build command that you would use if you weren't using zephyr ide.

black-ghost-off commented 4 months ago

https://github.com/mylonics/zephyr-ide/assets/70693212/47fbd7a2-b33e-4d1f-8fd6-e794d32bb6f9

black-ghost-off commented 4 months ago

https://docs.zephyrproject.org/latest/boards/espressif/esp32s3_devkitc/doc/index.html

black-ghost-off commented 4 months ago

I suspect that the bug may be in the SDK/West/Zephyr itself

rijesha commented 4 months ago

There is a bug with the zephyr ide app. Hopefully I will be able to have a look at it today.

black-ghost-off commented 4 months ago

One observation.

west build -besp32s3_devkitc

is also not possible, it is necessary as I dropped in the link earlier

rijesha commented 4 months ago

So there have been a lot of changes recently with the way the boards are being handled.

I think the zephyr ide works correctly if you are using v3.6.0. I made some changes that work with main, but that will break v3.6.0 and lower.

I would recommend using v3.6.0 for the time being. If using v3.6.0 then you can use esp32s3_devkitc as you pointed out earlier. The zephyr documentation and zephyr main have all changed to using esp32s3_devkitc/esp32/appcpu.

If you would really like to use main, you can manually edit the board for the project in settings.json.

rijesha commented 4 months ago

I got my changes to work for both the new and older version of zephyr. It is in v1.20.0

black-ghost-off commented 4 months ago

LGMT, It works