Proszę bardzo.
Wprawdzie program mojego bootloadera napisałem korzystając z bibliotek ST, ale odblokowanie dowolnych stron FLASH'a do zapisu bardzo ładnie działa i nie mam z nim najmniejszych problemów. Zrobiłem to w następujący sposób (kolejność jest ważna): 1. Odblokowanie FLASH'a: FLASH_Unlock(); 2. Skopiowanie ustawień bitów rejestru USER OPTION BYTES: KopiaOBR...
Ok, to tak działa - po włączeniu zabezpieczenia Read Out Protection - Enable i Apply, procesor staje się niedostępny dla odczytu pamięci flash. Po ponownym odbezpieczeniu - Disable - Apply, procesor się odblokowuje, ale zostaje skasowana cała pamięć flash.
To od razu zapytam, czy przy STM32F103VC można obsłużyć pamięć nand flash?
Widać, że coś się odczytało i jest czysta pamięć. Nowy układ nie będzie zabezpieczony przed odczytem. A jeszcze dopytam, z tego starego STM32 zero szans żeby coś odczytać? Jedyne co o nim wiem że robi zwarcie pomiędzy 3.3V a GND. Jeżeli jakiś np. port jest uszkodzony nie oznacza to, że na 100% rdzeń się uszkodził i interfejs do pamięci flash również....
Ja w takich przypadkach stosuję metodę którą na swoje potrzeby nazwałem "split objects". Obiekt u mnie składa się po prostu z dwóch części - stałej i zmiennej. Zwykle "główny" obiekt jest stały, a ten "zmienny" fragment jest podrzędny, jednak są sytuacje w których robię to odwrotnie, głównie wynikające z polimorfizmu lub dlatego że łatwiej/lepiej jest...
1. W Debug Configuration zamień DBG (DSF) na Standard DBG (na samym dole). 2. W Startup, w pierwszym okienku, wpisz reset halt (razem!). 3. Wywal komendę exit. 4. Odblokowałeś pamięć FLASH STM32?
Zwykle nie mają i zwykle nie jest to problemem, gdyż można bezproblemowo zapisywać wbudowaną pamięć flash, aby sobie taki EEPROM "emulować". Często układy te mają też podtrzymywana bateryjnie pamięć (np. do 4kB w STM32F4), która również może zastąpić EEPROM.
//wlaczenie opoznienia FLASH FLASH ->ACR |= (FLASH_ACR_LATENCY_1); Dla częstotliwości 72 MHz, żeby pamięć Flash działała musisz ustawić jej dwa cykle opóźnienia a nie jeden.
Witam. Mikrokontrolery STM32 mają w sobie embedded flash memory. Jest to pamięć EEPROM, NAND Flash czy NOR Flash? Nie znalazłem tego w manualu.
Chodzi cały czas o grafiki typu interfejsu użytkownika - przyciski, suwaki itp. Nie o wyświetlanie skomplikowanych animacji czy filmów, nie ma tu przesyłu dużego strumienia danych, a więc nie ma znaczenia w jakiej pamięci są grafiki i czy są przesyłane przez procesor czy nie - mogą być i przez procesor, i przez DMA, np. SPI->FSMC. LCD_WriteRAM_Prepare();...
Aby wyjaśnić Ci Twój problem, podaję Ci metodę "czytania" typów zmiennych, który wyjaśnia wszystko. Jest kilka zasad: 1. Czytanie zaczynamy od nazwy zmiennej 2. Czytamy w prawo dopóki nie dojdziemy do "końca", po osiągnięciu "końca" czytamy w lewo od nazwy zmiennej 3. Obowiązują nawiasy, które są "lokalnymi końcami" Tak więc: const char * const l_wartosc[]...
No ale jakto? Wszędzie piszą, że BOOT0 powinno być podciągnięte do masy podczas startu procesora żeby odpalił się z pamięci flash :/
Jest to płytka STM32F103RB NUCLEO. Podpięcie pinu BOOT0 pod masę nic nie daje nadal program zanika Sprawdziłem pamięć flash poprzez STM32 ST-LINK Utility i jest w niej program aczkolwiek nie działa http://obrazki.elektroda.pl/5116944600_1... Dodam jeszcze, iż kiedy połączę się płytką w STM32 ST-LINK Utility to wciśnięcie przycisku reset...
Zacznijmy od tego, że OpenOCD nie uruchamia się poprawie, wiec warto byłoby dochodzić do sprawy "krok po kroku". Przede wszystkim plik lpc2xxx.cfg NIE JEST przeznaczony do uruchamiania bezpośredniego, należy ZAWSZE użyć któregoś z konkretnych plików. Tymczasowo możesz użyć pliku lpc2148.cfg, ale najlepiej przerób go sobie na lpc2146 - komentarze w środku...
Tutaj udokumentuję moją podróż z tanią płytką deweloperską / hobbystyczną STM32F103C8T6 "blue pill" zakupioną w Ali Express. Pomimo układu scalonego oznaczonego jako "STM32F103C8T6", wewnętrzna pamięć flash wydaje się mieć 128k zamiast 64k, co czyni go bardziej podobnym do STM32F103CBT6. Wydaje się, że nie jest to nieoczekiwane w przypadku podróbek/klonów...
Na obecną chwilę już mam wrzucone teksty i obrazki do flasha i ładują się tylko te które są potrzebne to zwolniło pamięć w procku teraz jak wrzucę procedury do flash to będzie można będzie trochę jeszcze wrzucić programów. A na zmiany w sprzęcie nie koniecznie mam wpływ. Ma gdzie wracać bo moduł wie gdzie ma wrócić. wystarczy przyjrzeć się listą dwukierunkowym...
uC zapisuje za każdym razem 64 bajty danych do pamięci flash
Witam. Zaopatrzyłem się niedawno w aplikację zwaną Flash loader demonstrator. Umożliwia ona m.in. zapis i odczyt pamięci programu mikrokontrolera STM32 przez bootloader poprzez RS232. Gdy chciałem odczytać pamięć flash i zapisać obraz pamięci w pliku hex mocno się zdziwiłem, gdyż plik miał rozmiar 319744 bajtów, a flash mojego STM32F103RB ma "tylko"...
Nie mogę sobie poradzić z odczytem pamięci która jest podpięta pod stm32discovery. Funkcja którą mam odczytuje jedynie 1 stronę z pamięci NAND. Patrzyłem na przykłady które są dołączone do stlink utylity lecz przykładu do NAND nie znalazłem. Może ktoś posiada źródła do przykładu z kością NAND512W3A lub podpowie co dodać do mojej funkcji żeby czytała...
Być może da się pokombinować z wyzwalaniem transferu timerem. Z drugiej strony nie bardzo rozumiem, jaki miałby być z tego pożytek - przesadzenia całego oprogramowania do RAM łatwe nie jest, a na czas zapisu procesor zatrzyma się przy dostępie do Flash, chyba że to model z dwoma bankami.
Dzięki DXFM za odpowiedź :) Tzn. wiem i potrafię zadeklarować tablicę na sztywno w pamięci FLASH - z tym jest wszystko ok. Ale mnie chodzi o coś takiego: mam pewną funkcję, która w swoim argumencie ma zmienną - może ona być modyfikowana przez użytkownika (coś w stylu sin(a*x), gdzie a jest tą zmienną od usera). Teraz... wyliczam np. 512 wartości funkcji...
Czy to oznacza że nie ma potrzeby uruchamiać bootloadera w RAM, gdy będę kasował/zapisywał na sektorach na których nie ma kodu bootloadera? Uruchomienie kodu w RAM jest konieczne tylko gdy chcesz aktualizować kod samego bootloadera. Jeśli nie masz tego w planie, to nie jest Ci to potrzebne i cały bootloader może być w pamięci flash. 4\/3!!
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...
Odpowiedź na Twoje pytanie jest dosyć prosta - protokół SWD nie ma rozkazu zapisu do flash i tego się po prostu nie da tak zrobić jak zapisu do RAM. Oprogramowanie na PC, które się komunikuje przez SWD z układem (np. program do ST-Linka, OpenOCD) wgrywa do RAMu specjalną procedurę, która fizycznie realizuje zapis (poprzez odpowiednią sekwencje zapisów...
No to posłuchajmy merytorycznych argumentów przemawiających za dodatkowymi elementami, większą płytką, większymi kosztami montażu i dłuższym kodem I2C, zwłaszcza w przypadku F1xx z małymi stronami pamięci Flash.
Bardzo często EEPROM jest emulowany w pamięci FLASH w sposób niewidoczny dla użytkownika. Nie można emulować funkcjonalności takiej jak wytrzymałość na ilość cykli zapisu/kasowania albo możliwość nadpisania pojedynczego bajtu. Jak nie można? Potrzeba 1kB EEPROM 100'000 zapisów (jak np w AVR), przeznacza się na pamięć 10kB FLASH, która ma ograniczenie...
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...
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...
Ja mam tak: __attribute__ ((section(".bootloader&... int program_page(unsigned short *data, unsigned int adr) {... } i linker: .bootloader 0x08000000+128K-1K : { *(.bootloader) } i działa
Przeczytaj sobie np ten temat: http://www.elektroda.pl/rtvforum/topic17... Od siebie napiszę tylko tyle, że jak porównasz kody bez bilioteki ze źródłem biblioteki to zauważysz jedną rzecz: coś co często można zrobić w dwóch linijkach (konfiguracja) tam jest robione w dwustu. Jest tam mnóstwo niepotrzebnych obliczeń do sprawdzania jaki bit gdzie...
-- 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 -- 3. Koledze Freddie...
Zamiast próbować wgrywać program z Eclipse, to skasuj to co tam jest przez OpenOCD - tylko i wyłącznie. Istnieje też (mało prawdopodobna) opcja, że zablokowałeś pamięć, więc w manualu poszukaj jak ją odblokować ("flash protect" oraz "stm32f1x unlock"). 4\/3!!
Pytanie, jaka moc obliczeniowa i jaka pamięć jest do tego potrzebna, i czy program może działać wielowątkowo. Oprócz Raspberry Pi (jest tego kilka typów) są jakieś Orange Pi, Banana Pi, Nano Pi... wszystkie mają podobne możliwości, jak komputery, mają różne procesory (niektóre 4-rdzeniowe), więc i różną moc obliczeniową - trzeba ustalić, które mają...
Z nagrywaniem jest kwestia "na co?" - ale to zależy od tego, czego użyjesz. Można programowo wygenerować wzorce sygnałów, jakie są potrzebne, i na jakimś Pi odczytywać z karty SD (czy mikroSD - różne bywają tam gniazda na kartę) odpowiednie wzorce i puszczać je na pin, który będzie połączony z wejściem wzmacniacza. Na każdy sygnał trzeba będzie ze 200kB,...
Ależ jest i to znacznie lepszy mechanizm bo zabezpieczyć procesor można zarówno programatorem jak i z poziomu programu a odbezpieczenie wymaga skasowania całej pamięci i odblokowanie nie nastąpi do momentu kiedy cała pamięć nie będzie wykasowana (algorytm sprawdza wszystkie komórki - zabezpieczenie przed trikiem z wyłączeniem zasilania po rozpoczęciu...
Jak jest zablokowany to nie odczytasz. kontroler potrzebował odblokowania, i nawet coś odczytuje. Jeżeli możliwe było odblokowanie to znaczy ze był RDP Level 1, którego zdjęcie powoduje skasowanie pamięci - więc i tak nie będzie co czytać - bo po co czytać pustą pamięć FLASH. Wiadomo, że tam są same 0xff
Mam jeszcze pytanie odnośnie samego działania SWD i programowania... Jeśli BOOT0 = 0 to startuje ten kod który jest we Flash. Jak to się dzieje, że mimo działającego programu OpenOCD potrafi przerwać jego pracę i zacząć wgrywać program ? Jeśli dobrze doczytałem to jest to tylko możliwe jeśli są włączone sygnały SWDIO i SWCLK ? i drugie pytanie: Jeśli...
Nie da się - STM32 z zewnętrzną magistralą do podłaczenia pamięci dopiero mają wejść do produkcji w tym roku...
Co większe STM32 mają możliwość podłączenia (i to nawet dużej) pamięci zewnętrznej (RAM, ROM, Flash...). Na to trzeba sporo pinów, o ile pamięć nie jest szeregowa.
to tablicy unsigned charow w flashu stm32 juz nie mozna trzymać? sprawdzilem na tablicy uint8_t zarówno zapis jak i odczyt działa bez zarzutów. W takim razie nie wiem co mogło być przyczyną problemów w przypadku pojedynczych zmiennych. To, że ci nie działa tak jak trzeba to jest wina twojego softu, nie flasha ani kompilatora. Sprawdź jak zmusić GCC...
no ale flash też jest w ROMie (czy aby na pewno jest to pamięć niezapisywalna - wolałbym aby było inaczej ale jak się nie da to trudno)
Właśnie generacji z Excel'a chciałem uniknąć bo jak napisałem będzie to nie wygodne przy dużej liczbie elementów tablicy. Musi być wyliczony cały sinus ponieważ operacje które muszą się wykonać jak najszybciej. Jak na razie zostaje tylko Excel. Bądź Pan Pro-Inżynier, użyj Pan fid = mopen('probki.c', 'w'); if (fid == -1) error("upss...
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,...
Jest jakiś ratunek dla tego procka ? Czy lutować nowego ? Flash loader demonstrator - spokojnie "odratujesz" ale będziesz musiał usunąć aktualny program. Przed podłączeniem programatora sprawdź ustawienie pinów BOOT. Jeśli nie możesz się połączyć, to coś nie tak jest ze sprzętem. Czy z poziomu programu użytkownika można ustawić bity odpowiedzialne...
Witam! Chcę wgrać parę danych do pamięci mikrokontrolera STM32F107 (ustawienia domyślne). Nie wiem za bardzo jak powinien wyglądać kod linkera do takiego zapisu? Korzystam z CodeSourcery ze strony Freddiego. Nie posiadam debuggera, więc kod mogę wgrywać tylko poprzez bootloader na USART. Pamięć chciałbym zapisać paroma danymi 32bit, a następnie mieć...
A jak sprawa z RTOSem wygląda jak są obecne w uC dwa lub więcej fizyczne rdzenie? Czy to trzeba jakoś specjalnie przygotować RTOS do tego czy on powinien sam wiedzieć już co robić? Widzę że widzisz RTOS jak desktopowy OS. Pomino tego że się nazywają Operting System to niewiele mają ze sobą wspólnego. Procesory wielordzeniowe to temat rzeka i jednym...
Uruchomiłem kod, który wkleiłeś. Dopisałem tylko definicje dla Bank_NAND_ADDR ( 0x70000000 ), CMD_AREA ( 0x00010000 ), ADDR_AREA ( 0x00020000 ) i DATA_AREA ( 0x00000000 ). W funkcji FSMC_NAND_ReadID() pominąłem zapis do struktury i odczytuję zmienną data - mam w niej prawidłowe dane. Dodano po 8 Może nie włączyłeś taktowania dla FSMC? Ja mam to w innej...
(at)michalko:"Dokładnie, wystarczy zmieniać tylko adres bazowy głównego programu w skrypcie linkera. " No właśnie nie. Zmienna FLASH_BASE w tym wyrażeniu, to nie adres bazowy programu, ale adres bazowy całej pamięci FLASH 0x80000... (sprawdziłem). Najmniej inwazyjna zmiana, to właśnie podmiana w tym wyrażeniu FLASH_BASE na jakiś PROGRAM_BASE (celniej...
Mam w takim razie pytanie jaki programator jtag jest najtańszy, a zarazem oczywiście umożliwi mi w miarę bezproblemowe zaprogramowanie/debugowanie układu. To zależy, czy masz LPT - jeśli tak, to patrz wyżej, jeśli nie, to patrz np tutaj - http://www.elektroda.pl/rtvforum/topic11... Po drugie potrzebuję procesor, do którego będę mógł podłączyć...
Masz rację - wydaje Ci się... (; Latencja to nie jest jakiś delay czy preskaler, po prostu przy nie-sekwencyjnym wykonywaniu rozkazów (skoki), potrzebne są te 2 cykle na załadowanie bufora. Spadek wydajności przez taką latencję oscyluje pewnie w rejonie kilku procent, więc nad czym się tu zastanawiać? Jeśli podniesienie częstotliwości "nic nie dało"...
Witam, Mam kilka pytań do znawców odnośnie pamięci FLASH w uC STM32. Chciałbym zapisywać dane do FLASH z poziomu działającego programu. Czy wstępne czyszczenie pamięci jest konieczne i dlaczego jest ono stosowane? (skoro i tak zapisujemy tu komórki) Jaka jest rzeczywista szybkość odczytu z FLASH w porównaniu do SRAM w kontrolerze? (jak rozumiem granicą...
Czy da się zrobić tak, aby wszystko działało, ale aby pamięc nie była widziana? Jedno drugiemu przeczy. Ma działać debuger a odczyt pamięci ma być niemożliwy? Po co więc zabezpieczenie przed odczytem, skoro podłączając debuger można odczytać pamięć? W drugą stronę, skoro nie da sie pamięci odczytać, to jak ma to zrobić debuger?
Czy to cud że jakoś działa? Dobrze ująłeś.....jakoś działa....pod gołym niebem. Może ST poprawiło tę pamięć flash, może.... :wink:. Odpaliłem to samo co miałem na STM, na LPC'u, nawet ułożenie elementów jest identyczne.....i nic niczego nie zakłóca.
Witam, Mam pewne pytanie dotyczące zmiennej globalnej wyspecyfikowanej jako const. Taka zmienna nie może zostać zoptymalizowana i jest trzymana w sekcji nazywanej .rodata, która to znajduje się w pamięci FLASH. (W mikrokontrolerach stm32) W takim razie jeżeli zadeklaruje np. tabelicę: [syntax=c]const uint8_t tablica[1000]; [/syntax] to oznacza, że taka...
(at)JacekCz Przejrzyj ofertę pamięci dataFLASH, są pamięci z intgefejsem SPI (obudowy zazwyczaj SO08) lub równoległym (większe obudowy). Odczyt sekwencyjny jest szybki (do kilkunastu MB/s), zapis odbywa się blokami o stałej długości dla danego typu pamięci i jest raczej wolny (do kilkuset kB/s przy zapisie do wcześniej skasowanych bloków). Masz też...
Tak się nie da. Chyba, że kod programu zostanie podzielony na dwie sekcje i jedna będzie umieszczona przed tablicą a druga za tablicą.
OMG, ale po co ładujesz wciąż plik .bin... Załaduj po prostu plik .hex czy .elf - parametr offset nie ma wtedy żadnego znaczenia (jest ignorowany), bo pliki te zawierają adresy. Co do parametru "unlock" - jeśli masz układ z zablokowaną pamięcią, to ta komenda nie zadziała zawsze - jak widzisz - w niektórych układach po odblokowaniu pamięci konieczny...
NOP-y nie służą do tego w tych procesorach. To nie tak jak w AVR-ack. NOP jest od razy wywalany z pipelin-a i może nie spowodwać żanego opóżnienia. W takich zaawansowanych peockach jak H7 (M7 core) przy czytaniu 128 bitów z FLASH nawet 4 mogą nie spowodować żadnego opóźnienia. NOP-ów używa się do "paddingu". Używaj innych instrukcji do tego np barierowych...
cześć takie dwie sprawy. 1. Zakładając że mam zadeklarowane dwa takie ciągi znakowe [syntax=c]char *str1 = "string numer 1"; char str2[] = "string nr 2";[/syntax] oraz jakąś funkcję która wysyła przekazany ciąg znaków dla przykładu na RS choc może być to jakiś LCD [syntax=c]void wyslijRS(char * ciag);[/syntax] z tego co rozumiem to str1 jest ZMIENNĄ...
Witam ,Posiadam pilot od łódki Viking Boat. Podczas próby wgrania oprogramowania przez pomyłkę została usunięta cała pamięć z układu. Mam pytanie: Czy istnieje możliwość zgrania całej zawartości flash z układu STM32L dawcy i wgrania go ponownie? Nadmienię, że posiadam kopie plików BIN i HEX, ale po próbie ponownego wgrania programem STM32 ST-LINK UTILITY...
https://obrazki.elektroda.pl/2759406900_... 8-bitowe mikrokontrolery nadal można znaleźć w wielu projektach, ale dzięki nowemu, niedrogiemu 32-bitowemu z rdzeniem AMR Cortex-M0+ taktowanym 48 MHz — STM32C0 — firma STMicroelectronics dąży do wyparcia 8-bitowych jednostek. Co może się odbyć wskutek: „ograniczonego wpływu...
Czy można to zrobić? - Oczywiście. Pytanie, czy trzeba? W miarę łatwo uzasadnić to, że np. jakieś dane konfiguracyjne są zapamiętywane w stałym miejscu pamięci Flash albo dane nie mają mocnego związku z kodem i są ładowane niezależnie od kodu dla każdego egzemplarza urządzenia, ale Twój przypadek jest zupełnie inny. Zamiast uczciwie wstawić dane do...
No to by też tłumaczyło, dlaczego kalibracji nie robią raz i zapisują trwale do pamięci nieulotnej. Ale dlaczego manual o tym nie wspomina ? Jaki jest czas retencji danych w pamięci flash tych ARMów ?
Eee... No ale bez sbrk() malloc() nie ma prawa działać... Chyba że jest to gdzieś w reszcie plików zaimplementowane. Pooglądaj wynikowy plik .map - tam zobaczysz co wylądowało w RAM a co we flash. Pliki które masz w tym przykładzie nie są zbyt dobre - szczególnie skrypt linkera... Składnia która jest tam zastosowana wg mnie w ogóle jest niejasna i dziwna...
Temat poruszony: https://www.elektroda.pl/rtvforum/topic3... Jeśli chodzi o podstawową funkcjonalność to jest podobna. GD32 bazuje na innej konstrukcji gdzie pamięć programu jest kopiowana z szeregowego flash do SRAM i stamtąd uruchamiana (co ma szczególne znaczenie przy wyższych prędkościach zegara). Wada - dłuższy coldstart. Co do...
Tak na chłopski rozum to tablica przerwań może się zaczynać tylko od adresów, które mają 7 najmłodszych bitów równe 0 i dlatego w rejestrze VTOR te bity są nie zaimplementowane. Wyszczególnienie bitu 29 jako selektora FLASH/RAM służy chyba do zaznaczenia, że np. pamięć zewnętrzna nie może służyć do przechowywania tablicy wektorów przerwań, pomimo że...
Witam. Jestem w trakcie pisania bootloadera po magistrali CAN dla STM32F103VE. Opieram się głównie na publikacji AN2557 zamieszczonej na stronie ST. Potrafię przesłać aplikację użytkownika po magistrali CAN do uC i zaprogramować pamięć Flash od wybranego adresu w górę. Na wstępnie odblokowuje pamięć Flash (FLASH_Unlock(); ) następnie podgrywam aplikację...
To już wiem, że mam zablokowaną pamięć Flash. Chyba nawet domyślam się, że mogłem tego dokonać próbując wgrać binarkę przez vsgui dołączonym do versaloon'a. OpenOCD wypluwa: Open On-Chip Debugger 0.8.0-rc2 (2014-04-15-16:15) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/d... xsvf adapter...
(...) ustawiłem wektor przerwań i początku pamięci flash w linkerze z odpowiednim offsetem (0x3800) Co to za magiczny offset? :D
http://obrazki.elektroda.pl/5847962200_1... Dzięki Szwedzkiej firmie Oberon Microsystems Inc., która przeportowała Microsoft.NET Micro Framework (NETMF) możliwe jest pisanie programów dla mikrokontrolerów SMT32 w popularnym języku C#. NETMF wykonuje kod bez pośrednictwa systemu operacyjnego tak jak to jest w przypadku tradycyjnego komputera...
Kierowany ciekawością weryfikowałem poradnikową wydajność egzekucji programu z obszaru pamięci Flash, jak i RAM. Faktycznie kod z RAM przy bazowych częstotliwościach wykonuje się wolniej ( przy wyższych częstotliwościach jest szybszy jeśli pamięć Flash nie posiada kontrolera z pamięcić podręczną ). Dodatkowo po przeanalizowaniu budowy konkretnej implementacji...
Nie ma to jak wrzucać dokładny kod błędu... main.c:32:32: error: Roleta_EEPROM causes a section type conflict with Roleta_EEPROM2 volatile struct Roleta_offsets Roleta_EEPROM[7] __attribute__ ((section(".eeprom_mem&... __attribute__ ((aligned (32))) = ^ Jak chcesz to mieć...
Pamięć NAND nie jest mapowana w przestrzeń adresową FSMC. Pamięć NAND wymaga wysyłania jej durnych rozkazów, i jest to ekwiwalentnie pokręcone jak obsługa kart SD/MMC (tyle że prościej). Dodatkowo zapomnij, że będziesz sobie w stanie tą pamięć ot tak zapisywać jak słowo pod wskaźnik do RAMu czy FRAMu. FSMC definiuje ci tylko adresy pod które mozesz...
Próbowałem najpierw skopiować "na głupiego" kod z drugiego linku, niestety zawieszał się w EE_Init(); Spróbowałem ten cały przykład z mbed przenieść do SW4STM (ale bez biblioteki mbed, tylko do szablonu z CubeMX) i po drobnej kosmetyce chodzi całkiem dobrze. Kod jest dobry a przyczyną zawieszania pod SW4STM jest, jak się obawiałem, nieskuteczność tego...
Witam. Czy ktoś spotkał się z problemem kasowania komórek pamięci FLASH mikrokontrolera STM32 po szybkich zmianach jego zasilania? Mam urządzenie wkorzystujęc SMT32F103RBT6. Zasilane to przetwornica na LM2576 ->5V, potem stab. liniowy 3,3V. Od strony eletronicznej wszystko zaprojektowane jest poprawnie. Urządzenie działa poprawnie. Jednak, gdy np, szybko...
Zastosowanie miałoby być takie: Robię komputer na obd2 i opisy kodów błędów chcę mieć w pamięci flash i teraz tak. Chciałbym przechowywać opisy w postaci plików txt. otwieram plik o danej nazwie błędu i mam opis. Jednakże dużo prościej i bardziej optymalnie będzie chyba jednak rezerwacja określonej liczby bajtów w pamięci na opis i odnoszenie się do...
Zaczynałem na AVRach, później przesiadłem się na STR7xx, ugryzłem LPC, a teraz tworze projekty na STM32 i są to naprawdę świetne uC. Łatwo zacząć, bo jest dobre darmowe środowisko bez konieczności godzinnych konfiguracji, tutaj instalujemy i jest gotowe do pisania programu dla STM32 lub odpalenia przykładów zawartych w IDE. Na początek dobra też jest...
http://obrazki.elektroda.pl/6299012600_1... Firma STMicroelectronics zaprezentowała nową linię mikrokontrolerów STM32F446, łączącą w sobie jednostkę obliczeniową ARM Cortex-M4, kompaktową pamięć Flash o pojemnościach od 256 kB do 512 kB, 128 kB RAM, wydajne interfejsy rozszerzenia pamięci, jak również rozbudowane opcje komunikacji i...
Witam, Zaczynając z modułem mikroprocesorowym skasowałem program demo (używając flash loader demonstrator). Później wgrywałem przykładowe programy z CooCox'a. Wszystko działało, tzn. na lcd/touchpanelu były wyświetlane programy z folderu "example", można było z powodzeniem wgrać program i działał on w pełni poprawnie(program był wyświetlany na lcd i...
https://obrazki.elektroda.pl/5728376300_... Black Pill to nowa płytka prototypowa. Black Pill to następca popularnej i niedrogiej Blue Pill. Sercem Black Pill jest układ STM32F401CCU6 lub STM32F411CEU6 firmy STMicro zawierający jednordzeniowy procesor ARM typu Cortex-M4F o taktowaniu odpowiednio 84MHz lub 100MHz. Kompatybilność Black...
TO masz pecha. BO początku pamięci flash nie da się tak wykorzystać.
To nie mikrokontroler "marnuje pamięć", a źle napisana biblioteka. Kod na uC 32-bitowy na ogół nie jest dłuższy niż odpowiadający mu kod na uC 8-bitowy, bo to samo da się zrobić mniejszą liczbą operacji. Za jakość bebechów biblioteki odpowiadają jej autorzy. Projekty, które na STM32 robią dużo więcej, niż da się zrobić na śrenim ATmega, na ogół zajmują...
Witam, Zastanawiam się nad kupnem zestawu STM32-103STK Olimexu (http://www.shop.kristech.eu/product_inf... Wszystkie peryferia mi odpowiadają. Jedyne co mnie zastanawia to mała pamięć flash (124KB). Chciałbym uruchomić na tym zestawie odtwarzacz MP3 (dekodowanie softwearowe) + mass storage, a nie jestem pewien czy dostępna...
Kontroler karty operuje na sektorach 512B nie blokach 128kB Czytaj uważnie. Ja pisałem o blokach w pamięciach NAND flash, a nie o tym co emuluje kontroler karty SD. Zbych_: skąd masz taką informację? Z lektury datasheetów pamięci NAND flash, które są wkładane do kart SD, np. pamięci ST (obecnie numonyx) 8Gb (1GB) mają bloki w rozmiarze 128kB.
Ciekawe jak działa emulowanie EEPROM w FLASH, ale skoro Mechanizmu zapisu do FLASH działają na prawdziwym FLASH i na SRAM jednocześnie. W końcu kontroler FLASH to oddzielne peryferium. Pytanie, czy RAM przeznaczona na program to ten sam RAM co dla danych? Raczej nie, bo dane i program są rozdzielone a trochę szkoda. Jakby była to ta sama pamięć to...
Ściągałem kiedyś ze strony ST program StM32-StLink-Utility i tam był driver. Z tym że ja używam StLinkV2. Znalazłem ST-link-v1 [url=http://www.st.com/web/catalog/tools... i zainstalowałem tą aplikację i nie mogłem się połączyć. W akcie desperacji ściągnąłem sterowniki na XP i je zainstalowałem...
Od kilku dni bawię się płytką st32f401-c disco. Nie wiem dokładnie jak działają timery. Potrzebuję mieć przerwanie co 10ms. Z tego co przeczytałem w internecie powinno to wyglądać tak: [syntax=c]T IM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 9999; // 100Hz - 10ms TIM_TimeBaseStructure.TIM_Prescaler = 41; // 1000000MHz...
Swoją drogą to ciekawe ile FLASH w chińczyku wytrzyma cykli, datasheet oryginalnego ST podaje że na bank ponad 1000 i 10000 standardowo. Między innymi właśnie to bym chciał sprawdzić - wybrać sobie jakiś obszar pamięci Flash w MCU i go zajechać ;).
Najpierw napisz do czego będziesz go wykorzystywać? Do programowania pamięci NOR Flash o rozmiarze 64MB (512mbit). Tylko i wyłącznie do tego. JTAGiem przez STM32 z OpenOCD trwa to dwie godziny. Seggerowski J-Flasher jest z 10 razy szybszy ale ten rozmiar go akurat przerasta i się wysypuje. Z 16MB i 32MB sobie radzi, z 64MB już nie. Poza tym mikrokontrolery...
To nie jest tak ze problem pojawia sie zawsze ale na powiedzmy 5 tys zapisów. Przy duzej ilosci zapisow do flash wychodza dopiero problemy. Sa jednak bardzo nieregularne - czasem czesciej niemal co chwila a czasem bardzo rzadko A nie jest przypadkiem tak, że już udało Ci się zamęczyć tą pamięć Flash taką ilością zapisów? Dodano po 2 Ponowię pytanie...
w architekturze harward gdzie pamięć danych nie może być użyta do przechowywania wykonywanego kodu programu (w przeciwieństwie do organizacji von Neumana). Nie do końca jest to prawdą. W przypadku AVR owszem, ale takie uogólnienie na wszystkie procesory w architekturze harwardzkiej jest nadużyciem. Przykładowo STM32 - są wykonane w architekturze harwadzkiej...
https://obrazki.elektroda.pl/7232055200_... [uC zidentyfikowany jako stm32f401. Zacznijmy od początku , urządzenie to papieros elektroniczny. Uszkodzony podczas flashowania. Po podłączeniu do programatora musiałem wykasować pamięć flash żeby usunąć ROP Level 1. Po ponownym wgraniu oprogramowania do pamięci uC urządzenie niestety nie...
Dlatego proponowałem Tobie rozwiązanie z STM32 oraz FPGA. Niech mikrokontroler trzyma całość na karcie SD czy Flash szeregowym, które są tanie i szybkie. Tutaj obejdzie się Mico32. albo wstawić jakiś mały soft-procesor w roli maszyny stanów jak Mico8. Druga opcja to równoległy Flash oraz mały CPLD do rozruchu. Nie będzie tu potrzebny mikroklocek. Od...
Rozwiązanie najprostsze: nie włączać watchdoga przez bajt konfiguracji w pamięci Flash - włączyć go programowo.
rb401, bardzo dziękuję za obszerną odpowiedź. Myślałem nad STM32, ale wydawał mi się wtedy zbyt duży kolos do nauki. Kupiłem więc ATMega 128, ze względu na dużą pamięć flash, nie biorąc pod uwagę pamięć RAM. Swój wybór uwarunkowałem też tym, że ludzie na ATTiny robią odtwarzacze *.wav, z podpiętą kartą SD. Cały problem polega na tym, że nie potrafię...
Funkcjonalność urządzenia będzie dość mocno rozwijana, więc i danych do przesyłania będzie sporo (powiedzmy stan 50ciu zmiennych). To nie jest zbyt wygórowane wyzwanie dla ESP8266, ale wszystko zależy od tego ile to będzie bajtów i w jakich jednostkach czasu. Jeśli ESP może spełnić moje oczekiwania, to czy wystarczą mi komendy AT w które jest wyposażony...
0. Nie panikuj, zachowaj spokój i czytaj manuale. 1. Nigdy, ale to nigdy nie zmieniaj konfiguracji pinów PA13,PA14, jeżeli chcesz używać programatora i debugera po SWD. 2. Jeżeli musisz użyć tych pinów, to w aplikacji, zmianę wykonuj po min. 2..5 sekundach. W ten sposób zaraz po resecie, nadal możesz korzystać z SWD do programowania. 3. Połącz się z...
Mam przed sobą Cortex™-M3 Revision r2p1 Technical Reference Manual i tam napisane jest iż MLA trwa dwa cykle a np ADD, MUL jeden czyli ja zysku nie widzę przy wykorzystaniu tego rozkazu (Czasowego bo to tylko chyba objętościowy zysk). Staram się w sposób świadomy pisać w C tak aby kod wykonywał się jak najszbiciej. ale jeśli nie ma różnicy w czasie...
Ja tak obecnie robię w STM32, tyle że na tych prockach zapis do pamięci Flash jest bardziej niż prosty, na LPC2xxx jest gorzej, a na Atmelach nie wiem jak jest. Generalnie można wykorzystać sprytne algorytmy "wear leveling" i pamięć jest praktycznie nie do zajechania... pdf: http://www.st.com/mcu/download2.php?file...
zapis pamięć flash stm32 programator pamięć flash stm32 stm32 zewnętrzna pamięć flash
demontaż blaupunkt triaki zamienniki shure uszkodzony
dobre sklepy elektroniczne online dobre sklepy elektroniczne
Jak ustawić godzinę w dekoderze EVOBOX PVR Renault Trafic IV 2021 - wyświetlacz nie działa