Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Two versions of one board #14

Closed
black-ghost-off opened this issue May 14, 2024 · 24 comments
Closed

Bug: Two versions of one board #14

black-ghost-off opened this issue May 14, 2024 · 24 comments

Comments

@black-ghost-off
Copy link
Contributor

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
Copy link
Contributor Author

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
Copy link
Contributor

rijesha commented May 14, 2024

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
Copy link
Contributor

rijesha commented May 14, 2024

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
Copy link
Contributor Author

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
Copy link
Contributor Author

What do you mean all versions of all packages?

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

@rijesha
Copy link
Contributor

rijesha commented May 14, 2024

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

@rijesha rijesha closed this as completed May 14, 2024
@black-ghost-off
Copy link
Contributor Author

black-ghost-off commented May 14, 2024

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

image

@black-ghost-off
Copy link
Contributor Author

@rijesha reopen issue

@rijesha
Copy link
Contributor

rijesha commented May 14, 2024

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

@black-ghost-off
Copy link
Contributor Author

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
Copy link
Contributor

rijesha commented May 14, 2024

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
Copy link
Contributor

rijesha commented May 15, 2024

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

@black-ghost-off
Copy link
Contributor Author

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

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

@black-ghost-off
Copy link
Contributor Author

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
Copy link
Contributor Author

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

@rijesha
Copy link
Contributor

rijesha commented May 15, 2024

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

@black-ghost-off
Copy link
Contributor Author

esp32s3_devkitc_appcpu.dts.-.NXP.-.zephyrOS.-.Visual.Studio.Code.2024-05-15.10-53-36.mp4

@black-ghost-off
Copy link
Contributor Author

@black-ghost-off
Copy link
Contributor Author

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

@rijesha rijesha reopened this May 15, 2024
@rijesha
Copy link
Contributor

rijesha commented May 15, 2024

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

@black-ghost-off
Copy link
Contributor Author

black-ghost-off commented May 15, 2024

One observation.

west build -besp32s3_devkitc

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

@rijesha
Copy link
Contributor

rijesha commented May 15, 2024

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
Copy link
Contributor

rijesha commented May 15, 2024

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

@black-ghost-off
Copy link
Contributor Author

LGMT, It works

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants