Comments (4)
SPI0/1: GPIO12-17 are usually used for SPI flash and PSRAM and not recommended for other uses.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-reference/peripherals/gpio.html
from esp-idf-hal.
I have some changes that I'll be PRing soon making a few small small corrections in the GPIO module. During my time digging through the various datasheets, I realized that all of the chips have a range of GPIO with the same recommendation made:
"The pins used for embedded flash are not recommended for other uses.".
I have listed the applicable pins below:
Chip | GPIOs |
---|---|
ESP32 | 6 - 11, 16 - 17 |
ESP32-C3 | 12 - 17 |
ESP32-S2 | 26 - 32 |
ESP32-S3 | 26 - 32, 33 - 37* |
* When using Octal Flash and/or Octal PSRAM
Presently these pins are unmapped when using the ESP32-C3, but for the remaining chips some or all of these pins are mapped. So my question is, do we want to:
- include all of these pins for every chip
- include none of these pins for for every chip
- include or exclude these pins on a per-chip basis
There also seem to be a number of unmapped GPIOs already for the ESP32, ESP32-S2, and ESP32-S3. I have not been able to find much information on why these are presently unmapped. Is there a specific reference which was used for these, or can they be added in as well?
from esp-idf-hal.
There also seem to be a number of unmapped GPIOs already for the ESP32, ESP32-S2, and ESP32-S3. I have not been able to find much information on why these are presently unmapped. Is there a specific reference which was used for these, or can they be added in as well?
I've just used a few sample boards as a reference without digging into the ESP32 data sheets
These pins were unmapped for that boards.
I know realize, that specific boards may not map some pins also due to missing space etc.
Given that modeling specific board layouts is not realistic, we should just map all of these missing pins.
Now, regarding what to do with the pins used for flash, I guess either (1) or (2), but definitely not (3).
I have a preference for (1) because if somebody wants to use those, I guess we should allow that, despite the strings attached?
from esp-idf-hal.
I've just used a few sample boards as a reference without digging into the ESP32 data sheets
These pins were unmapped for that boards.
I know realize, that specific boards may not map some pins also due to missing space etc.Given that modeling specific board layouts is not realistic, we should just map all of these missing pins.
Sounds good, I will add all pins covered in the Pin Description sections of each datasheet.
Now, regarding what to do with the pins used for flash, I guess either (1) or (2), but definitely not (3).
I have a preference for (1) because if somebody wants to use those, I guess we should allow that, despite the strings attached?
I tend to agree, I don't feel it's our responsibility to hold people's hands too much. Breaking rules is fun sometimes :)
I have added comments in the source indicating the recommendations, and will add a note in the README as well. At least we'll have mentioned it.
from esp-idf-hal.
Related Issues (20)
- Extra component HOT 6
- esp_idf_hal::delay::Delay missing some methods for embedded_hal::blocking::delay HOT 2
- `AsyncCanDriver` is not `Send` HOT 5
- Hardware acceleration for crypto?
- Conflict between esp-idf-hal and display-interface-spi on embedded-hal version HOT 1
- Documentation/API regarding default input pin pull up/down state HOT 6
- Ubuntu 22.04.3 LTS Cross-Compilation for the target = "riscv32imac-esp-espidf" (IDFGH-11878) HOT 4
- Remove 4096 limit for SPI dma transfer size HOT 2
- Can't enable the `edge-executor` feature HOT 2
- i2c broken on esp32-c6 HOT 1
- Never return type for `reset::restart`
- Simple blink example for RGB Led on Esp32 C6
- Shared I2C bus example HOT 1
- Support async in i2c Driver by using new ESP-IDF V5.2 driver impl
- rmt_neopixel no longer works (on esp32c6) HOT 3
- Mutating struct in ISR HOT 1
- Error: dangerous relocation: call8: call target out of range:(xtensa-esp32s3-espidf) HOT 3
- Transport(Failed to load system certs: No valid certificate found) (xtensa-esp32s3-espidf/STD) HOT 4
- need uart dtr, for rs485 control HOT 1
- SpiBusDriver is not Send HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp-idf-hal.