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...
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)....
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.
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.
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,...
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 ?
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...
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ę...
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...
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...
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...
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...
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...
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 -...
... 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...
Hej. Od roku pisze w Assemblerze pod IAR'em dla MSP430. W razie czego też mogę pomóc.
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...
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...
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...
(at)All Czeski błąd. Miałem oczywiście na myśli naked bo taki atrybut tam dałem a nie weak. "Oczywista omyłka pisarska" Co do reszty startup i cały "szkielet projektu" to jak się można domyśleć gotowiec. Nie pamiętam już skąd go wziąłem. Czy to jest z jakiegoś kreatora z Eclipse czy ściągnięte z internetu bo to było dość dawno temu. W tym projekcie...
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
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...
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.
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...
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...
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)...
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...
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...
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...
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...
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:...
...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ć....
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...
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ć...
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...
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...
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...
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...
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ć...
Mnie właśnie przydałby się sam scheduler, bo koncepcja działania peryferiów często bardzo zależy od użytego układu i samego projektu. Może powinieneś rozdzielić ten projekt na dwa, jeden to czysty scheduler i drugi projekt to cały system który z kolei jest oparty o ten pierwszy projekt. Zauważ, że im bardziej rozbudowany będzie ten projekt, tym trudniej...
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,...
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...
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,...
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...
Robiłem tak ale po skompilowaniu są inne błędy [cc] C:\Users\Grzesiek\AppData\Local\Temp... Assembler messages: [cc] C:\Users\Grzesiek\AppData\Local\Temp... Error: selected processor does not support Thumb mode `vstmdbeq r0!,{s16-s31}' [cc] C:\Users\Grzesiek\AppData\Local\Temp...
Oto i plik konfiguracyjny: [syntax=c] /* FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd. All rights reserved VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. This file is part of the FreeRTOS distribution. FreeRTOS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public...
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...
Hej, przeanalizowałem zamieszczone przez Freddiego linki i mam do nich parę uwag: http://www.elektroda.pl/rtvforum/topic13... Temat jest poświęcony konfiguracji środowiska - co dla mnie w sumie w tej chwili jest sprawą drugorzędną - używam Vima, więc nie odpowiada to na moje pytanie dotyczące inicjalizacji procesora. http://www.elektroda.pl/rtvforum/topic13...
Według mnie nauki nie powinno się zaczynać ani od C ani od C++, że tak powiem są to języki "nieprzyjazne" dla wszystkich którzy zaczynają się ich uczyć, a co mówić dla kogoś kto nie miał żadnego kontaktu z programowaniem. No, ale my nie mamy wpływu na to co rodzi się w głowach ludzi którzy ustalają materiał przerabiany na zajęciach. Co więc Twoim zdaniem...
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...
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...
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...
Witam, Frieddie dzięki za odpowiedź. Mam kolejny problem. W eclipsie wyskakują mi takie błędy: http://obrazki.elektroda.net/65_12610988... http://obrazki.elektroda.net/14_12610988... W projekcie używam takich plików: startup.c /***************************************... * Copyright (c) 2009...
Witam. Mam zestaw stm32f429zi DISCOVERY. Chciałbym połączyć ten zestaw z simulinkiem. ### Real-Time Workshop build procedure for method: 'entry ### Starting build procedure for model: led ### Starting Real-Time Workshop build procedure for model: led ### Model connectivity is: normal ### Create verification block: None ### Check...
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...
Bo ten program jest zły! Cortex-M3 pod konkretnymi adresami oczekuje konkretnych rzeczy - na samym początku flasha - wartości dla SP, potem adresu (adresu! nie instrukcji!) wektora obsługi wyjątku reset itd. Zapomnij o takim prostym programiku - to tak po prostu nie zadziała. Potrzebna Ci jest tablica wektorów, potrzebny Ci jest "normalny" skrypt linkera...
Generalnie to pobrałem skrypt linkera i plik startup ze strony http://www.freddiechopin.info. W datasheet i manualu znalazłem adres pierwszej strony pamięci flash i SRAM, która jest "rozbita" na 96KB i 32KB. Zmieniłem w oparciu o te informacje skrypt linkera. Czy zrobiłem to dobrze? Nie wiem. Poniżej: Skrypt linkera: [syntax=c] /***************************************...
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...
Witam Serdecznie, Poszukuję osób, które chciałyby rozwijać się zawodowo w obszarze związanym z elektroniką - prorejktowanie i uruchamianie układów elektronicznych w nowym zakładzie produkcyjnym na terenie województwa opolskiego na kluczowym stanowisku. Wymagane doświadczenie w systemach mikrokontrolerowych embedded. Osoby zainteresowane rozwojem w tym...
HRK jest jedną z największych i najbardziej doświadczonych polskich organizacji doradczych z obszaru zarządzania kapitałem ludzkim. Dostarczamy naszym klientom rozwiązania potrzebne na każdym etapie cyklu życia pracownika w organizacji – od rekrutacji i employer brandingu, poprzez ocenę i rozwój pracowników, obsługę kadr i płac, aż po outplacement....
Aerialtronics , międzynarodowa firma z siedzibą w Hadze (Holandia) projektująca i produkująca bezzałogowe systemy latające poszukuje obecnie kandydatów na stanowisko Senior Embedded Software Design and Developer with strong FPGA experience. Osoby zainteresowane szczegółami oraz przesłaniem dokumentów aplikacyjnych (w j. angielskim) proszone są o kontakt...
assembler darmowy assembler embedded controller programowanie embedded
sonda hydrostatyczna schemat pozycjoner kable rowerze
kablówka skrzynka matryca lsc320an02
Dlaczego grzejnik olejowy nie grzeje? Przyczyny i rozwiązania Konfiguracja routera do Neostrady: PPPoE, ADSL/VDSL