Standard C nic nie mówi o kolejności zmiennynch w pamięci. Przyzwoity kompilator i linker będzie rozmieszczał dane w kolejności malejącego rozmiaru, a nieupywane będzei eliminował całkowicie. Chcesz mień znany rozkład danych - użyj struktury - kompilator nie ma prawa jej zoptymalizować, ale będzei stosował wyrównanie naturalne, czyli np. int32_t będzie...
Witam, Ostatnio testowałem komunikację I2C z pamięciami z serii 24x. Testy były przeprowadzone na Arduino oraz STM32F103xxx. Pierwsze testy z pamięciami adresowanymi pojedynczym bajtem, czyli 24x01-24x16, działają poprawnie i jak oczekiwałem (opieram się o moje doświadczenia z rodziną PIC, tam właśnie tak to działa). Zapis/odczyt poza zakresem pamięci/adresów...
Zupełnie naplątałeś... Po pierwsze, nie przejdzie *ple=99.1 . Dlaczego? Bo 'ple' jest wskaźnikiem na unsigned int , więc kompilator nie będzie przypisywał ci wartości zmiennoprzecinkowych do typu całkowitego, więc otrzymujesz ekwiwalent przypisu *ple=99; ... Po drugie, czy ty może dysponujesz debuggerem? Wypadałoby sprawdzić co dzieje się z pamięcią...
Czy są jakies wady takiego zapisu w porównaniu do poczciwego eeproma? Kasować można tylko całą stronę, więc jeśli często uaktualniasz małe fragmenty to stosuje się metodę emulacji EEPROMu opisaną choćby w notach aplikacyjnych od ST.
Dzięki za odpowiedź, ale to chyba nie jest w HAL... Zgadza się. Nie jest. Ale STM przepisał te algorytmy również na HAL i te źródła znajdują się np. w repozytorium CubeMx w ścieżce: Repository\STM32Cube_FW_F1_V1.6.1\Projec... To jest akurat dla tego typu uC który jest na tym Nucleo, ale jeśli potrzeba...
Być może, że twoje opóźnienie wcale nie jest takie jak myślisz (skoro 3ms to typowy czas to 5ms spokojnie powinno wystarczyć). Zauważ, że jeśli zapisujesz pierwszą stronę to kolejną możesz zapisać jeśli wysłanie control byte zwróci ACK jeśli nie to pamięć jest zajęta i należy ponownie wysłać start i control byte. Co jeśli najpierw zapiszesz druga stronę...
Przy okazji walki z "magicznymi cyframi" - zapewne korciło Cię (może nawet tak zrobiłeś) żeby do funkcji podać rozmiar "4", natomiast o wiele lepszym rozwiązaniem jest napisać "sizeof (nazwa_twojej_zmiennej)". 4\/3!!
W wyszukiwarce wpisz "stm32 eeprom emulation".
http://lmgtfy.com/?q=stm32+i2c+eeprom Pierwszy link: http://forbot.pl/blog/artykuly/programow...
Cześć, W wolnym czasie uczę się układów STM32 na płytce STM32_Smart_v2 (https://stm32-base.org/boards/STM32F103... Próbuję uruchomić pamięć eeprom, która jest na tej płytce na podstawie kursu (https://forbot.pl/blog/kurs-stm32-11-i2... Niestety program nie działa - funkcja I2C_EVENT zwraca error....
Witaj ! Jeśli pamiętasz to do czego odnosi się: extern uint16_t VirtAddVarTab[NumbOfVar]; Czy jeśli chciałbym zaposać 2000 (0x07d0) pół słów (16 bit) to musiałaby zostać utworzona tablica adresów o tym rozmiarze? Jak Ci mało, to można rozszerzyć funkcje tak, aby korzystały ze dwóch zestawów stron parami, trójkami itd. Coś dokładniej można prosić?...
Freddie Chopin może po dłuższej chwili zastanowienia. Po pierwszym spojrzeniu na to, gdzie jest tylko krótkie równanie to ciężko coś zrozumieć. Znalazłem gdzieś na forum elektroda.pl notę AN2824 STM32F10xxx I2C optimized examples http://www.st.com/st-web-ui/static/activ... Byłem na stronie...
Witajcie, Jak to jest z tym eeprom-em w STM32? Mam przykładowo procesor STM32L010K4, on ma w sobie 128B pamięci eeprom. Chciałbym z tego skorzystać, ale jakoś nigdzie nie mogę znaleźć żadnych przykładów czy filmów, wszędzie mówi się o emulacji tej pamięci w obszarze pamięci flash. W jaki sposób mogę w CubeIDE skorzystać z wewnętrznego eepromu?
Ja korzystałem z tego i działało po jakichś lekkich modyfikacjach, tylko dla siebie musisz sobie przerobić pod f103 https://electronics.stackexchange.com/qu... I później piszesz sobie na starcie coś w tym stylu np. Dodano po 3 Tutaj widzę jest jakaś gotowa procedura dla...
Korzystam z stm32F103RB (nucleo) (trochę archiwalne) ;) Musze poczytać o tym emulowanym eepromie bo jest to dla mnie nowe zagadnienie. Pozdrawiam
Witam. Mikrokontrolery STM32 mają w sobie embedded flash memory. Jest to pamięć EEPROM, NAND Flash czy NOR Flash? Nie znalazłem tego w manualu.
Do tego pierwszego linku dotarłem, i skopiowałem pliki eeprom.h i eeprom.c. Niestety pokazało mi błąd bo używam HALa a tam chyba był SPL. Wystarczy w odpowiednim miejscu zastąpić #include "stm32f0xx.h" na #include "stm32f0xx_hal.h" ? . Nie wystarczy, bo jest też kwestia użycia innych funkcji sprzętowych (zapis i kasowanie FLASH). Może jednak prościej...
Po pierwsze, ważna sprawa. Adres kości w funkcjach HAL podawany jest w konwencji 8-bitowej (przesunięty o jeden bit w lewo względem drugiej konwencji występującej np. w dokumentacji tej kostki). Czyli dla QN8025 używasz adresu 0x20 (00100000). Druga rzecz. Nie wiem czy Twój moduł posiada oporniki podciągające linie I2C. Sprawdź, ewentualnie dodaj jeśli...
Dokładnie przed świętami do celów 'naukowo/badawczych' czyli dokładnie w celu zaznajomienia się z 'STM32 & wewnętrzny EEPROM' zakupiłem na kamami.pl : Same procesory STM32L011K4T6 i STM32L021K4T6 plus NUCLEO z STM32L031 wszystko z EEPROM na pokładzie. Do produkcji zakupy będą oczywiście gdzie indziej. Jesli autorowi nie przeszkadza że to M0+ to proponuję...
Obawiam się, że rozmiar strony może zwiększyć tylko producent, i to na etapie projektowania układu. ;) Użytkownik może za to określić liczbę stron, których che używać.
No fakt, obsługa Flasha z prostą emulacją EEPROM to aż 30..40 linii kodu. ;)
Cześć, Nagrałem i oceniłem komunikację I2C pomiędzy STM32 i U2 i zdecydowanie nie jest to EEprom. W chipie znajduje się logika, która ocenia telegramy i reaguje na nie. Na przykład ustawienia są cyklicznie przesyłane z STM32 do U2 oraz odczytywane i zapisywane nawet jeśli w ustawieniach nie dokonano żadnych zmian, co oznacza, że U2 sprawdza, czy dokonano...
Jak wspomniano - nie baw się w starocie 8051 typu AT89C2051. Ale nie polecam też zaczynać od AVR, naprawdę nie warto. Polecam zacząć od STM32. Możliwości jakie dają są przeogromne, AVR się do tego nie umywa. Owszem, na początku są trudniejsze, ale nie jakoś szczególnie - bez problemu dasz radę. Są też tańsze od AVR. Płytka STM Nucleo (coś podobnego...
Witam i dzięki za odzew! Znaczy mam coś innego niż FF wpisać pod adres? Linijką w programie, żeby przy każdym starcie to pisał czy jakoś inaczej? Taka wątpliwość-czy to nie zakłóci "emulacji eepromu"?
To może zapytam jeszcze inaczej. Wiedząc że odczyt nie działa użyłem innej funkcji odczytu: [syntax=c]uint32_t readFromEEPROM (uint32_t address) { return (*(__IO uint32_t *)address); }[/syntax] Oczywiście jako address podaję adres komórki eepromu tego konkretnego mikrokontrolera. Efekt jest taki że funkcja zwraca jakaś bzdurną wartość, nawet kiedy funkcję...
Dzień dobry, mam mały problem odnośnie zasilania mojej płytki opartej na STM32. Wcześniej miałem użyte 2 stabilizatory liniowe serii LM2940S, lecz zauważyłem, że zbijając z napięcia ok. 13.8V na odpowiednio 5V i 3V, strasznie się one nagrzewają i w następstwie doszło do uszkodzenia jednego z nich, gdzie zamiast puszczać napięcie 5V, puścił 9V. Postanowiłem...
To nie sprawa cortexa tylko pamięci flash dołączonej doń. Datasheet F103 podaje, że 10k cykli. (5.3.9 Memory characteristics, Table 54. Flash memory and data EEPROM endurance and retention)
Kiedyś muszę chyba wrzucić do netu moją wersję emulacji EEPROMu dla STM32 jak i inne biblioteki (; Może zrobię to wkrótce (; 4\/3!!
Tam zaraz CRC. Jak EEPROM pusty to programujesz, jak nie to nie. Albert
Dopiero zaczynam pracę z STM32 i przechodzę przez ten kurs: [url=http://forbot.pl/blog/artykuly/prog... STM na Forbot Na razie szło gładko, tylko ten I2C mnie zatrzymał. O której funkcji mówisz?
Nie ma eeprom. W STM32F103 faktycznie nie ma, można emulować w FLASH, ale STM32L1xx mają EERPOM.
Ja..... 1. programem zewnętrznym. lepsza opcja. 2. eeprom emulation (google)
Flash musisz kasować blokami, to nie działa jak EEPROM, że możesz skasować pojedynczą komórkę. Gdzieś widziałem przykład emulacji pamięci EEPROM za pomocą pamięci flash... O, już wiem, w książce p. Lucjana Bryndzy o ARMach 9 jest przykład, który wykorzystuje 2 bloki pamięci flash. Jest tam zrobione wirtualne adresowanie itp. Ale można zrobić też tak,...
Tylo szkoda pamieci programu na kopie tych danych, zwlaszcza jak ich troche będzie. Pamiętaj o tym, że kopia potrzebna byłaby tylko gdy potrzebna Ci jest jakaś wartość domyślna, bo jeśli po prostu mają być wyzerowane (albo wszystkie mają mieć jakąś konkretną, tą samą wartość) to kopia nie jest potrzebna (jak przy sekcji .bss). Wydaje mi się, że najlepszą...
Nie ma właśnie nic więcej wspomniane o tym, przewija się raz jeszcze na początku ta fraza, ale żadnego objaśnienia Jest w DS objaśnienie (koło strony 500, "Theory of Operation" ) The EEPROM operates using a traditional Flash bank model which implements EEPROM-type cells, but uses sector erase. Additionally, words are replicated in the pages to allow...
znaczy nie da sie programować? szczerze to 1 raz spotykam się z STM8 i STM32 i muszę określić czy będzie to odpowiedni produkt dla nas
ale ma pamięć EEPROM na I2C 1Mbit, 1Mbit czyli 128kB w takim wypadku to niestety wciąż mało.
Jednak dane nadawane przez EEPROM się spóźniają powinny być zatrzaskiwane na zboczu narastającym a one na narastającym się dopiero zmieniają jakby miały być zatrzaskiwane na opadającym choć wyraźnie w manualu jest napisane że pracuje przy narastającym. Coś źle doczytałeś The READ instruction outputs the serial data of the addressed memory location...
Jeszcze go nie otworzyłem, ale zrobię i porównam hardware. Zrobię też backup FW modułu WiFi, ale nie wiem jak zrzucić flash MCU. Mam narzędzia dla Atmel (USBASP) i STM32 (STLink), a także programator EEPROM oparty na CH341; Nie wiem, czy którykolwiek z nich można zastosować do MCU CH573... Dodano po 7 . Możliwe, że nowy wariant ma inny identyfikator...
No właśnie tak jak sam zauważyłeś uC jest na płytce STM32F0 Discovery, dwoma przewodami po około nie wiem 8 cm, połączone są z płytką PCFki, na niej są pull upy oraz złącze goldpin dla SCL i SDA. Od tych złącz dalej idzie po 5cm kabelka do osobnej płytki. Po skróceniu przewodów od STM32 do pcfki np 5cm gdzie łącznie byłoby to 10cm nie poprawiło połączenia...
Zresztą wcale nie ma tu jakiegoś wielkiego zapasu - mikrokontroler działa na 3.3V, dopuszczalne napiecie dla M95512-W to 2.5V minimum - tylko 0.8V różnicy. Też sobie wybrałeś kość (M95512-R i F mają 1,8V i 1,7V). To faktycznie rodzi problem, bo STM32 działają poprawnie przy obniżeniu do poziomu określonego przez power down reset (n.p. 2V). Czyli nie...
Moja koncepcja przewiduje dwie takie kości, jedna z programem monitor Cobra1 na płycie głównej, druga w złączu cartridge, tak, że jeszcze nie panikuję W Twojej wersji nie lepiej będzie zrobić po prostu drugiego carta i wymieniać w razie potrzeby? Gniazdo masz przecież wyprowadzone na zewnątrz. ;) Ja u siebie wykorzystał bym A19 eprom'u do przełączania...
Pytanie mam bardzo krótkie: jak dodaje się pliki do projektu w Eclipse? Uruchamiam port FreeRTOS dla STM32 i przyszła pora aby dodać do tego zestawu nowe funkcje. Mam plik eeprom.h i eeprom.c. Standardowo dodałem dyrektywę #include "eeprom.h" Oczywiście plik znajduje się w folderze gdzie sięga kompilator swoimi mackami. Wszystko fajnie tylko,...
(at)Freddie Chopin Tylko że dalej nie ma co porównywać... to tak trochę jak by marudzić że ktoś kiedyś stworzył taki wynalazek jak Fiat 126p. Powiedzmy sobie tak obecnie na 8 bitowych AVR-ach nie ma totalnie sensu pisać jakiegoś rozbudowanego kodu. Natomiast świetnie się nadają tam gdzie trzeba coś prostego zrobić szybko... np. na jakimś ATTiny. Weźmy...
Za wcześnie się cieszyłem - zmiana terminu w TME - miał być tydzień 6/2022 a będzie: AVR128DB64-I/PT IC:mikrokontroler AVR; EEPROM:512B; SRAM:16kB; Flash:128kB 4 SZT Tydzień 21/2022 4 sztuki! Ręce opadają :( Microchip (Microchipdirect) ma na stanie 50 szt wersji z rozszerzona temperaturą: AVR128DB64T-E/PT
Witam, wcześniej napisałem tu głupoty, usunę. Faktycznie, u mnie po pierwszym wywołaniu EE_Init jest 0x0000 pod adresem początku pierwszej strony, tj. 0x0801000. Rozumiem, że PAGE0_BASE_ADDRESS, PAGE0_END_ADDRESS itd pozmieniałeś na takie jak u mnie ( uwzględniając wielkość strony )? Pozdrawiam, QuadMan. DOPISANE: Jedyne, co mi przychodzi do głowy to...
Witam, Kolego atom1477 z ciekawości uruchomiłem Twój projekt, z tym że zmodyfikowałem tak main-a, że najpierw wypełniam ALGO_TAB jakimiś tam danymi, a później jednorazowo kasuję sektor i te dane zapisuję do FLASH-a i u mnie działa zawsze ok, niezależnie od poziomu optymalizacji. Nie chciało mi się już robić jakiegoś porównywania danych, to co zapisuję...
Tyle że Technoservice to taka firma, która nie chce gadać z prywatnymi osobami niestety. Emulacja EEPROMu przedstawiona przez ST dla STM32, ale ideę można zastosować do każdegu układu w zasadzie. Sprytne i wygodne [; http://www.st.com/internet/com/TECHNICAL... Dla swoich potrzeb "przerobiłem"...
czy na dole programu arduino masz taką informację ? https://obrazki.elektroda.pl/6368333500_... nucleo-costam on COM z numerkiem. zrzuty ekranu w Windows robi się kombinacją klawiszy WIN + Shitt + S wówczas możesz dodać obrazek poprzez https://obrazki.elektroda.pl/3902446900_... Ctr+V Dodano po 2 ps. tak sie zapisuje...
Nie, nie, OCD już zarzuciłem, ale na manualach od st-link (tego texane...) jest jasno powiedziane, że powinno działać. Nawet mi sie układ komunikuje z GDB via st-link, wysyła i odbiera, diodka USB na płytce miga, ale nie chce ładować firmware'u. Znalazłem takie coś: http://hackaday.com/2011/10/17/how-to-de...
[syntax=c]//-=-=-=-=-=-=-=-=-=-=-=-=-=-=... // Task FreeRTOS - obsluga interfejsu sieciowego //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=... void vTaskEthernet(void * pvParameters) { /* uIP */ int i; struct uip_eth_addr mac_addr; //MAC Address struct...
Po namyśle i rozważeniu wszystkiego wybrałem jednak J-linka edu, troszeczkę droższy, ale przynajmniej mam nadzieję, że będę z niego zadowolony. A czy ktoś miał może styczność z procesorami samsunga, a konkretnie s3c6432? W jednym urządzeniu mam taki, na płytce jest złącze 12 pin i zastanawiam się, czy byłaby możliwość za pomocą tego j-linka połączenie...
Szukam osoby do oprogramowania już wykonanych płytek. Wymagana znajomość mikrokontrolerów STM32. Do wykonania: - komunikacja z pamięcią eeprom po spi - obsługa czujników pojemnościowych W grę wchodzi również drobne prace z lutowaniem. Miejsce pracy/współpracy: Katowice i okolice. Proszę o kontakt telefoniczny 606991472 lub wiadomość prywatną.
Pomysł jak najbardziej OK, ale jednak jak dla mnie mało mobilny. Dodatkowo mało bezpieczne rozwiązanie, ktoś podejdzie wciśnie przycisk i ma hasło - gdyby hasła znajdowały się w jakiejś pamięci szyfrowanej (np. AT88SC0104C) i były autoryzowane chociażby mifare a karta/brylo leżałby ma urządzeniu (na środku jest troche miejsca). Widzę, że mniej więcej...
Nie będę namawiał dalej, pewnie masz po prostu swoje przyzwyczajenia i tyle. Na pewno nie będzie tak, że wezmę K10 i zacznę pisać jak dla STM32. Bez kupienia płytki startowej i przecierania szlaków od migania LED, przez obsługę timerów, I2C, SPI, emulowania EEprom w Flash się nie obejdzie. Gdybym miał sponsora ok, fajnie jest poznać nowe uC ale muszę...
Jeśli coś mniejszego od Raspberry/Orange Pi, to proponuję zacząć od poszukania oprogramowania niezbędnego do działania z Arduino i z modułem STM32, oraz sprawdzenia, jakie możliwości daje który moduł. Z tego, co pamiętam, STM32 jest dużo szybszy, najtańsze moduły do obu są w cenie kilkunastu zł - moduł STM32C8T6 od około 14zł, Arduino Pro Mini od 12.60zł...
Biblioteki z ST są zakręcone..niestety. Czy ja wiem? Są po prostu beznadziejne <: A jak się spojrzy na kod, to "OMG" <: Zaletą mojego pomysłu jest to że struktura ze zmiennymi jest jakby zrzutowana na pamięć więc dostęp do niej nie wymaga użycia żadnych dodatkowych funkcji. W istocie, w tej emulacji EEPROMu o której pisałem powyżej dostęp faktycznie...
Nie - są to źródła na podstawie których można bazować w przypadku tego typu układów, oraz na których ja bazuje - obsługa enc28j60 pod kontrolą FreeRTOS'a i uIP. ENC bardzo się grzeje? ... czuć, że jest ciepły ale nie na poziomie "parzenia", więc myślę, że nie jest źle :) // UPDATE 25.10.2012: - dodałem obsługę zmiany adresu IP urządzenia z poziomu konsoli...
Witam Mam chiński klon Maple ze STM32 nazywany STM32 Mini. Problem mam z bootloaderem. Wgrałem zgodnie z instrukcją przez program STM32, chodzi tu o możliwość wgrywania programu przez wbudowane USB. Teoretycznie nie powinien działać reset automatyczny ponieważ opornik jest za duży. https://www.elektroda.pl/rtvforum/topic3... W sumie raz działało...
GND i GND_I to nie to samo podobnie jak Vcc i +5V. Ok, masz rację. To popraw schemat i wyprowadź te napięcia na listwę od strony MCU. Bo tak można przez nieuwagę je zostawić niepodłączone. Cztery linie złącza J4 przyłączone są do ADuM1251, co tu poprawiać? Co jest nieczytelne? Co można pominąć przy podłączaniu? Możesz przez UART skonfigurować VID,...
10 sztuk STC8A8K32S4A12 za całe 34zł Drożyzna w porównaniu z stm32f030 czy stm8. OK ;) ale bierzmy pod uwagę ceny z tego samego sklepu: https://pl.aliexpress.com/store/product/... Z wysyłką 9,56$ za 10 sztuk STM32F030R8T6 - czyli 36,85zł co daje...
Czy budowałeś układ z komunikacją przez I2C na PCB? I czy opisane przez Ciebie problemy dalej występowały? Unikam I2C jak ognia w swoich konstrukcjach. Tak jak wspomniałem wcześniej, miałem przypadek wywalającego się I2C na płytce. Zakłócenie wygenerowane przez typowy przekaźnik 12V/230VAC 16A powodował absolutny zwis MCP23008... Myślisz, że to ogólnie...
Witam serdecznie. Mam takie pytanko. Potrzebuję zapisywać pewne wartości z mikrokontrolera stm32 do zewnętrznej pamięci nieulotnej w razie wyłączenia zasilania. Znalazłem na stronie forbota przykład z pamięcią EEPROM (układ 24AA01),gdzie ilość cykli zapisu wynosi 1000000. I teraz pojawia się moje pytanie, czy ten milion zapisów jest na całą pamięć czy...
Cześć. Mam małą zagwostke i może ktoś z Was mnie nakieruje. Próbuje w STM32 uruchomić transmisje I2C. Podłączyłem do niego najprostszy układ tylko po to aby uruchomić ta transmisje, była to zwykła pamięć EEPROM. Sprawa wygląda tak że po wysłaniu sekwencji start wysyłam adres układu i w tym momencie wiesza mi się program. Sprawdziłem analizatorem co...
Poczytałem i teraz pytanko gdzie są te sterowniki eeprom.c i eeprom.h czy ta nota to tylko informacja jak mam sam napisać sterowniki
Ustawienia zostają w wewnętrznym "EEPROM" - a raczej symulowanym bazującym na zapisie w pamięci FLASH. Producent dostarcza do tego bibliotekę, aczkolwiek jest ona zbyteczna - warto używać bezpośredniogo zapisu do FLASH za pomocą bibliotek peryferii. Zaoszczędzi się trochę miejsca jeśli to wymagane. Ale wracając do zegara, który odpowiada za włączanie...
W skrypcie linkera po prostu stwórz nową sekcję umieszczoną w konkretnych miejscach. Tutaj przykład z wydzielonymi dwoma ostatnimi stronami pamięci: MEMORY { rom (rx) : org = 0x08000000, len = 128k - 2k rom_p126 (r): org = 0x08000000 + 126k,len = 1k rom_p127 (r): org = 0x08000000 + 127k,len = 1k ram (rwx)...
Kiedyś, jak używałem starych bibliotek to do zapisywania we flashu używałem czegoś takiego: motohours = motohours+*(uint16_t*)Address; //sczytuje Niezłe :) A na przyszłość, jak chcesz przechowywać jakieś dane to polecam użyć rodziny STM32L1XX. Posiada ona wbudowany EEPROM, podobnie jak atmegi. Jest łatwiejszy dostęp od strony programistycznej.
Możliwości STM32G030J6M6 są zadziwiające. https://obrazki.elektroda.pl/4642596500_... Schemat wygląda tak: https://obrazki.elektroda.pl/7607198900_... Efekt pracy można zobaczyć na filmie: https://filmy.elektroda.pl/6_1580907289.... Oczywiście nie należy spodziewać się dźwięku jakości Hi-Fi, samplowanie 8-bit 8kHz wnosi...
-- EDIT -- W sumie założyłem, że te funkcje dotyczą emulowanego we flash eepromu wg pomysłu ST. W sumie jednak nie wiem co to za funkcje i co robią, ponieważ ich związek z tematem jest dosyć nikły... Tak więc nie jestem w stanie precyzyjnie odpowiedzieć na pytanie, a to co napisałem poniżej może być zupełną bzdurą. -- EDIT END -- Wygląda OK. memset()...
Tak jak pisze Freddie Chopin mozna ale to bedzie reczne rzezbienie i skladanie kodu tak by zostawic dziure... Ale to jest rzezba okropna i utrudni na pewno prace nad kodem. Takiego rzezbienia nawet w binarce jest jeszcze kilka opcji, ale to nie najlepsze rozwiazanie. Wystarczy zapełnić tą jedną czy dwie strony rzeczami które praktycznie nigdy nie zmieniają...
Witajcie Jestem w trakcie pisana procedur do emulacji eepromu na stm32f103. Z opisu w nocie aplikacyjnej wynika, że każdej zmiennej przypisywany jest wirtualny adres czyli mamy 16 bitowy adres i 16 bitowa daną. Czy do zmiennej nie można odwoływać się poprzez normalny adres zyskując w ten sposób dodatkowe 16b na dane? pozdrawiam
ale "na dzień dobry" nie działa w nim port USB (trzeba wymieniać rezystorki SMD Liczba pojedyncza, wymienia się JEDEN z 10k na 1,5k, a można nie wymieniać tylko dołożyć 4.7k na płytce stykowej i też będzie działało. Co jeszcze ciekawsze nie na każdym sprzęcie (w znaczeniu komputerze, porcie, hubie) problem się uwidoczni, u mnie działa z nieprawidłową...
Witam, w moim projekcie muszę zapisywać informację we wspomnianej pamięci FRAM (link do https://obrazki.elektroda.pl/4945033000_... Za pierwszą część odpowiada polecenie: HAL_I2C_Mem_Write(&i2c, 0xa0, 0x10, 1, (uint8_t*)&test, sizeof(test), HAL_MAX_DELAY); Za drugą część odpowiada polecenie: HAL_I2C_Mem_Read(&i2c, 0xa0, 0x10, 1, (uint8_t*)&result,...
mogę podesłać bin odczytany z prock Jeśli procek jest zabezpieczony, to odczytasz śmieci. Nikt przy zdrowych zmysłach nie sprzedaje urządzeń niezabezpieczonych przed kradzieżą ! ;-) Odczytanie programu z procesora, (nawet gdyby udało się go w jakiś sposób(?) odczytać) nic tu nie pomoże. Wszystkie maszyny z tego modelu i serii produkcyjnej mają dokładnie...
Osobiście nie zastanawiałem się nad tym długo, szukałem zestawu który ma chyba wszystko na pokładzie: Ethernet, Can, RS232, USB-RS, 485, pamięci Flash, Sram, Kartę muzyczną, Usb Host OTG, LCD + dotyk, złącze na karty SD i wiele innych... W polsce ktoś sprzedaje RedDragon za ~350zł ja zamówiłem to w chinach przez ebay i zapłaciłem z presyłką ~180zł uważam...
Jeżeli w aplikacji występuje procedura czy to zapisu do EEPROM czy do FLASH a nawet do RAM (tutaj raczej chodziłoby o zewnetrzy ram z własnym zasilaniem zeby sprawdzic) ze 100% pewnością można powiedziec że w przydku wystąpienia stanów nieustalonych bez zabezpieczenia sie BOD-em program prędzej czy później skoczy do tej procedury i zanim sie procesor...
Cześć Jeden bajt adresu pamięci (char maddr) wystarczył by w układach 24C01 czy 24C02. Przy 24C04 - 24C512 do adresacji pamięci potrzebne są 2 bajty (uint16_t maddr) . No i mam nadzieję, że nie polegasz tylko na pullup-ach mikrokontrolera: //Enable pullup for pb8 and pb9 GPIOB->PUPDR |= (1U<<16); GPIOB->PUPDR &=~ (1U<<17);...
Nie mam kodu na 407 bo zazwyczaj korzystam z zewnętrznej pamięci jeśli w ogóle. Ciężko coś powiedzieć bez analizy poszczególnych funkcji. Na F030 używałem takiej funkcji do zapisu i ewentualnego kasowania strony: [syntax=c]//EEPROM #define FLASH_END 0x0800 #define FLASH_ADDR 0x0803F800 //ostatnia strona (page 127) #define EEPROM ((uint16_t *)FLASH_ADDR)...
Teoretycznie powinno sie dać (chyba) Praktycznie też. Przykładowo takie właśnie powtórne zapisywanie do jednej komórki używa oficjalnie STM w przykładach pt. EEPROM emulation i jest tam sprawdzanie statusu operacji i jest ok.
Pewnie dlatego, że po 16-bitowym adresie nie wysłałeś do pamięci ani jednego bajta danej do zapisu.
Witam mam taki problem. Napisałem funkcję odczytującą wypełnienie PWM z odbiornika RC. Chciałem zrobić zabezpieczenie przed uruchomieniem gdy drążek gazu nie będzie w pozycji zero oraz wejście do programowania po przekroczeniu 90%( tak jak to jest w typowych regulatorach). Niestety program przechodzi przez while w czasie jego uruchomienia. Przy pracy...
za 200$ masz zawartość każdego AVRa razem z fusami i eepromem Jeśli procesor jest lepiej zbudowany tzn. warstwa flash jest na wierzchu a lockbity są głęboko zakopane to trudno będzie je brutalnie skasować nie uszkadzając pamięci programu. Tak jest ponoć w STM32 (zapytaj inżynierów aplikacyjnych) Nie ma zabezpieczeń nie do złamania. Rzecz w tym by bardziej...
https://obrazki.elektroda.pl/7314526000_... Po co? Bo potrzebowałem zastąpić taki zestaw urządzeń: https://obrazki.elektroda.pl/2866172900_... Czyli switcha 100M, ładowarkę USB, rozdzielacz, dwa 3 portowe (używane 4 porty w sumie) "wstrzykiwacze" PoE (jednego nie ma na zdjęciu) jednym urządzeniem, bo schludniej. Poza...
Write protection jest ustawiany przez tzw. Option Bytes - najłatwiej chyba będzie go (jednorazowo) usunąć poprzez bootloader i programi Flash Loader Demonstrator albo przez JTAGa i OpenOCD - są specjalne komendy do tego celu. W nocie od ST - PM0042 Reading/programming the STM32F10xxx embedded Flash memory - jest opis sposobów odblokowania, u mnie strona...
Bzdura. Do lock/fuse/itp są zupełnie inne komendy. Programowanie tego wygląda kompletnie inaczej niż flasha. Nie jest to żaden "oddzielny adres". Chyba nie do końca masz rację. Zrobiłem taki eksperyment. Wziąłem STM32L152RE (bo ma EEPROM) i spreparowałem jeden plik hex z trzema obszarami. Flash (od 0x08000000, blink jakiś), EEPROM (od 0x08080000, tekst...
LPC11E i parę innych serii. W rodzinie STM32F też się parę serii znajdzie. Można też użyć zewnętrznej pamięci na I2C lub SPI za grosze - to po pierwsze. A po drugie: Pamięć Flash w STM32 może być programowana pojednyczymi słowami, więc nie ma żadnych problemów w użyciu jej do przechowywania często zmienianych danych. Jesta na to parę sposobów, w zależności...
WIELKIE dzięki:) Format mozna sobie dostosować juz samemu, wykorzystać fragmenty, ciekawe pomysły szybkiego wyliczania (np. roku przystepnego). Wczoraj straciłem cały dzień na uruchomienie I2C. Nawet nie pisałem tu, zeby nie zawracać głowy. Robiłem to wiele razy w asm bez żadnych problemów, a wczoraj normalnie nic - nie idzie i już. Okazało się że nie...
Witam. W moim projekcie rolę mastera pełni uC STM32F103 łączy się z atmega88 poprzez I2C. Komunikacja w kierunku slave (mega88) działa bez zarzutu, niestety przy probie odczytu slave układ się wiesza (SDA ściągnięte do masy). Zwiecha występuje przy drugiej próbie odczytania. kod slave (atmega88) SIGNAL (SIG_2WIRE_SERIAL) { int Status_I2C;...
Co do kompilatora to jest dla STM32, ściągałem jako dodatek do Raisonance. Do ARMów RIDE używa gcc, więc bez problemu możesz wykorzystać narzędzia ze stajni gnu-make do zarządzania kompilacją. W razie problemów możesz się wzorować na plikach makefile z WinAvr, wystarczy zmienić prefiks nazwy kompilatora, dodać skrypt linkera i wywalić rzeczy związane...
Potrzebuję w moim projekcie zapisać do Flash w razie gdy by zabrakło prądu tablicę zmiennych: [syntax=c]uint8_t zamienna[20][/syntax]. Zapis najlepiej gdy by na końcu pamięci Flash, by nie kolidowało nic. Próbuję to zrobić przerabiając bibliotekę EEPROM od ST jak i na podstawie notki o emulacji, ale taki syf mi wyszedł, że przy próbie zapisu uC się...
Bazując na https://obrazki.elektroda.pl/4178510200_... https://obrazki.elektroda.pl/8769073400_... main.c [syntax=c] /* Virtual address defined by the user: 0xFFFF value is prohibited */ uint16_t VirtAddVarTab[NB_OF_VAR]={0}; uint16_t Virtval[NB_OF_VAR]={0}; uint16_t VarValue= 0; int main(void) { HSE_init(); //systick_init();...
Niestety ja rowniez napotkalem na klopoty. OpenOCD wyrzuca mi takie cos: Error: Unable to open ftdi device: device not found. EEPROM zaprogramowany, sterowniki instalowalem (zarowno te ktore byly w paczce openocd) jak i te od freddiego (nic nie pomoglo). W urzadzeniach mi pokazuje tak jak powinno byc czyli port szeregowy na sterownikach FTDI, a kanal...
Ja korzystałem z tego bootloadera: http://www.versaloon.com/bbs/download/fi... Rozumujesz poprawnie ;) Z tym że tak jak pisałem wcześniej masz 2 opcje - albo sprzętowy programator i SWD lub zwykły konwerter USB -> UART i używasz sprzętowego bootloadera znajdującego się w stm32 aby wgrać programowy bootloader, za pomocą którego wgrasz docelowy...
Witam Jestem początkujący w dziedzinie mikrokontrolerów ARM. Robię właśnie projekt na płytce STM32F0 discovery z stm32f051r8t6 na pokładzie. Pierwszy problem dotyczy emulacji EEPROM. Wykorzystałem gotowca ze strony ST. Problem polega na tym, że po wykonaniu instrukcji [syntax=c] EE_Init(); [/syntax] poprzedzonej [syntax=c] FLASH_Unlock(); [/syntax]...
No widzisz. Porównujesz pisanie bootloadera ze ściemniaczem do taśm led na arduino. Przecież to bez sensu. To co jesteś w stanie zrobić? Ledem zamigać? Bootloader nie jest trudniejszy niż ściemniacz, można znaleźć gotowce w sieci, trzeba "tylko" je dostosować, obie roboty wyceniłbym tak samo. No to coś prostszego, emulacja eeprom w STM32F10x. Jest...
Witam , Wracam do tematu . Zegar skończony i przetestowany . Podziękowania dla autora za pomoc . Kilka krótkich filmów z pracy zegara wykonane telefonem . https://filmy.elektroda.pl/11_1551555088... https://filmy.elektroda.pl/90_1551555174... https://filmy.elektroda.pl/15_1551555225... https://filmy.elektroda.pl/89_1551555287... Jedna z dwóch gier...
Jeśli nie taki sprzęt to jaki? Zależy do czego chcesz wykorzystać programator. Z reguły docelowa grupa układów jest albo za mała, albo za duża na ten programator. Mikrokontrolery - tutaj nie ma lekko, dla niektórych naprawiających stare sprzęty ciekawą opcją może być obsługa paru pic i 51, reszta jest bez większego znaczenia bo do avr można mieć za...
Zamiast pisać o konkretnych procesorach i układach, lepiej byłoby napisać ksiązkę o samych algorytmach, które można by sobie później już wykorzystać w dowolnym procesorze. Algorytm może być opisany np. w C - bo ten język jest obecnie łatwo przenaszalny miedzy procesorami albo w jakimś ogólnym meta języku. Nie skupialibyśmy sie wówczas na samym sposobie...
Zbyt wczesna euforia. Na skutek tego, że w debugerze ręcznie wyłączyłem FSMC i tego nie zauważyłem obsługa EEPROM była prawidłowa. Nie potrafię ustawić tego bitu FSMC_NADV w rejestrze MAPR2 ani programowo ani w debugerze. Zegar do AFIO włączony. Czy jest na to jakaś "sztuczka" gdzieś opisana. W necie znalazłem tylko jeden podobny przypadek https://my.st.com/public/STe2ecommunitie...
eeprom stm32 stm32 projekt eeprom stm32 wbudowany eeprom
amper kable nawigacja bezpiecznik symphony telefon
nissan murano adaptacja czujników peugeot
Wymiana łożyska wirnika Makita bez prasy Jak zdjąć kierownicę w Iveco Daily 2000?