to dopiero herezje.... tzw. inline assembler w keilu nie obsluguje rozkazow thumb i thumb2. embedded assembler obsluguje dowolny zestaw instrukcji. poczytaj manuala... funkcje pisane w asmie moga zwracac wartosc: w r0...
Moim zdaniem za użyciem RTOS przemawia po prostu lenistwo, zresztą podobnie jak za 99% praktyk programistycznych. Bardzo merytoryczny argument. W zasadzie większość Twojego postu można niestety streścić tak - "jestem mega mistrzem programowania, każdy kto robi coś inaczej niż ja jest niedouczonym leniem"... Praktycznie nie ma tam żadnego merytorycznego...
Ale nie wymagajmy cudów, od projektu o budżecie kilku tysiecy, co innego gdy do dyspozycja ma się kilkaset tysięcy. Tyle że FPGA do tej aplikacji kosztują grosze (w sensie znacznie mniej niż kilka tysięcy za sztukę) a dają nieporównywalnie większe możliwości niż 'dyskretne' komponenty jak zewnętrzna pamięć i procesor. Pakowanie się w starą technologię...
Cytat z dokumentacji IAR dla AVR, rozdział "Efficient coding techniques": "Avoid using inline assembler. Instead, try writing the code in C or Embedded C++, use intrinsic functions, or write a separate assembler module." W kompilatorze do MSP430 też kiedyś widziałem podobny tekst.
Można kompilować kod dla rodziny Cortex-Mx bez problemu, ale i tak potrzebny jest linker, assembler i biblioteki. Żeby daleko nie szukać, możesz wykorzystać clang -target armv6m-none-eabi -mcpu=cortex-m0 -mfloat-abi=soft -mthumb -ccc-gcc-name arm-none-eabi-gcc -std=c99 -fshort-enums -fdata-sections -ffunction-sections -ggdb -g3 -O0 -Isrc -o foo.o -c...
... Zle mnie zrozumiales. Chodzi mi o to ze asm w stosunku do C, jest bardzo nieczytelny no i oczywiscie dla kazdej architektury/procka moze wygladac inaczej. Jestem programista systemow embedded i z asmem roznych prockow i architektow spotykam sie na codzien (wiec chybiles z zalozeniem). Zdecydowanie polecam przerzucic sie na C a w asmie pisac tylko...
Witam, Szukam pracy w branży elektronicznej. Posiadane umiejętności: - projektowanie płytek PCB - programowanie systemów wbudowanych w języku C i assembler (mniejsze podprogramy) głównie na prockach PIC32MZ - bardzo dobra znajomość procesorów rodziny PIC32MZ - magistrale LIN, CAN, UART, I2C, SPI, I2S, USB ich implementacja w systemie rzeczywistym -...
Też bym wolał by tu nie pisano o Cpp jak ma być temat o rust. No chyba że przechodzimy w klasyczny temat wojny C vs Cpp podlewany assemblerem.
Akurat na LPC17xx można szybko machać pinem, gdyż, jak się nxp pochwalił, GPIO jest na AHB. Chcesz programowo machać pinem? Enjoy: [syntax=C] __asm void machajpinem(void) { mov r0,#0x2009 lsl r0,#16 mov r1,#0xC014 orr r0,r0,r1 mov r1,#0 str r1,[r0] hop: eor r1,#1 str r1,[r0] b hop } [/syntax] Macha pinem P0.0 i kompiluje sie pod mdk-arm (embedded assembler)....
W moim przypadku to wygląda tak, że mam wypracowaną własną warstwę abstrakcji sprzętu. Przykładowo do SPI jest maszyna stanów co mieli strumień bajtów danych + nagłówek z kolejek (typu FIFO jako bufor cykliczny). Pod to callbacki do sprzętu (open, write, read, close, ioctl), i rybka czy w środku jest if (queue) wyslij czy na przerwaniach. Nagłówek zawiera...
Hej. Od roku pisze w Assemblerze pod IAR'em dla MSP430. W razie czego też mogę pomóc.
Witam Zaczynam się dopiero uczyć programowania mikrokontrolerów i mam kilka niepewności, a mianowicie: -8051 ma w miarę prostego assemblera, ale programator do niego jest relatywnie drogi jak na kieszeń studenta -89C2051 assembler jak 8051, tani programator(czy można pisać w asm do 51?) -AT90S2313 ma bardzo tani programator, trudniejszego assemblera,...
Właśnie próbowałem skompilować przykłady nielinuksowe na ten komputerek w GNU (eclipse). Kod w C się kompiluje w miarę Ok, musiałem tylko pozmieniać deklaracje __isr z ADS na __attribute__ ((interrupt)) które łyka GNU Ale są dwa duże pliki assemblerowe: jakiś startup i biblioteka różnych pomocniczych funkcji (mają 880 i 320 linii) i one są niestety...
rodzina procków MC68000 i namierzyłem soft do pisania kodu pod ten procek : [url=http://www.freescale.com/webapp/sps... - dobrze trafiłem ?? program potrafi wykonać disasemleryzację kodu ?
Mam flashbacki ze studiów, gdzie jeszcze 10 lat temu na PW uczono programowania 8051 w assemblerze jako wprowadzenie do świata MCU. Docent się nauczył, to i reszta musiała, chociaż zastosowanie praktyczne żadne. Trochę się z tym nie zgodzę. Sam zaczynałem "wiek" temu uczenie się programowania na PDP w asemblerze :) Później było 8080, Z80 (tu przerzuciłem...
Witajcie A jednak da się. Protel DXP 2004 obejmuje kompilatory i assemblery pod c51, c3000, z80, PowerPC i chyba c165. Wystarczy otworzyć nowy Embedded project i w opcjach wybrać potrzebną platformę procesora. Wspomniane kompilatory to technologia firmy TASKING. pozdrawiam
W szkołach powinni uczyć o DMA bo bez niego wielu rzeczy nie da się zrobić nawet na najszybszym ARM. ...ale w szkołach nie uczą takich niuansów. Pokazuje się jak działa procesor, co to jest assembler i tyle. Jest architektura komputerów i jest programowanie (ogólne). Nawet na embedded, to raczej jest RPi i Python, nikt tam niczego niskopoziomowo nie...
To była trzecia iteracja bo w #6 praktycznie powtórzył to samo z #4. (at)ElektrodaBot proste pytanie z logiki, co jest kontekstem jeśli chodzi o ranking języków w cyberbezpieczeństwie? :D Bezpośrednia odpowiedź Kontekstem jest precyzyjnie zdefiniowany wycinek pracy w cyberbezpieczeństwie oraz kryteria, według których oceniamy języki. Bez tego „ranking”...
Gdy dodałem jako atrybut do funkcji "weak" żeby kompilator nie dodawał na wejciu odkładania na stos Atrybut "weak" służy do zupełnie czego innego. To o co Ci chodzi to atrybut "naked" - funkcja z tym atrybutem w zasadzie powinna zawierać tylko assemblera. Co do plików których używasz, to ja mogę polecić jak zwykle to samo, czyli mój szablon dla STM32F1...
Zawsze myślałem, że systemy czasu rzeczywistego pisze się w assemblerze. Że takie rzeczy piszą ludzie znający sprzęt na wylot, a tu proszę, piszemy w C... Bez urazy, lubię C, ale tylko do wizualizacji... Przyznam, że mnie to zdziwiło. Robiłem jakiś czas temu taki sterownik, który miał reagować niemal natychmiast na zaistniałą sytuację. Dodatkowo, takich...
Dokładnie. FPGA to nie procesor gdzie trzeba znać tylko listę instrukcji i adresy rejestrów. FPGA o ile ma opis bloków logicznych (slices) oraz funkcjonalności układów dodatkowych (układów mnożących, bloków pamięci, itp), a nawet opis bitów które konfigurują tryby pracy, to nie ma opisu adresów tych bitów programujących. A już zupełnie nie widziałem...
Po pierwsze nie do końca się na tym znam. Chcę po prostu programować na ARM, wiem, ze jeszcze dużo nauki przede mną. Po drugie, nie jest to na razie jakiś specjalny projekt, a próby rozeznania się co i jak. A po trzecie używam GDB, bo podczas kompilacji tak mi pisze, zanim wywali błąd: [syntax=text] GNU gdb (GNU Tools for ARM Embedded Processors) 7.10.1.20151217-cvs...
Tutaj uważam iż się mylisz. Wcale nie trzeba znać się na programowaniu (assembler, C+) aby zastosować gdzieś praktycznie jakiś kod źródłowy. Ja sam umiem skompilować gotowy kod źródłowy w Linux czy Windows a nawet wprowadzić poprawki usprawniające ale to tylko dzięki temu iż znajdę te poprawki w Internecie. Niestety się mylisz. W środowisku embedded...
Cześć, udało mi się już nieco opanować C po zabawie z mikrokontrolerami, teraz chciałbym napisać program w C++, który wyświetlałby kilkanaście różnych obracających się tarcz oraz wskazówek wyświetlających różne wartości. Udało mi się to już zrobić korzystając z Visual C++ 2008 oraz biblioteki SFML, wczytywałem obrazki w formacie PNG i wszystko fajnie...
Myślę, że nie można wrzucić wszystkich mikrokontrolerów do jednego worka. Na takim ARM9, czy AVR32 są chyba wszystkie możliwe języki programowania, chociażby dlatego, że odpalisz na nich GNU/Linux, a pod tym systemem masz praktycznie wszystkie kompilatory. Zresztą specjalną wersję MS Windows też na tym odpalisz, a np. .NET zawiera wsparcie dla systemów...
A masz lepsze tłumaczenie dla początkującego? Bo przecież zwykle nie ma takiej potrzeby, ale niezwykle jest. I trzeba by rozstrzygać kiedy potrzeba jest a kiedy nie. Jak już pisałem, programowanie jest skomplikowane i żadne zaklęcia tego nie zmienią. Początkującemu trzeba to wytłumaczyć, a nie mówić, że "zawsze i kropka". Żeby nie być gołosłownym:...
Chyba młody jesteś (w sensie obecności na elektrodzie) bo kodów nie widać. To ma być z binarnego (ewentualnie w postaci hex) czy z ASM - to dwie różne rzeczy chyba, że z ASM uznajesz to co pokaże debugger interpretując obszar pamięci jako kod. Dla mnie ASM to kod programu napisany w języku assemblera z odpowiednimi nagłówkami i komentarzami a nie maszynowo...
1. nie wyobrażam sobie programowania embedded, żeby choć raz na miesiąc nie rozwinąć C do ASM i zobaczyć co wychodzi. Z poczucia obowiązku, procedur w korporacji lub własnej ciekawości. Dyskusja o funkcji się skończy. Znalazł byś statyczny blok pamięci (tzn istniejący przed załadowaniem programu, o jakieś drobne atrybuty różniący się od 'zewnętrznego...
Wstęp Poradniki pomagające w tworzeniu oprogramowania na mikrokontrolery skupiają się głównie na wykorzystaniu peryferiów samego mikrokontrolera, co jest zrozumiałe, ale niestety rzadko skncentrują się na części programu, która wykonuje się przed funkcją main. Poniższy poradnik ma na celu przybliżenie tej części programu na podstawie GNU ARM toolchain...
Nie szukaj dziury w całym. Embedded jest pojęciem wyjątkowo szerokim. Tutaj zaś jednak w tego typu dyskusjach (jakiego użyć języka/mikrokontrolera/rdzenia/architekt... praktycznie zawsze przeważają argumenty, że coś jest tańsze o 20 groszy i że używając czegośtam jakośtam można zaoszczędzić 100 bajtów RAM... Akurat wydaje mi się wysoce nieprawdopodobne,...
http://obrazki.elektroda.pl/8660171200_1... Celem projektu było zbudowanie odtwarzacza MP3/WAV, używając jedynie układu FPGA, pamięci RAM i przetwornika stereo DAC. Układ wykorzystuje 32-bitowe jądro procesora programowego pracujące przy taktowaniu poniżej 60MHz, które odpowiada za dekodowanie MP3 bez wsparcia sprzętowego - poza wykorzystaniem...
Ja podam jeden powód dlaczego warto zacząć od C. Zarządzanie pamięcią. W C jest się "trochę" bliżej sprzętu i widać co się dzieje z tą pamięcia, jak nią zarządzać, etc. Fakt, że pod tym względem najlepiej by zacząć od assemblera ale to już masochizm:P (chociaż ja właśnie w asemblerze + winapi + olydbg zrozumiałem co się dzieje z pamięcią w windowsie,...
Witam, Bawie sie płytka STM32F0Discovery, napotkalem na dziwne zachwowanie prostej funkcji opozniajacej. Od razu mówie ze docelowo bedzie ona i tak uruchomiona na timerze, a to co ponizej traktuje jako swego rodzaju ciekawostke. Mianowicie zmienna timer_cnt schodzi do 0, a petla while sie nie chce zakonczyc. W tym czasie przerwania, DMA i Systick działa...
tak już zupełnie nie na temat : otóż jak używam mojego i7( cztery fizyczne rdzenie )(at)>3GHz , czy telefonu z CPU (również z czterema rdzeniami ) równie szybkiego, czy też innego telefonu (8-rdzeni po 1,3 GHz) to nijak mi to nie pasuje do prezentowanego poglądu o" kompilatorze == prawie idealne rozwiązanie", o każdym z tych urządzeń można powiedzieć...
Nie, ale studia to nie jest początek nauki. To jest etap na którym właśnie poznaje się "dlaczego" robi się tak a nie inaczej. No ale moje zdanie nie mówi tego, że mamy poprzestać na "Arduino", mówię tylko, że prawie każdego przedmiotu można nauczyć od 2 stron: od ogółu do szczegółu i na odwrót. Moim zdaniem pierwsza metoda jest lepsza - bo daje właśnie...
Przyklad jest z tej stronki http://openhardware.net/Embedded_ARM/RDC... Obecnie to mam bład od ld po dopisaniu na końcu "-lc". /cygdrive/gnuarm/bin/../lib/gcc/arm-elf/... : No such file: No such file or directory collect2: ld returned 1 exit status make: *** include Makefile.inc #sub model must be "LPC2" followed...
Teraz wiele rozumie, x86 stąd określenie GPF. Wiele z tego co opisałeś jest bolączką architektury czy nawet systemu operacyjnego. Jednak JA osobiście nigdy nie tworzyłem większego projektu na x86 cz x86_64, więc za pewne Twoje uwagi co do języka są jak najbardziej poprawne. General Protection Fault jest skutkiem, a nie przyczyną. Możliwość pojawiła...
Korzystam z zaproponowanego przez Ciebie gcc-arm-none-eabi-4_6-121013.7z Nawet nie zciągałem linearo. Nie jestem biegły w temacie wiec trzymam się poleceń. Log wygląda tak: 12:21:17 **** Build of configuration Default for project stm32f4_blink_led **** make all 0 [main] sh 6084 sync_with_child: child 5980(0x138) died before initialization with status...
Zainstalowałem CoIDE oraz GCC ARM Utworzyłem prosty projekt: http://obrazki.elektroda.pl/2950715100_1... Podczas kompilacji mam takie błędy: GCC HOME: C:\Program Files\GNU Tools ARM Embedded\4.8 2013q4\bin compile: Miał ktoś podobną sytuacje? Proszę o podpowiedź odnośnie usunięcia tych błędów.
Witam Mam pewien problem wyrzuca mi następujący błąd przy użyciu sprintf i ADC. Sprintf mam tak wpisany: [syntax=c]sprintf((char *)wartoscADC1VTekst, "%d,%03d V\0",( wartoscADC1V / 1000),( wartoscADC1V % 1000));[/syntax] Tak mam wpisany przetwornik AC [syntax=c]void ADC_Config(void)...
https://obrazki.elektroda.pl/4148743200_... Pierwszy mikrokontroler AVR ATmega zadebiutował w 1998 roku i zrewolucjonizował rynek. Stworzony został przez firmę Atmel, która została przejęta w 2016 przez Microchip. Mikrokontrolery ATmega od początku były dość ważne dla hobbystów. Ale w ostatnich latach ich pozycja na rynku została zakwestionowana...
Tutaj jest cały log : Dodano po 5 Zaktualizuj sobie soft w programatorze. Problem z tym jest o tyle, że z tego co czytałem (jeśli to nie prawda to poprawcie mnie) do tego potrzebny jest albo drugi programator albo żeby USBaps posiadał zworkę samoprogramowania. Na chwilę obecną dysponuję jedynie jednym programatorem i nie ma on żadnych wyprowadzonych...
https://obrazki.elektroda.pl/9127779200_... Kiedyś programiści tworzyli cały swój kod od podstaw. Było to trudne, czasochłonne i niezbyt przyjemne dla osób pracujących z systemami embedded. Deweloperzy systemów wbudowanych walczyli o zmianę, a w reakcji na to dostawcy mikrokontrolerów generowali środowiska do kompilacji czy platformy...
...C to C niezależnie od platformy i dlatego warto się go nauczyć. Czy to będzie avr-gcc, arm-gcc, IAR, CV, czy mikroC, nie ma większego znaczenia. Ale jak się nauczysz BASCOMa, to nauka C będzie praktycznie od podstaw, a doświadczenia z Bascoma na niewiele się zdadzą. A prędzej czy później i tak człowiek się rozwija i Bascom przestaje wystarczać....
ZbeeGin, ale można korzystać przeca z gcc i podpiąć to pod Eclipse CDT. Generalnie konfig Eclipse'a dla MSP430 jest podobny jak np. pod ARMy. Toolchain jest tu: http://sourceforge.net/apps/mediawiki/ms... Z pluginów do Eclipse'a : GDB Hardware Debugging, Zylin Embedded, EmbsysRegview. Jeśli chodzi o debugger - możesz skorzystać...
Przedewszystkim chciałbym podziękować za serie fantastycznych tutoriali - zaoszczędziły mi sporo czasu. Jednak natknąłem się na jeden, pewnie dosyć błachy problem. Do rzeczy: Zainstalowałem całe środowisko i skonfigurowałem, tj: - eclipse 20120614-1722 + pluginy c/c++ GDB Hardware Debugging 7.0.0.201206111645, Zyling Embedded CDT 4.18.1 - sourcery codebench...
No i kurczę już nie wiem czym to się różni: Tutaj jak się kompiluje za pomocą freediego: (...)(at)(...)-jacek:... make Assembling file: startup.S /home/(...)/arm/gcc-arm-none-eab... -x assembler-with-cpp -c -mcpu=cortex-m3 -mthumb -g -ggdb3 -Wa,-amhls=out/startup.lst...
Koncepcja systemu operacyjnego czasu rzeczywistego (RTOS) jest dla większości programistów znana. Istotnym aspektem wykorzystywania go jest tzw. przełączanie kontekstu. Może realizować tę procedurę ręcznie, przeskakując z jednego wątku do drugiego. W poniższym artykule przyjrzymy się, jak zbudować własny minimalny system operacyjny czasu rzeczywistego...
http://obrazki.elektroda.pl/4525945400_1... W niniejszym artykule zostanie objaśnione, jak używać takich modułów do bezprzewodowego odczytu danych z czujnika temperatury i wyświetlania ich na ekranie komputera. Do pomiarów wykorzystywany jest czujnik temperatury wbudowany w mikrokontroler MSP430F2553. Kod źródłowy jest niewielki i bardzo...
OpenOCD zaktualizowanie tak jak kompilator wcześniej. Przerabiam przykład od początku teraz na bazie tego o którym mówiłeś LPC Będe wklejał tutaj co dokładnie przerabiam. Jeśli coś robię źle to mam nadzieje że mnie poprawicie. Jeśli dobrze to mam nadzieje że komuś się przyda. 1.Import projektu lpc1114_blink_led i rename na stm32f0_blink_led 2. Zmiany...
assembler darmowy assembler embedded controller programowanie embedded
zawora kontrola ciśnienie paliwo zdjąć obudowę pralka candy kolorowa pasek
bateria parkside delonghi dynamica
Numeracja stron nieparzystych w Wordzie: 1, 2, 3... Parametry anteny satelitarnej Polsat w Niemczech: Hot Bird 13°E