Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'flash'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 4 wyniki

  1. Buduję duże urządzenie z dużą ilością osprzętu, które posłuży mi w przyszłości do wielu przeznaczeń. Osprzęt który się znajdzie na płytce to : - Atmega 25560 (5V) - NRF24l01 - zegar czasu rzeczywistego z podtrzymaniem bateryjnym - SRAM na SPI - LY68L6400 (64Mb) - slot karty pamięci mikro SD - pamięć FLASH SPI W25Q128JVS ( 128Mb) - Moduł Ethernet WIZnet W5500 ( jestem zwolennikiem kabla) - ESP12F ( nie wszędzie mam kabel;/) - interfejs RS485 ( 2 dniazda) - USB 1 ( programowanie przez bootloader - UART 0) - USB 2 ( np. do terminala) - wyświetlacz ze sterownikiem GMG12864 - kilka mikro switchy do obsługi Menu itp. - kilka wejść/ wyjść 5V - 2 wejścia analogowe - 2 wejścia pod licznik T1 , T2 . Głównym celem tego projektu jest zrobienie urządzenia do sterowania sprzętu w domu, rolety, podlewanie, oświetlenie, PV, Brama garażu i wjazdowa itp. Zdecydowałem się na użycie w/w peryferia ze względu na inne projekty z wykorzystaniem tej płytki, żeby nie produkować kolejnych płytek, wystarczy tylko coś dodać i już mam następną płytkę do kolejnego projektu. Chciałbym zainstalować Suplę, jedno z założeń, dlatego będzie esp12F i W5500. Dwa gniazda USB B, jedno do programowania przez bootloader, drugie do obsługi w komputerze terminala, irytuje mnie gdy trzeba rozłączyć terminal żeby zaprogramować, zaczekać do końca programowania a następnie połączyć terminal. Do innego projektu potrzebuję dużo pamięci ram i flash, wszystko chcę na SPI. Dodałem również slot kart pamięci SD, chcę na tych kartach poćwiczyć. Mój projekt opiera się głównie o JLCPCB i to co jest aktualnie dostępne w magazynach, wybieram opcję produkcji w chinach ze względu na jakość wykonania, ja nie mam wprawy aby przylutować atmegę 2560;/. Jeżeli doczytałeś do tego miejsca i masz pomysł co jeszcze można dodać lub zrobić inaczej to proszę o komentarz.
  2. Potrzebowałem zapisać zmienną do pamięci FALSH gdy będzie zanikało zasilanie. W tym celu w konfiguratorze w zakładce System Core/NVIC ustawiłem przerwanie PVD kontrolera napięcia zasilania procesora. W wyniku czego w main.c pojawiło się przerwanie: static void MX_NVIC_Init(void) { /* PVD_IRQn interrupt configuration */ HAL_NVIC_SetPriority(PVD_IRQn, 8, 0); HAL_NVIC_EnableIRQ(PVD_IRQn); } Aby odczytać uprzednio zapisaną wartość zmiennej dodałem po inicjacji przerwania: total_time = *(__uint32_t*) ADD_FLASH; // odczytanie z FLASH całkowitego czasu pracy Napisałem trzy funkcje: static void PVD_NVIC_Init(void) { PWR_PVDTypeDef sConfigPVD; sConfigPVD.PVDLevel = PWR_PVDLEVEL_7; sConfigPVD.Mode = PWR_PVD_MODE_IT_RISING; HAL_PWR_ConfigPVD(&sConfigPVD); HAL_PWR_EnablePVD(); } void HAL_PWR_PVDCallback(void) { if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, ADD_FLASH, total_time) == HAL_OK) HAL_FLASH_Lock(); } void FLASH_Erase(void) { EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS; EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3; EraseInitStruct.Sector = FLASH_SECTOR_7; EraseInitStruct.NbSectors = 1; HAL_FLASH_Unlock(); if (HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) == HAL_OK) ; } Konfiguracji PVD, wywołania od PVD gdy napięcie zasilające zanika oraz wymazanie sektora w pamięci FLASH. Ponieważ korzystałem z FREERTOS umieściłem przed wejściem w pętlę: void StartTask02(void *argument) { /* USER CODE BEGIN StartTask02 */ PVD_NVIC_Init(); HAL_Delay(50); FLASH_Erase(); /* Infinite loop */ for (;;) { osDelay(1) } /* USER CODE END StartTask02 */ } Powoduje to skasowanie i przygotowanie FLASH do zapisu w chwili wywołania przerwania przy zaniku napięcia. Napięcie wygenerowania przerwania ustawiłem na 3.0 V w przywołanej już funkcji konfiguracji. To działa! Andrzej
  3. Szanowni użytkownicy! Dzień dobry, zakupiłem 315 WeMos D1 mini ESP8266EX https://allegro.pl/oferta/315-wemos-d1-mini-esp8266ex-7925571557?msgtoken=048a25b10f8bf5405c1e387864ffa85323220a1444b540a86acf77d00be2ff62 . Myślałem, że wszystko ładnie i pięknie pójdzie jak na znalezionych poradnikach w internecie, lecz się rozczarowałem. Podłączyłem ESP przy pomocy przewodu microUSB do komputera, lecz zaglądając do menedżera urządzeń on go nie wykrywa, sugerując się znalezionymi w internecie poradami zainstalowałem sterownik CH340 https://forbot.pl/forum/topic/12518-pierwsze-uruchomienie-nodemcu/ jednak i to nie pomogło. Czy ktoś ma sposób dzięki któremu udało by mi się rozwiązać owy problem? Z góry dziękuję za pomoc, Marcin.
  4. Cześć, bawię się z ESP32, do wczorajszej nocy wszystko szło OK, ale zaczęły się problemy z uploadowaniem flasha, których nigdy wcześniej nie miałem, a pół nocy Googlania nie przyniosło rezultatu. Otóż, gdy uploaduję za pomocą Arduino IDE (na Mac OS X, jeśli to ma znaczenie) to widzę taki błąd w konsoli: Sketch uses 727370 bytes (55%) of program storage space. Maximum is 1310720 bytes. Global variables use 38448 bytes (11%) of dynamic memory, leaving 289232 bytes for local variables. Maximum is 327680 bytes. esptool.py v2.6 Serial port /dev/cu.usbserial-AM00LYR0 Connecting.... Chip is ESP32D0WDQ5 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None MAC: 3c:71:bf:dd:0b:00 Uploading stub... A fatal error occurred: Invalid head of packet (0x00) A fatal error occurred: Invalid head of packet (0x00) Restart komputera, zamiana gniazda USB i podobne zabiegi z różnych forów nie przyniosły rezultatu. Zmiana baudrate również bez efektu. Wobec tego dokonałem eksportu do pliku .bin i wgrałem flash na komputerze z MS Windows Vista za pomocą Node MCDU. Sama operacja wg logu zakończyła się powodzeniem. Rzeczywistość jest jednak odmienna. Moduł wpada w bootloopa i do konsoli pluje takim logiem: 13:44:49.957 -> rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 13:44:49.957 -> flash read err, 1000 13:44:49.957 -> ets_main.c 371 Gdy zewrę GPIO 0 z GND to w konsoli pokazuje: 13:45:00.879 -> rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2)) 13:45:00.879 -> waiting for download Czyli niby dobrze, ale nie mogę zrobić upload. Na koniec taka drobna, ale być może bardzo istotna uwaga. Kilka godzin przed wystąpieniem problemy podłączyłem niechcący odwrotnie zasilanie czyli 3V3 do GND i GND do 3V3. 😞 W tym czasie miałem tam program, który między innymi wystawiał access point i serwer HTTP. Jakież było moje zdziwienie gdy po poprawnym podłączeniu działał normalnie. Od tego czasu (..., a może wcześniej, ale nie miałem okazji spróbować) nie mogę zaktualizować flasha. Czyżbym go uszkodził w jakiś nietypowy sposób? Jakikolwiek pomysł mile widziany.
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.