ESP32-S3 simulator, on an Xtensa LX7 core
Mokxi ESP32-S3-DevKitC-1'i modeller: 240 MHz Xtensa LX7'li bir ESP32-S3-WROOM-1, GPIO matrisi, IO MUX, UART0, çipin kendi USB seri portu, SYSTIMER, ADC1, LEDC PWM denetleyicisi ve kartın RGB LED'ini süren RMT; hepsi Espressif'in teknik başvuru kılavuzundaki adreslerde. İki değil tek çekirdek ve radyo yok (buradaki WiFi simüledir ve bunu söyler); sözleşme hangi sayıların doğrulandığını ve hangilerinin tahmin olduğunu belirtir.
- 9modellenen çevre birimi alanı
- 6çalışmaya hazır proje
- Gerçek zamanlıkendi makinende
Neler modelleniyor
Kartın kendi sözleşme belgesinden alındı ve sade bir dille yazıldı; eksik olanlar yanında.
Modellenen
- Çekirdek
- Pencereli ABI'de Xtensa LX7: derleyicinin ürettiği her şey için LX6'nın komut kümesi, S3'ün kendi kesme seviyeleriyle. 240 MHz'de çevrim başına bir komut
- Bellek
- Her iki veri yolundan görülen 416 KB SRAM1, kod için 0x4037_8000'da ve veri için 0x3FC8_8000'da, aynı baytlar, ardından SRAM2
- GPIO matrisi ve IO MUX
- Gerçek iki yazmaçlı ayrımla GPIO 0 ile 48, her pedde kılavuzun sıfırlama pull'ları ve 26 ile 32'yi flash yapan işlev tablosu
- UART0 ve USB seri
- Ayarlanan baud hızında UART0 ve USB Serial/JTAG portu 64 baytlık paketler halinde; seri monitör ikisini de duyar
- SYSTIMER
- millis() ve micros()'un arkasında 16 MHz'de Birim 0; delay() çekirdeği meşgul etmek yerine CCOMPARE0'da park eder
- ADC1
- GPIO 1 ile 10 arasında on kanalda on iki bit, dört zayıflatmayla
- LEDC
- Her pinde sekiz kanal ve dört zamanlayıcı, S3'ün ihtiyaç duyduğu güncelleme bitleriyle; analogWrite, ledcAttach ve ledcWrite'ın arkasında
- RMT ve RGB LED
- RAM'leri, sarma modu ve taşıyıcısıyla dört gönderim kanalı; rgbLedWrite bir WS2812 karesi gönderir ve kartın GPIO48'deki (v1.1'de GPIO38) LED'i onunla yanar
- WiFi, simüle
- Yazılımda yazılmış bir ağ üzerinde WiFi.h, HTTPClient.h ve WebServer.h: radyo yok, 802.11 yok ve gerçek internet yalnızca giriş yapıp açtığında
Modellenmeyen
- Hiçbir tür radyo. Modelde 802.11 ve Bluetooth radyosu yoktur. WiFi ve Bluetooth LE bunun yerine simüle edilir ve onlardan söz eden her sayfa bunu belirtir.
- İkinci çekirdek. Gerçek bir S3'ün iki LX7 çekirdeği vardır; bu model 0. çekirdeği çalıştırır, yani 1. çekirdekte görev başlatan her şey çalışmaz.
- FPU ve S3'ün vektör komutları: başka yerde derlenmiş ve bunları kullanan bir ikili dosya hata verir. Burada derlenen kodlar yazılım kayan noktadır, yani kayan nokta matematiği çalışır.
- SRAM0, önbellek, flash ve PSRAM, RTC ve ULP yardımcı işlemcileri, derin uyku, ADC2, dokunma sensörü, zamanlayıcı grupları ile I2C ve SPI denetleyicileri (buradaki Wire ve SPI, her kartta olduğu gibi sıradan pinlerde yazılımdır).
- Birkaç sayı kılavuzun bir sayfası değil, bu modelin inancıdır: UART saat bölücüsünün artı biri, kanal başına RMT RAM yerleşimi, taşıyıcının fazı, USB paket zamanlaması ve ADC'nin tam ölçeği. Sözleşmenin 6. bölümü hepsini adıyla belirtir.
Birini aç ve Çalıştır'a bas
Bunların her biri düzenleyicide burada çizildiği gibi açılır.
ESP32-S3-DevKitC-1'deki her hazır proje
Her birinin çalışan devresi, kodu ve parça listesiyle kendi sayfası var.
ESP32-S3-DevKitC-1'e bağlanan parçalar, adım adım
Her sayfada ESP32-S3-DevKitC-1'in kendi pin adlarıyla kablolama, kod, sık yapılan hatalar ve çalışan devre var.
Bu kartı kullanan dersler
Her biri aynı kartta çalışan bir devreyle biter.
Sorular
Ücretsiz mi?
Evet. Her kart ve her parça ücretsiz plandadır, hesap gerekmez.
Kendi kodumu bunun için derleyebilir miyim?
Evet. Kodu düzenle ve Çalıştır'a bas: Xtensa için clang ile sekmede derlenir ve derleme paneli her adımı gösterir. Hiçbir şey yüklenmez. Kayan nokta matematiği çalışır: tarayıcı, buradaki diğer her kartta olduğu gibi yazılım kayan nokta olarak derler.
Hangi revizyon, v1.0 mı v1.1 mi?
İkisi de: kartın revision özelliği seçer. Espressif'in listelediği tek fark RGB LED'dir; ilk kartlarda GPIO48'de, v1.1'de GPIO38'dedir. Örnekler, Arduino çekirdeğinin kart tanımı gibi GPIO48 için yapılmıştır, bu yüzden v1.1'de LED, masada olacağı gibi karanlık kalır.
Serial hangi portta?
UART0, USB-UART köprüsü olan "UART" soketi; USB CDC On Boot kapalıyken Arduino çekirdeğinde Serial budur. USBSerial çipin kendi USB portudur. Buradaki seri monitör ikisini de dinler.
WiFi veya Bluetooth'u simüle ediyor mu?
İkisini de, simüle olarak ve bunu açıkça söyler. Bluetooth düzenleyicinin Bluetooth panelindeki bir telefondur, radyo değil. Kodun gerçek Arduino çağrılarını kullanır ve altında radyo ve 802.11 yoktur. Giriş yapınca Bulut panelinde Gerçek interneti açabilirsin ve gerçek sunuculara HTTP ve HTTPS istekleri Mokxi'nin ağ geçidinden çıkar.
Potansiyometrem hareketinin sonuna varmadan neden 4095 okuyor?
Çünkü veri sayfasının varsayılan 12 dB zayıflatmadaki aralığı 2.9 V'ta biter ve rayın 3.3 V. Bu model 2.9 V'tan itibaren 4095 okur ve sözleşmesinde gerçek bir parçanın biraz daha pay bıraktığını belirtir.
İki çekirdeği de çalıştırır mı?
Biri. 0. çekirdek çalışır; ikinci çekirdek yok ve ikisi arasında zamanlayacak FreeRTOS yok, bu yüzden setup()/loop() kodu sorun değil, xTaskCreatePinnedToCore ise öyle değil.
Diğer kartlar
Bunların her biri bugün çalışıyor ve her biri ücretsiz.
Daha kısa bir giriş mi arıyorsun? ESP32-S3 simülatörü sayfasına bak.
Gerçek bellek haritasında 160 MHz'de çalışan bir RISC-V çip.
16 MHz'de çalışan ATmega328P'li klasik Arduino.
Uno'nun çipi, breadboard'a sığan küçük bir kartta.
54 dijital pini ve dört seri portu olan büyük Arduino.
Çipi USB seriyi kendisi yapan, Uno biçiminde bir kart.
31 pinli ve simüle WiFi'lı ikinci bir RISC-V kartı.
240 MHz'de, simüle WiFi'lı klasik ESP32.
NodeMCU'nun 80 MHz'lik ESP8266'sı, simüle WiFi ile.
Kendi firmware'inde dene
Burada kurduğun şey masandaki kartta değişmeden çalışır. Kurulum yok, hesap gerekmez.