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

Feature/issues 376 esp32 c3 devkitc 02 riscv support #388

Closed
wants to merge 3 commits into from
Closed

Feature/issues 376 esp32 c3 devkitc 02 riscv support #388

wants to merge 3 commits into from

Conversation

elasticdotventures
Copy link

@elasticdotventures elasticdotventures commented Sep 29, 2023

I've posted in #matrix, starting to map out the flow, 🙏🏻 asking for cooperation on planning and feedback.

see also:

Copy link
Member

@lulf lulf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this approach looks good (assuming the boards with a README only is in the works?)

I'm not sure the llvm-Risc_V stuff belongs here, though I'm happy to be convinced otherwise. They are just simulation boards?

Copy link

@MabezDev MabezDev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • The esp32c3 doesn't have SAADC, UARTE or TWISPI.
  • Many of the imports are completely incorrect.
  • embassy_esp32 doesn't exist.
  • There is no embassy config for esp chips yet.

This needs a lot more work before its mergable.

@elasticdotventures
Copy link
Author

elasticdotventures commented Oct 1, 2023

https://www.espressif.com/sites/default/files/documentation/esp32-c3-wroom-02_datasheet_en.pdf
@MabezDev .. 🤔 from the datasheet:

ESP32-C3 has a 32-bit RISC-V single-core processor. It integrates a rich set of peripherals, ranging from UART,
I2C, I2S, remote control peripheral, LED PWM controller, general DMA controller, TWAI® controller, USB
Serial/JTAG controller, temperature sensor, ADC, etc. It also includes SPI, Dual SPI and Quad SPI
interfaces

as far as "this needs work" .. yep. chatgpt wrote that, it's a strawman to get feedback. I gave it both a C3 and S2 data sheet and let it spit out a quick first draft. At the last point I hadn't even found the esp-rs examples. Yes - I'm probably the least qualified person to do this, but also planning to use this embassy + drogue-iot code in an upcoming project(s) and so it'll get use and the bugs will get sorted.

At a broader level - I'm trying to decide if it would be best to build an "embassy_esp32" (in embassy) that abstract the differences & unifies the similiarties between the each esp32 HAL (like the embassy_stm32 does), with quick sketch to see the differences between supporting c3 / s2, .. or just build against a specific board for each HAL, and/or for risc-v + qemu, both for non-espressif boards (with espressif chips), and other embedded-rs risc-v silicon (i.e. siFive).

I would really appreciate your thoughts on this topic. also cc: @lulf

@elasticdotventures elasticdotventures marked this pull request as draft October 1, 2023 07:45
@MabezDev
Copy link

MabezDev commented Oct 1, 2023

At a broader level - I'm trying to decide if it would be best to build an "embassy_esp32" (in embassy) that abstract the differences & unifies the similiarties between the each esp32 HAL (like the embassy_stm32 does), with quick sketch to see the differences between supporting c3 / s2, .. or just build against a specific board for each HAL, and/or for risc-v + qemu, both for non-espressif boards (with espressif chips), and other embedded-rs risc-v silicon (i.e. siFive).

The above comment is out of scope for a Drogue BSP package, its probably better to discuss this on the hal. With that said, eventually, it will be a unified hal, see: esp-rs/esp-hal#446.

@elasticdotventures elasticdotventures closed this by deleting the head repository Dec 14, 2023
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

Successfully merging this pull request may close these issues.

3 participants