To akurat będzie w dużej mierze zależne od użytego frameworka oraz IDE, a nie rodzaju MCU. Zresztą sam o tym napisałeś. Jeśli będziemy korzystać z arduino to tak, jeśli będziemy chcieli pisać "close to metal" to nie, w oryginalnym temacie nie było mowy o arduino tylko xplained więc wnioskuję, że autorowi na arduino nie zależało wcale. Można pisać przyjemnie...
Myślę że na większość Twoich pytań, odpowiedzi znajdziesz TUTAJ . I nie koniecznie musi to być AVR, polecam przyjrzeć się na początek rdzeniom CORTEX M0, z rodziny ARM.
Też słuszna myśl, jeśli mamy na to fundusze. W ostateczności od biedy zawsze jako debugger możemy wykorzystać zestaw Discovery przy początkach programowania.
Na początek, żeby "nie utonąć" weź coś najprostszego z Cortex-M0, w przeciwnym wypadku balast w postaci złożoności peryferiów pociągnie Cię na dno jak Titanica Przesadzasz. Nie musi wszystkiego na raz wykorzystywać. Zresztą wiele rzeczy w noszych prockach jest lepiej/logiczniej zrobione i przez to łatwiej sie je programuje.
Reference Manual (do procka) + datasheet + errata + ewentualnie RM (do rdzenia) Chyba nic więcej nie potrzeba. Jesli chodzi o ksiażke "The definitive guide to the ARM cortex-M3" to jak sama nazwa wskazuje opisuje ona tylko ficzery rdzenia. (w tym połowa książki to instrukcje ASM) Warto przejrzeć bo może się przydać ale to samo bardziej upakowane znajdziesz...
A jeśli chodzi o typ, to w tym przypadku powinienem użyć IRQ? Nie powinieneś używać żadnego. Jeśli używasz STM32F1 (technicznie rzecz ujmując - jeśli używasz rdzenia ARM Cortex-M3 w rewizji r1r1), to po prostu na początku main() (albo w startupie, albo gdzieś "bardzo wcześnie" - byle przed pierwszym przerwaniem) dodaj taką oto magiczną inwokację: SCB->CCR...
Proszę o informacje, gdzie w nocie katalogowej można znaleźć informacje na temat priorytetów wykonywania przerwań, jeżeli wystąpią w tym samym czasie. Nie można, ale ten co ma niższy adres w tablicy wektorów wykona się pierwszy jak przyjdą w tym samym czasie. Co najwyżej możesz właczyć przerwania na początku obsługi aby umożliwić obsługę kolejnych...
Na początek proponuję Cortex-M3 Technical reference manual (ze strony ARM) i STM32 reference manual. Sporo wyjaśnią.
Nie znaczy to, że Microchip nie ma swoich problemów - ma i to niektóre bardzo poważne (stosując te procesory należy koniecznie czytać erratę), ale przynajmniej PWM wygląda na działający poprawnie. ZNam ten ból. :) Możesz w takim razie zobaczyć czy High Resolution Timer w STM32F334xx, STM32G474xx lub STM32H7xxxx spełni Twoje wymagania (rozdzielczość...
Wyjasnijcie to wyrownanie do 8 Chodzi o to, żeby rozmiar stosu był podzielny przez 8 Nie rozmiar stosu tylko adres początku stosu.
Z tego co wyczytałem nie można zmienić adresu wektora przerwań jedynie możnawskazać czy jest we FLASHU (czyli bootloader zaczynający się od początku FLASHa) w RAMie (Początek pamięci RAM 0x10000000) czy też jakiś tam bootrom (sprzętowy bootloader we flashu). Nie ma w M0 rejestru SCB->VTOR... chyba. Faktycznie, w ARM Cortex-M0 akurat wektory trzeba...
czy jeśli zacznę od jakiegoś stm32 na cortex-M3 lub M4 to potem bez większych zmian w zasadzie działania będę się mógł przesiąść Tak. na cortex-R? A skąd je weźmiesz? czy to sprawia, że programowanie w assemblerze lub w C będzie podobne? Podobne....w assemblerze, w C nie zauważysz różnicy. dlaczego i czy PIC mogą być lepsze w takich zastosowaniach?...
Też o tym myślałem (upchnięcie rozmiaru aplikacji w jakimś stałym miejscu na początku), ale też średnio mi się to podoba, bo trzeba bardziej ingerować w skrypty linkera samej aplikacji... I tak musisz zaingerować przesuwając początek romu... Więc czy dodatkowy wpis w wektor przerwań to tak wiele? Ale za to masz rozmiaro odporne rozwiązanie...., proste...
Z tymi kamerkami to trochę zabawy. Co to znaczy zbierać obraz ? Co na wyjściu daje kamerka ? Ile klatek na sekundę ? Czy ma przeprowadzać kompresję MPEG w locie ? Na początek coś z rdzeniem Cortex-M3, albo Cortex-A8 (drogi, ale wydajny), ew. coś opartego o rdzeń ARM9.
1. Przycisków nie obsługuje się na przerwaniach portów. 2. Nie potrzebujesz do tego trzech przerwań - wystarczy przerwania timera i UART. 3. Nie zmieniaj priorytetów przerwań - jeden poziom zdecydowanie wystarczy. Nie potrzebujesz zagnieżdżania, a próbując je zrobić brniesz w ślepą uliczkę, bo 5. Ogólną zasadą jest, że w procedurze obsługi przerwania...
ARM (ARM7TDMI-S, Cortex-M3, Cortex-M4) - lubię, cenię i szanuję - w każdym smaku, DSP - muszę (praca), AVR - początki przygody z uC, MSP430 - z chęci poznania konstrukcji energooszczędnych, FPGA - same początki - zabrakło zapału... 8051 - próbowali nauczyć mnie na uczelni. Pozdro.
Najlepszą metodą znalezienia błędu w przypadku jak nic nie pomaga jest analiza kodu w asemblerze jaki został wygenerowany z twojego programu i porównanie go z działającym programem. Pamiętaj że rdzeń cortex-m0 w przeciwieństwie do cortex-m3 jest znacznie prostszy i analiza asemblera nie jest aż tak skomplikowana oczywiście na początku wyda ci się to...
To może zacznijmy od początku. Od samych mikrokontrolerów. Nieco wybiórczo i subiektywnie. 1. MCS-51 - Wielu z nas rozpoczynało od tego w latach '80 ubiegłego wieku. Prosta konstrukcja, niewiele peryferii: GPIO, liczniki, UART. Programowanie praktycznie tylko w kodzie maszynowym, potem ewentualnie w języku C dzięki raczkującemu jeszcze SDCC. Firma Atmel...
Jeżeli chcesz uczyć się obydwu światów (tzn hosted i bare metal) w jednym to proponuję użycie innej platformy - jakiegoś STM32MP1 np. https://www.st.com/en/evaluation-tools/s... albo https://wiki.seeedstudio.com/ODYSSEY-STM... przy czym SeedStudio nie dostarcza takiego środowiska i przygotowanie dystrybucji np. Yocto wymaga trochę...
Czy ktoś się wybiera do Krakowa na początku czerwca na Seminarium i.MX RT organizowane przez Avnet?
Cortex, po resecie, odczytuje adres stosu i początku programu z początku pamięci. I tego nie przeskoczysz. Przesuwanie tablicy wektorów przydaje się np. jeśli na początku flasha masz kod bootloadera (z własną tablicą wektorów) a potem przechodzisz do właściwej aplikacji, która ma swoją osobistą tablicę wektorów pod innym adresem.
W tej chwili dla AVR jest to najlepsza opcja - stosunek tego co masz do ceny jest super. Wbudowany debugger pokaże ci nowy świat. Do tej pory takie pytki miały tylko platformy dla ARM. Oczywiście można kupić coś z ATMega8, ale musisz do tego dokupić osobny programator. Niby USABAsp na początek się nada, ale za cenę tego, uwierz mi - złomu, masz fajną...
Kolego czytaj posty ze zrozumieniem i nie kpij sobie ze mnie. Piszę od samego początku o WS2812! Proszę FFT na AtMega: https://www.youtube.com/watch?v=tCmaOb-V... https://www.youtube.com/watch?v=X35HbE7k...
STM32F318K8U6 - w farnellu za 5,89 za sztukę http://pl.farnell.com/stmicroelectronics...
Jeśli zdecydujemy się na cortexa to na początek będzie to pewnie cortex-M0. Z moich poszukiwań (chyba, że źle szukałem) wynika, że LPC11XX oraz LPC13XX występują maksymalnie w 48 nóżkowych obudowach. Natomiast LPC17xx występują w 80 i 100 nóżkowych. Nie ma wersji 64 nóżkowych lub coś koło tego? Czy jeżeli zacznę od cortex-M0 i zajdzie potrzeba użycia...
W sumie działa aczkolwiek musiałem jeszcze raz napisać obsługę od początku. Problem dotyczył zapewne tych opóźnień. Napisy wyświetlają się więc problem został rozwiązany.
czy jest sens inwestowowac czas na nauke 51/52 czy tez ARM sa definitywyna przeszloscia i na wlasnie na ich programowanie jest najwieksze zapotrzebowanie (w sensie oferty pracy, niekoniecznie w polsce) ? Wszystko zależy w jakiej branży chciałbyś pracować jako programista. Wystarczy stwierdzić na czym jest oparta większość urządzeń i wnioski nasuną...
np. RK3188T Cortex-A9 1,4 GHz. Mali-400 MP, i 1GB RAM 1024x600 Tak na początek chcę zobaczyć jak to działa może z tych tańszych LC-359 IP LC-1000
Witam, Chcę zacząć przygodę z STM32. Zakupiłem już nawet płytkę STM32Discovery-Disco z prockiem Cortex M4, ale kolega "postraszył mnie", że na początek mogę sobie z tym nie poradzić i doradził "mniejsze" procki z tej rodziny. W związku z tym mam kilka pytań: 1. Czy rzeczywiście jest duża różnica w programowaniu pomiędzy CortexM0 i M4? 2. Gdybym zdecydował...
Wg mnie nie trzeba nic zmieniać. Konfiguracja układów peryferyjnych typu RCC czy GPIO raczej się nie zmieniła, w startupie na pewno nic się nie zmieniło (przecież to wciąż Cortex-M3). Rozmiary pamięci można zmienić, ale nie trzeba (w końcu kod zajmuje ułamek flash i ułamek RAM, więc nic to nie zmienia w zasadzie). Adresy pamięci na 99,666% się nie zmieniły....
Witam, jestem początkującym programistą procesorów ARM. Posiadam płytę ewaluacyjna MCBSTM32 z procesorem STM32F103RB oraz środowisko do programowania Keil uVision3. W zestawie jest rowniez programator ULINK Cortex. Na początek chciałem zaprogramować program demonstracyjny "Blinky" dla tej płyty. Wszystkie ustawienie "option for target" (device, target,...
Witam. Na początek polecam eksperymenty z qemu. Jesli chcesz wiedziec jak to dziala od strony softu to plytka nie jest Ci do niczego potrzebna. Marcin
Ostatnio zostało mi kilka dolców na Aliexpress i z ciekawości, kupiłem najtańszy programator i moduł z STM8 za niecałe 4$. Na upragniony STM32 niestety nie starczyło zbędnej gotówki :D Programator wygląda jak USBasp w obudowie i jest podpisany "ST-Link stlink V2". Z opisu wnioskuję że obsługuje STM8, STM32 i CORTEX-M1, CORTEX-M3. I teraz pytania do...
W takim razie [url=http://allegro.pl/stm32-stm32f4-dis... STM32F4 DISCOVERY ARM powinien być ok? Nie wymaga już więcej nakładów (do wystartowania)?
Czy możecie doradzić ? Chcę kupić i pobawić się komputerem jednopłytkowym z Linux na armie np. A8 itd., który służyłby do wyświetlania grafiki, może nawet filmu na niewielkim ekranie, ale pracowałby nawet od -10stC. Widzę że na dzisiaj są dostępne zestawy np. A13 (Cortex A8 + 3DMali400). Co proponujecie niedrogiego ?
Z własnego doświadczenia powiem, że prawie każda książka pasuje, ale na początku będzie to szum informacyjny, na którego poskładanie i syntezę stracisz trochę czasu. Poza dokumentacją do procesora (Reference Manual) i samej płytki to polecam czytać coś w miarę uniwersalnego do architektury jak np "Definitive Guide to ARM Cortex-M3 and Cortex-M4" Processors"...
Witam, Sam uC Cortex-M3 to bardzo dobre rdzenie ARMv7. Ale ta płytka ewaluacyjna na początku mi się spodobała, ale jak zobaczyłem cenę to mnie odrzuciło );. Proponuje nawet zajrzeć do Kamami, zobaczyć zestaw ZL30ARM na STM32 albo ZL32ARM , ten drugi posiada mikrokontroler LPC1114 (rdzeń Cortex-M0), ale posiada za to już programator do serii LPC1xxx,...
Zacznijmy od tego, że analizowanie tego typu przypadku jest nieco bezprzedmiotowe - jest tam dużo rzeczy zbędnych, wiele architektu nie pozwala na użycie rejestru stosu bezpośrednio - stąd add r7, sp, #0 Przeanalizujmy kod: [syntax=c]void foo(int32_t); void bar(int32_t*); int32_t __attribute__((noinline)) DSP_2(int32_t NewSample, int32_t *XCoef, int32_t...
Witam! Jest to mój pierwszy post na elektrodzie, ale już od dawna byłem jej biernym użytkownikiem :) Do tej pory programowałem trochę mikrokontrolery AVR w języku C. Chciałbym nauczyć się też programować mikrokontrolery z rodziny ARM. Myślę, że dobrym wyborem będzie rdzeń CORTEX-M4. Nie wiem tylko jakiego producenta wybrać. Z tego co się orientuję to...
Sprawdziłem dokładniej co i jak. RFM23B nie ma tych pinów antenowych więc nic nie trzeba ustawiać. W RFM23 i RFM22B trzeba połączyć je z gpio i ustawić: [syntax=c]spi_write(0x0b, 0x12); // gpio0 TX State (output) spi_write(0x0c, 0x15); // gpio1 RX State (output)[/syntax] Reset na samym początku, poza tym kolejność chyba nie ma znaczenia.
Ogólnie dobre. Plus za bakterię i pełne wsparcie w ASF w AS6. Minus, to ograniczenia w wykorzystaniu pinów. Realnie masz do dyspozycji 2 pełne porty SPI z CS, 4 kanały analogowe, 4 ledy i 3 przyciski mechaniczne + 1 dotykowy. DataFLash może się przydać, ale niekoniecznie. LCD już bardziej. Jeżeli nie chcesz Cortex'a za połowę tej ceny (~70 PLN) z programatorem...
Witam. Stawiam właśnie pierwsze kroki w programowaniu uC. Pracuję na STM32f4 Discovery (mikrokontroler STM32F407VGT6, rdzeń Cortex M-4) w środowisku Keil uVision 4.7. Chciałbym skorzystać z wiedzy zawartej w książce "Mikrokontrolery STM32 w praktyce" autorstwa Krzysztofa Paprockiego. Znalazłem tam wiele dobrze opisanych przykładów, jednak dotyczą one...
na początek zakupiłem 2 e-book'i autorstwa tmr i myślę, że moje pytania o podstawy się skończą :) do BlueDraco jeśli zajdzie konieczność rozwijania projektów to na pewno zainteresuję się CORTEX'ami dzięki wszystkim temat zamykam
Może to chodzi głównie o program użytkownika. Jeśli namiesza coś na stosie to nie wywali całego systemu, bo ten ma swój stos. Ale to też raczej odnosi się do systemu operacyjnego. I chyba właściwie po to jest to zrobione sprzętowo w tych prockach. Tak jakby od początku były projektowane do pracy z OSem.
Witam, Mam zamiar zapoznać się z płytkami NUCLEO STM32. Kiedyś programowałem układy Atmega w języku C, do tego trochę programowania a Python. Na początek chcę napisać kod który w pętli będzie ustawiał 8 lub 16 wyjść w stanie wysokim lub niskim, na podstawie podawanego sygnału wejściowego (tzw sekwencer). Z samym kodem w języku C sobie poradzę moje pytanie...
1. Co to jest dokładnie to wyrównanie stosu do 8 bajtów i do 4 bajtów, standard API zaleca 8 jak to wygląda w pamięci Chodzi o to, że w momencie "wejścia do dowolnej funkcji" wartość rejestru wskaźnika stosu (SP) ma być podzielna bez reszty przez 8. Do "wejścia do dowolnej funkcji" wlicza się również wejście do przerwania, a ponieważ kod tego w sposób...
He he, jakoś tak po przejrzeniu innych postów czułem że tak powiesz :-) Masz jakieś doświadczenie z USB na Cortex-M3? Może masz jakieś rady ogólne związane z tym tematem? Czy rzeczywiście roboty będzie "bardzo dużo", a może "mniej niż się na początku wydaje"?
czy w takim razie UnStacking działa w drugą stronę na zasadzie: Przywracania wartości rejestrów zapisanych ? Tak. Jak na osobę początkującą zaprzątasz sobie głowę bardzo mało istotnymi na początku detalami... Przy "normalnym" pisaniu programów w C czy C++ w zasadzie wiedza o tych wszystkich rzeczach nie jest do niczego potrzebna (;
Witam, Dzięki wielki wujcio24 & tymon_x za informacje. Na początek te 3 pozycje mi w zupełności wystarczą: - arm_architecture_v7m_reference_manual - Reference Manual for STM32F103VE - The Definitive Guide to the ARM Cortex-M3 Teraz chyba czas aby pomrugać trochę LED'em :) Pozdrawiam.
http://obrazki.elektroda.net/5_125338248... Brytyjski producent procesorów RISC, firma ARM Ltd. zaprezentowała nowy układ z rodziny Cortex-A9 taktowany z częstotliwością 2 Ghz. Mikroprocesory z rodziny Cortex-A9 cechuje niespotykaną wydajność przy zminimalizowanym zużyciu energii. Najszybszy z nich, dwurdzeniowy procesor taktowany częstotliwością...
początki mechatronika początki artykuł asembler początki
uniwersalny zamek centralny galaxy licznik kodowanie lm317 zenera
bufor kombinowany multimetry mierniki
Soundcraft Spirit M4 – schemat serwisowy, Service Manual, typowe usterki, zamienniki części HP DeskJet 2130 – reset kolorowego tuszu, chip HP 302, obejścia, napełnianie wkładów