Kompilowane pod asemblerem AVRasm2 od najnowszyego AVRStudio. Przeznaczenie pliku eep jest do wewnętrznego EEPROM mikrokontrolera, bez jego zaprogramowania robocik ma prawo wariować, z tego co wyczytałem w pliku źródłowym. To nie jest pod WinAVR, ewentualnie avrdude, ale trzeba czytać dokumentację jak się programuje EEPROM. Polecam : http://www.amwaw.edu.pl/~adybkows/elka/i...
Program jest przeznaczony do asemblacji w LA51, ale po drobnych zmianach poszedł w ASEM-51. Konkretnie - zmieniłem znaki = na equ w dwóch linijkach, o które asembler się pluł (definicje CODE_BASE i STACK_START). Za działanie nie odpowiadam.
Fuso, poniżej załączam plik z instruktarzem jak stworzyć projekt w Keil'u.
One są puste do czasu kompilacji. Pokaż ten plik zobaczymy czy się poprawnie kompiluje.
Napisz to w assemblerze i zawsze będziesz miał ten kod co chcesz. W innym wypadku przy zmianie wersji kompilatora (że już nie powiem kompilatora) kod mógłby tak czy tak wyjść inny. W najprostszy sposób to wyłącz optymalizacje podczas kompilacji, w pliku .lss dostaniesz kod assemblera, wciągnij go do procedury opóźniającej i potem wróć do kompilacji...
wygląda jak gotowe do kompilacji kompilatorem assemblera ;)
No to masz napisane co jest nie tak ;-) Jako nazwę zmiennej użyłeś słowa zarezerwowanego. Zmień nazwę z Table na np. Tablica. Ale to tylko warning. To drugie oznacza nieoczekiwany koneic pliku :P ALe to raczej nei jest nic pomocnego. Być może nie masz na końcu pliku nowej linii (po ostatniej linii należy jeszcze dać enter). A jeśłi to nie to to nie...
1. GNU ARM to najzwyklejsza paczka taka jak CodeSourcery, WinARM czy Yagarto, więc po co tego używać i po co to w ogóle roztrząsać? 2. CodeSourcery Lite jest darmowe. Jeśli nie jest wystarczająco darmowe, to wystarczy ściągnąć sobie źródła GCC i skompilować samemu [; Jest to możliwe, skrypty z Codesourcery to znacząco ułatwiają. 3. Niczym 4. Bo kompilujesz...
Jako że asembler jest z reguły samodzielnym niezależnym, i nie związanym z IDE programem wszelkie etykiety i makra są jego wyłaczną domeną. Generalnie etykiety i marka to jest inna droga przy kompilacji ale te rozważania wkraczają w naukę o kompilatorach/translatorach. Jeżeli assembler jest makto-assemblerem (dziś trudno o inny) to wszelkie maka są...
Ale słuchaj, czy ten program działa tak, jak sobie tego życzysz? Przy takim programie nie zobaczysz różnicy przy kompilowaniu z "Assemble ..." a bez tego. Pisałem Ci w poprzednim poście jaka jest różnica. Żeby sprawdzić czy program działa prawidłowo (i jak został poskładany) uruchom sobie debuggera. Tam najlepiej wychwycisz różnicę pomiędzy kompilacjami....
Wykorzystaj do kompilacji AVRStudio.
Witam. Ostatnio znow testowalismy nasz ukladzik no i jak to u mnie nie obeszlo sie bez problemow :) Chcialem uzyskac odp na pytania ktore tu wypunktuje. Prosze o pomoc. Bardzo pilne!! ;/ 1. Podczas kompilacji assemblera na hexa przy urzyciu orginalnego programu "Do.bat" wyskakuje ze potrzebne jest rozszezenie S03. Coz to za wydziwienie z tym rozszerzeniem?...
Poszukuję dobrego środowiska do programowania, kompilacji i debugera dla assemblera 51. Chciałbym programować kostki 51 przede wszystkim 89C2051. Z góry dzięki za odpowiedź.
sbi _SFR_IO_ADDR(TIFR), OCF1A Instrukcji sbi nie można używać w odniesieniu do rejestrów o adresie większym niż 32, zamiast tego należałoby w tym przypadku użyć: push r18 ; opcjonalnie ldi r18, (1<<OCF1A) sts _SFR_MEM_ADDR(TIFR), r18 pop r18 ; opcjonalnie Odkładanie na stos nie powinno być konieczne, gdyż rejestr r18 zgodnie...
No a czy w związku z tym wykorzystujesz te mniej znaczące? i Czy całość nie mogła by od razu na 8bit chodzić? Poza tym wrzuć może kod assemblera po kompilacji z c .
OCR0=0x20; /// podobno mozna zjechac do 0 i otrzymac fck/2 Zjechać może i można, ale chyba tylko do sprzętowego przełączania pinu. bo obsługa przerwania w 1 cyklu jest niemożliwa. void timer0_comp_isr(void) { PORTC ^= BIT(0); } Wrzuć co kompilator wyrzuca do assemblera do kompilacji. W sumie na obsługe jest 32 takty razem...
Niekoniecznie. Jeśli nadal mówimy o SAM7x, to sprawa nie jest taka prosta, ponieważ startup MUSI być w trybie ARM i jak sobie go skompilujesz w trybie thumb (pomijając już to, że w pliku są dyrektywy .arm i instrukcje ARM) to układ nie wystartuje. Z tego względu można mieć wszystko w ARM, ale jak chcesz mieć wszystko w THUMB, to startup i tak musi być...
natomiast dla MCS51 i PIC muszę poszukać, ale coś gdzieś takiego widziałem. Jest to SDCC, ktory zawiera w sobie jeszcze kilka innych architektur.Niestety caly czas zglaszane sa w nim calkiem powazne bugi dlatego nie jest zbyt pewny i trzeba sobie z tego zdawac sprawe (bez znajomosci assemblera podczas kompilacji sie nie obejdzie).
A może przy okazji, jak zobaczyć wynik kompilacji (assembler skomentowany kodem w C)? code::blocks/windows/mingw
Zobacz tu: C:\Program Files\Microchip\MPLAB IDE\Core o tu kazaliście mi zobaczyć... a tam jest MPLAB.exe wiec myslalem ze mam to odpalić... widocznie zaszło jakieś nieporozumienie... dodam, że w tym folderze nie utowrzył się plik *.hex prosze o pomoc... w jakich programach wy kompilujecie assemblera?
Czy wie ktoś skąd ściągnąć pełną wersję assemblera dla mikrokontrolera 8051. Najlepiej jakby to był turbo assembler. Niechce takich assemblerów które tworzą plik który wyświetla gdzie jest błąd. Ma to być assembler w stylu Turbo passcala. Odrazu przy kompilacji pokazuje gdzie jest błąd
Zeby zlikwidowac to : C:/Dev-Cpp/include/c++/3.4.2/backwar... warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header...
Do tego abyś mógł pisać w C(ponieważ z winavr jest avr-gcc) . AvrStudio to generalnie kompilator assemblera do którego można dołączyć możliwość kompilacji kodu napisanego C.
Bez komunikatów kompilacji nikt Ci raczej nie pomoże.
Ech .... . Jeśli cały kod jest w podobnym stylu , to ma prawo nie działać :( Na 6 linii kodu , aż 2 błedy :!: Piszesz z pamięci :?: A przerwania :?: Czy używasz w kodzie instrukcji assemblera :?: Zbyt mało danych. Piotrek
Nie no spoko zadnej sprzeczki nie zamierzam robic ;-).Assemblera znac trzeba, co do tego nie ma zadnych watpliwosci, jesli chce sie faktycznie umiec programowac uC.Po prostu przychodzi moment kiedy zapanowanie nad kodem assemblera staje sie uciazliwe i tu powinno wkroczyc C.Dodatkowo przesiadka na kazda inna rodzine jest duzo latwiejsza pod wzgledem...
Witam AT90S2313 obsługuje tylko LPM, natomiast ATTINY2313 obsługuje LPM, LPM Rd,Z jak i LPM Rd,Z+. Jeżeli wykorzystujesz ATINY2313 to znaczy, że źle zadeklarowałeś w AVR Studio typ procesora, bo kompilator wyraźnie pisze o błędzie dla AT90S2313. Pozdrawiam JarekC
Hej leniuszku, 1.Zdaje sie ze z wygenerowaniem kodu C z matlaba nie ma wiekszych problemow... nie mam w tej chwili matlaba pod reka, ale spojrz na: http://www.google.pl/search?hl=pl&q=%22m... drugi link juz jest calkiem ciekawy. Dalej masz jakis matcom matlab to c++ compiler...:) 6] Is there any automatic...
Na prawdę do kopiowania nie ma sensu zaprzęgać ASM. Można albo zrobić to właśnie tak, że "skompilować" BATa, albo poleceniem kopiowania plików czy to w TP/FreePascal czy TC++ czy QBASIC (jeśli ma się kompilator, do DOSa 5.0 był dołączony jedynie interpreter). Rozwiązań jest sporo w takiej sytuacji. Oczywiście kompilatory dla DOS! (nie mylić z kompilacją...
Witam Może moje pytanie wyda się głupie ... Z grzeczności ... nie zaprzeczę ;) ... ale potrzebuje prostego assemblera nie AVR studio. AVRasm Piotrek
Samo napisanie programu, kompilacja oraz wybranie odpowiedniego pliku przebiega prawidłowo. To dla obu języków assemblera i C, natomiast sam proces programowania mikrokontrolera działa dla assemblera. Programy napisane w języku c nie mogą zostać nawet zapisane w pamięci flash.
TASM i TLINK są częścią pakietu Borland Turbo Assembler. Jeżeli kurs jest o tej wersji assemblera, to raczej ciężko będzie zastosować inny kompilator/IDE. Nie chcę studzić Twojego zapału, ale w dniu dzisiejszym, assembler ma dość wąskie zastosowanie. Właściwie poza mikrokontrolerami, nie stosuje się assemblera w programowaniu komputerów. Zastanów się,...
Nie ma potrzeby aby vectors był osobno wydzielony. Tak akurat zrobił kol. Freddie, że oddzielił wektory do oddzielnego pliku. W zależności od tego skąd bierzesz te pliki to napotkasz się na różne podejścia w organizacji tych plików. Np Atmel ma rozbiegówkę i wektory przerwań w jednym pliku *.c. Nie ma jakieś potrzeby aby rozbiegówka dla Cortexów była...
Każde polecenie, czy to mnemonik Assemblera czy C, jest zamieniany do postaci binarnej podczas kompilacji do HEXa, kto się uczył na CA80 ten wie najlepiej, najpierw pisanie programu na karteczce, potem analiza całości i "kompilacja" z książeczką p. Gardynika i zamiana na kod binarny. Poczytaj po krótce http://mkropa.republika.pl/ca80.htm . Pozdrawiam
Niestety, nic prostego nie zrobisz. Możesz oczywiście diassemblować do kodu assemblera, ale nawet i po tym edycja i ponowna kompilacja jest bardzo trudna. Kod wynikowy po diasemmblacji nie wygląda tak samo jak ten orginalny (jeśli by był napisany także w asm) A jeśli był pisany w języku wyższego poziomu to połapanie się w tym kodzie może zająć lata...
MAIN: Mov SP,#SPVALUE i tyczy się #SPVALUE . Może trzeba coś zadeklarować na początku? SP - Stack Point /wskaznik stosu/ polecam lekture assemblera, w skrócie chodzi o to żeby przesunąć stos powyżej używanych rejestrów... Wystarczy że dodasz choćby coś takiego i będzie działać bez problemu.. SPVALUE DATA 032H
yyyy dziwny ten makefile, zwykle nie wywoluje sie assemblera bezposrednio, ale za posrednictwem gcc (flaga assembler-with-cpp) 4\/3!!
Najlepszą metodą jest samo-edukacja, jeśli się zastanawiasz czy taki kod czy przeformatowany jest szybszy - rób testy. Dla "hardcorów" - oglądaj kod w assemblerze po kompilacji. Ogólnie twoje pytanie jest bardzo nieprecyzyjne, to czy kod wykonuje się szybciej czy wolniej zależy od mnóstwa czynników! Rozdaj pamięci gdzie jest kod i gdzie są dane, wszelkie...
Piszesz w asemblerze następnie kompilacja ,oczywiście dla danego mikrokont jaki posiadasz ,wybierasz to opcjach kompilatora.otrzymujesz plik wynikowy i wysyłasz go do prtu pod który masz podpięty programator .Teraz już masz zaprogramowany układzik .A tera problemy dlaczego to niestety nic nie robi .Szukasz błędu poprawiasz i wracasz do kompilacji .Zeby...
sprzedając coś komuś, sprzedajesz urządzenie z wgranym softem (czyli instrukcjami assemblera) nie sprzedajesz programu napisanego (kodu) w C, bądz kodu avr-gcc, ale coś co powstało po kompilacji
Albo inaczej - dlaczego przy włączonych tych opcjach kompilacji program uC ląduje w DH bez SystemInit, a działa poprawnie _z_ SystemInit ? Wrzuć projekt (lub choć ten listing assemblera), albo udaj się do wróżki (;
cos jest zle w makefile, bo on ci wywoluje plik 'as' a przeciez ten plik zwie sie 'arm-elf-as'. inna sprawa jest to, ze w sumie w moim makefile pliki assemblera sa kompilowane i tak przez gcc z odpowiednia flaga... 4\/3!!
Dziękuję ale interesuje mnie również zagadnienie programowania mikrokontrolerów AVR w C bo chyba nie wystarczy znać sam język (dla pc) żeby programować procsory ale może się mylę. Wszystko czego nie wyczytasz w książce ANSI C, mósisz wyczytać z dokumentacji konkretnego kompilatora, bo wszystko co nie jest określone w ANSIC różni się w zależności od...
Wiesz programowanie w "C" to wystarczy że znajdziesz odpowiedni kompilator żeby zapisał Tobie program zapisany w "C" na język maszynowy. Ja niestety Tobie w tym nie pomogę bo osobiście wolę Assembler'a. Jak będziesz miał już plik *.hex (w języku maszynowym po kompilacji) to wgrasz to sobie do uC. Podałem Tobie rozwiązanie z AtMega bo w sumie do "C"...
Nadal twierdze, że to są za wysokie progi, pisanie własnego os'a to już nie zabawa w wypisywanie na konsoli "hello world". Znasz w ogóle assemblera? Jak stoisz z programowaniem w C? Bo mam wrażenie że nie dość dobrze, skoro nie potrafiłeś sobie poradzić z prostymi błędami (na dodatek czasu kompilacji!). Ja bym sobie to odpuścił... A tak btw... jakiej...
Witam. Może ktoś mi pomoże napisać funkcje w assemblerze, która po kompilacji i dodaniu jako zewnętrzny plik do projektu będzie działać w avr-gcc. Przykład taki znalazłem na stronie: http://winavr.scienceprog.com/avr-gcc-tu... Niestety w przykładzie tym funkcje nie mają żadnych argumentów, a mi zależy...
Czy powinienem coś jeszcze zainstalować? -> Nie przypominam sobie żeby jakiś tutorial coś o tym wspominał. Zapewne jakoś powinieneś zainstalować te "packi" o których mowa. Nie używam tej wtyczki, wiec nie mam tego problemu (; Zamiast w tutorialach (które mogą być nieaktualne), szukałbym jednak informacji na stronie domowej wtyczki do Eclipse'a. Jak...
brakuje ci biblioteki procedur autora tego programu, znajdziesz je na stronie
No tak, najprościej napisać "po co?" . Ja też poszukuję sensownego środowiska do programowania LPC2148 w asemblerze. No a moze powiesz mi ze to pytanie nie jest zasadne? Pisanie dluzszych kawalkow kodu dla ARMA w asmie jest malo zasadne jesli ma chodzic o "swiadomosc" czasu wykonywania bo uzyskanie takiej informacji przed kompilacja jest dla tych mikrokontrolerow...
...więc się zgadza wszystko... Wprost przeciwnie - nic się nie zgadza :!: K ma być 8 bitowa wartością wpisana do rejestrów 16-31 :) No właśnie , a Ty jako argument K , podajesz time , który to jest adresem(wskaźnikiem) do komórki pamięci RAM i na dokładkę , ten adres w procesie kompilacji nie jest znany , bo time jest zmienną lokalną. Argument K ,...
Edytor plus bat/skrypt do kompilacji scite - edytor ale ma fajne wyszukiwanie po plikach i przechodzenie między plikami. [url=http://www.scintilla.org/SciTE.html...
tylko nie sądzę, żeby kompilator chciał wyrzucać błędy przy próbie przypisania innych wartości a nawet jeśli to jaki to ma sens? na etapie kompilacji to dane zawsze można poprawić, a chyba chodzi o kontrolę w czasie działania programu..? Kompilator może rzucić błędem i takie rzeczy stosuje się właśnie do kontroli podczas pisania programu. Jak ktoś...
to skoro padła odpowiedz jak poradzić sobie z problemem to powiem co poszło nie tak. w językach kompilowanych, na przykład C oprócz zwykłej tablicy istnieje także statyczna czysta tablica. [syntax=c]const char tablica[liczba][/syntax] gdzie liczba to naprzykład [syntax=c]#define liczba 100[/syntax] podczas przejścia preprocesora jak kompilator widzi...
Plik *.S to plik assemblera. Należy go skompilować (do pliku obiektowego *.o) i zlinkować z pozostałymi plikami obiektowymi do pliku programu (*.elf). Komunikat jaki otrzymałeś pochodzi od linkera, a nie od kompilatora. Poczytaj trochę o kompilacji i linkowaniu. Tutoriali jest pełno, ja podam jeden: http://osworld.pl/kompilacja-w-gcc-krok-...
AVE... Obacz sobie Widziałem ten post i to porównanie, coś tam optymalizuje, ale bardziej ciekawi mnie czy faktycznie kod wykonuje się dużo szybciej (do nawet 400% - podobno). A co do objętości programu to widziałem że nawet wersja free generuje podczas kompilacji, obok pliku HEX, generuje też plik ASM. Plik assemblera, czy gdyby znać dobrze assemblera...
W bascomie łatwo można było zaprogramować obsługę I2C. A jak sprawa wygląda w WinAvr? Są jakieś biblioteki. czego mam szukać? Dodano po 50 Sprawa rozwiązana. Okazało się, że wystarczyło dopisać plik assemblera i2cmaster.S do makefile. Czyli jednak ta biblioteka umożliwia zaprogramowanie magistrali I2C. Temat zamykam.
~~ Odświeżenie ~~ Udało się! Wystarczyło zmienić plik Makefile na ten odpowiedni z wstawką odnośnie assemblera. Defozo Czy ktoś orientuje się czy można to zrobić w kodzie, bez pliku makefile? Bo chce sobie polączyc ta biblioteke z projektem VisualAVR.
Usuń wszystkie polskie znaki jakie są w komentarzach lub popraw je - wpisując na nowo - w edytorze AVR Studio. Widocznie tekst został zapisany jako UNICODE, którego AVR Assembler nie trawi.
właśnie ... z tym baskomem szybciutko się rozstałem po kompilacji średnio skomplikowanych programów które się nie mieszczą w procesorze (nie wspominając o wielkich programach i szybkości działania) a co do assemblera '51 to znam go też na wylot na te procki, które wymieniłem więc pocieszeniem dla mnie że nie muszę z niego rezygnować. Prośba: Czy ktoś...
Nie, gdyż wbudowany w AVR Studio assembler nie ma możliwości linkowania. Natomiast da się wykorzystać gcc do kompilacji programu w assemblerze. Tyle, że skadnia jest nieco inna i wymagałoby to przerobienia kodu. Innym rozwiązaniem jest kompilacja kodu w C z wygenerowaniem pliku assemblerowego, na który kod został przetłumaczony. Taki kod można włączyć...
Wnioskuję, że kompilacje dla LPC i SAM różnią się tylko 2 plikami - stosownym plikiem w FreeRTOS i skryptem linkera. Gdzieś tam musi być coś zakręcone... No chyba że są też jakieś różnice w wywołaniach kompilacji lub w innych plikach. Musiałbyś wrzucić tutaj te dwa komplety plików, bo ciężko tak gdybać "na sucho". Jeśli na szybko chcesz sprawdzić, czy...
w skrypcie nigdzie nie ma dyrektyw ktore skompiluja twoj plik assemblerowy (albo ja jestem slepy), wiec ogolnie ten makefile jest zly. dodales plik assemblera do projektu? moze powinienes mu zmienic rozszerzenie na duza litere S (jesli jest male)? 4\/3!!
(at)JacekCz Kolego wybacz ale widzę że mało wiesz i starasz się trochę prześmiewczo coś udowodnić. Tak odnośnie braku precyzji w twojej wypowiedzi "Microsoft Visual Studio Express i Community, przefajny, wysoce standardowy C++. " Co to jest wysoce standardowy ? Kolego jak już wspomniałem mamy określone standardy C++. Do tego mówiąc o Visual Studio...
Mam nadzieję, że o to ci chodziło Bardziej mi chodziło o pomysł, nie o merytorykę i konkretną implementację. Pomysł uniezależnienie wykonywania od instrukcji "if". Przechodziłem podobne katusze w assemblerach, gdzie musiałem swego czasu wyliczać takty zegara z uwzględnieniem skoków warunkowych. Jak wspomniał kolega 'tmf' - tworzenie takich rzeczy w...
gwarantuje Ci ,że Bascom ma pojęcie o ATTinty12 .Jeśli znasz assemblera AVR to popatrz co wygenerował Bascom po kompilacji programu , który wyżej przytoczyłem. +0000002C: 9731 SBIW R30,0x1 Z pozdrowieniami dla prawdziwych Bascomowców Program może i poprawnie napisany ale jak Bascom tak się zna a Ty mi gwarantujesz to znaczy, że i Ty wykonasz za Attinego12...
aby edytować plik BIN musisz wiedzieć w jakim assemblerze był pisany przed kompilacją, wtedy możesz go desasemblować i w assemblerze coś pozmieniać, ale z tego co widzę 512KB nie będzie Ci tak łatwo ogarnąć. Więc nie wiem czy w ogóle jest sens...
Witam Posiadam plytke Embest LPC1700 na NXP1766. Jako srodowisko uzywam Keil MDK. Interesuja mnie programowanie w czystym asemblerze. Mam dwa problemy: 1. Kompilowanie w Keil. Zauwazylem, ze tam parametry kompilacji sa niezmienne poza obszarami pamieci. W czym problem. Chce skompilowac taki program: STACK_TOP EQU 0x20002000 ; constant for SP starting...
Dyrektywa $ASM jest używana razem z dyrektywą $END ASM, podczas tworzenia bloków kodu w języku asembler, umieszczanych jako wstawki w programach języka BASCOM BASIC. Zamiast używać tych dyrektyw, można także przed każdą linią zawierającą mnemonik postawić znak !. Większość mnemoników asemblera nie potrzebuje przedrostka !, gdyż są one rozpoznawane...
Sprawa jest prosta (?). Albo masz walnięty kompilator (nie znam dokładnie tego kompilatora ale możesz zapewne uzyskać wynik kompilacji w assemblerze, obejrzyj co robi kod odpowiadający za inkrementacje zmiennej) Albo inne operacje w ramach tej funkcji (te których nie pokazałeś) smarują tobie po stosie (jakieś operacje na wskaźnikach albo błędne rzutowania...
Jeśli chodzi o assemblera to nie będzie na pewno, przerabiałem i nie moja bajka.... logo o to dawne czasy...haha. Panowie tak to jest jak coś się chcę a za bardzo się nie wie jak. Błędy poprawione, chodziło o to co napisaliście.... Tylko teraz po wykonaniu żaden proces nie ma PID-u = 0, dlaczego ? [syntax=bash] proces macierzysty,PID1966 proces potomny,...
Owszem spróbuję tylko tutaj widać że kompilator wysypuje błędy takiego typu jakby próbował kompilować w języku C kod w języku assembler. Może trzeba coś zmienić w winavr?
wektor przerwania jest w pamięci FLASH - jak więc chciałbyś go zmienić? Wiem, że to niemożliwe dlatego pisałem o uzyskaniu efektu podobnego do nadpisywania wektora. możesz użyć do definicji tych funkcji atrybutu always_inline Dziękuję, właśnie coś w tym stylu miałem na myśli. Jestem po pierwszej próbnej kompilacji i kod (assembler) wygląda świetnie....
A byłeś na stronie producenta tych modułów? http://www.propox.com/products/t_134.htm... Tam masz wszystkie narzędzia, przykładowe programy itd. A jeżeli w C/C++ jesteś zielony to polecam najpierw zapoznać się z podstawami C/C++ na PC (możliwość bardzo szybkiej kompilacji/testowania/debugowania/profil... a dopiero jak będziesz miał jakieś podstawy...
Do edycji źródeł od dłuższego czasu używam darmowego programu Crimson Editor. Obecnie jest kontynuowany jako Emerald Editor. Rozpoznaje składnie, umożliwia zaznaczanie kolumn tekstu, ogólnie posiada wszystkie potrzebne do tej pracy funkcje. Instalujesz Crimson Editora, rozpakowujesz ASEM'a do dowolnego katalogu, nie polecam spacji i polskich literek...
Nie wiem, czy to tu wpisać, bo jak próbuję, to co Freddie to wywala błąd podczas kompilacji. Wstawiam tu domyślne opcje, które skopiowałem z programu przed zmianami: arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin"; arm-none-eabi-size "${BuildArtifactFileName}"
Arduino jest oparte o Atmege, więc program wgrywany do mikrokontrolera jest w postaci kodu maszynowego i po zgraniu da się przekonwertować go do assemblera. Przez ustawienie odpowiednich fusebitów można zablokować możliwość programowania atmegi, co uniemożliwi zgranie oprogramowania. Nie wiem czy jest możliwe ustawienie fusebitów z poziomu arduino czy...
Bo pomimo, ze program jest w assemblerze to do skapilowania wymaga zapewne WinAVR. Wyglada to na assembler z gcc.
Mimo, że wszystkie polecenia sterujące wyświetlające napisy ("esencja" programu) mają kilka-kilkanaście linii, to definicja czcionek napewno powyżej setki... Nie jestem pewien, czy chodzi tutaj o sto linii Basic'a czy assemblera (czyli kodu). Kiedyś kompilowałem nieduży program, ale "spuchł" w finale ponad wersję demo. Czcionki do Nokii to tablica...
Wszystkie te których używam (sqrtf(), powf(), acosf()) są liczone przez FPU? Niekoniecznie. W Newlib (czyli libm.a) nie ma implementacji specjalnie dla tego koprocesora, jednak jeśli masz włączoną optymalizację, skonfigurowane FPU (opcje kompilacji) i dodaną flagę -ffast-math, to kompilator niektóre z nich potraktuje jako funkcje inline i zastąpi odpowiednimi...
zamiast funkcji [syntax=cpp]void move_lewo()[/syntax] musisz miec [syntax=cpp]void move_lewo(void* Args)[/syntax] void* to nie to samo co void. void oznacza brak, void* oznacza wskaznik na cokolwiek. void ma 0 bajtów void* ma rozmiar int (czasami bedzie 4 bajty czasami 8 bajtow) void* to sposób wskazników który nie ogranicza Cie w typach, może on wskazywać...
Przesyłam garść konstruktywnej krytyki. Bisz stworzona aplikacja przy kompilacji programu tłumaczy go na język IL (czyli coś w rodzaju assemblera). Instrukcje w tej postaci trafiają do pamięci flash ATmegi. Pamięć flash podzieliłem na dwie sekcje (po 64kB). Jedną zajmuje oczywiście firmware, a do drugiej zapisywane są instrukcje programu. Firmware posiada...
Na avr/gcc jeszcze nie próbowałem, ale jak mi tzreba cos podobnego na innych środowiskach, robie w C pustą funkcję o odpowiedniej nazwie i liście parametrów, każę kompilowac nie do zbioru binarnego tylko do źródła w asemblerze (zwyklwe jest jakaś opcja) i mam szkielecik funckji kompatybilnej z C (jakby w zbiorze .s). Modyfikuję, przepuszczam programem...
Witam, Właśnie zaczynam przygodę z programowaniem w asemblerze bo od września będę się uczył tego w szkole dlatego chcę poznać podstawy do tego czasu i mam pewien problem korzystam z kompilatora FASM jest moim zdaniem bardzo dobry bo jest windowsowy wszystko jest w oknie nie ma żadnych problemów kod jest bardzo przejrzysty i czytelny jest idealny do...
Witam, program ma na celu obliczanie silni, musi on być napisany w języku C z wstawką assemblera AT&T obliczającą samą wartość silni. Kod wstawki: __asm__( "movl $1,%ecx\n" "movl $1,%eax\n" "movl _n,%edi\n" "petla:\n" "mull %ecx\n" "incl %ecx\n" "cmpl %edi,%ecx\n" "jna...
Z języka wyższego poziomu na niższy można, ale odwrotnie nie bardzo. HEX to już plik wynikowy po kompilacji dla programatora. Zostaje zapoznać się z assemblerem.
Tak, pliki .inc są to pliki dla Assemblera. W C stosuje się plik avr/io.h, w którym na podstawie wybranego w opcjach projektu procesora dołączane są odpowiednie pliki nagłówkowe z rejestrami. Reasumując - w języku C plik inc jest zupełnie zbędny. Dalej drobna uwaga - nie definiuj F_CPU w pliku main - zrób to w opcjach projektu.
A zobacz jak będzie wyglądał assembler z flagą -fsingle-precision-constant
Witam, chcę przerzucić gotowy i na 100% działający program napisany w środowisku IAR do środowiska Crossworks. Całość jest napisana w assemblerze. Podczas kompilacji w Crossworks wylatują błędy dla prawie każdej linijki postaci "no section selected". Nie wiem jak sobie z tym poradzić i dlaczego taki błąd się pokazuje. Macie jakieś pomysły?
Mam zainstalowane Eclipse Która wersja? Czy masz zainstalowany GNU ARM Eclipse Plugin? Bez niego ten projekt nie zadziała. Problemów szukaj więc w konfiguracji Eclipse/CodeSourcery/GNUArmEclipsePlugin... Wczytałem ten "template" i się bezproblemowo kompiluje (w konfiguracji Debug). W konfiguracji Release (optymalizacja) występuje błąd: Jeśli podczas...
Przykładzik dla STM32F4 (skonfigurowany pod płytkę STM32F4DISCOVERY) jest już udostępniony - tam gdzie zwykle -> http://www.freddiechopin.info/ > Download > Przykłady Układ jest standardowy, nie kombinowałem z pamięcią CCM czy innymi tego typu cudami... Troszkę zmienił się Makefile (dodające się automatycznie "-D" do definicji i pole dla definicji globalnych...
dekloarowanie zmiennych w dowolnym miejscu to nie jest wymysl AVR GCC albo nawet GCC, tylko standard C99 (oficjalny), mozesz w opcjach kompilacji to wylaczyc (zmienic na standard C90). uint8_t to rowniez kwestia nowego standardu i nie wiem co ci w tym przeszkadza, skoro wystarczy nie dolaczac naglowka stdint.h (STanDard ...) i po sprawie. chcesz zamknac...
Zgodnie z Twoją sugestią postanowiłem skorzystać z Eclipse + GCC. Dlatego pobrałem Eclipse Kepler i do tego dodatek http://obrazki.elektroda.pl/3952580500_1... http://obrazki.elektroda.pl/9612864800_1... Otworzył mi się jakiś przykładowy programik, (w opcjach parametry dla kompilatora, linkera i assemblera są też już...
Jak już pisałem są inne opcje, oprócz -Os, które powodują dalsze zmniejszenie kodu... Co do dołączania plików - najprościej sobie to wyobraź w ten sposób, że include powoduje, że w miejscu w którym jest nagle pojawia się cały plik, który includujesz - coś jakby copy/paste. Jeśli pliki są dodawane do makefile to są kompilowane oddzielnie jako oddzielne...
Bardzo fajny kawałek porządnej pracy projektowej. Gratuluję też przyjętego wyzwania robienia tego w asemblerze. Też byłem kiedyś taki assemblerowy, ale już mi przeszło. I nie żałuję. Co do projektu to ładnie że zrobiłeś porządną detekcję synchroniczną, jako że to metoda świetna do takich celów. Bo niestety nie jest to regułą, nawet w komercyjnych wyrobach....
Doszedłem do rozwiązania, w asm piszę program, jako global _nazwafunkcji, później w c++ dołączam go w ten sposób: #include <stdio.h> #ifdef __cplusplus extern "C" { #endif extern int _suma (int a, int b); /* deklaracja funkcji zewnętrznej */ int suma (int a, int b); /* prototyp funkcji */ #ifdef __cplusplus } #endif int main() { printf("%d\n",...
W makefile zadeklarować typ układu i taktowanie? edycja - a nie, jest... tylko mnie dziwi to: error: MCU 'atmega32a' supported for assembler only
nie jest to discovery tylko z propoxa mozna wyslac pojedyncze znaki tylko petla while nie dziala - zostaje ominieta podczas kompilacji przez kompilator (tak, widze to w assemblerze)
Wiem że zabawy z biosem są niebezpieczne. No więc chce się pobawić z biosem płyty głównej, a zarazem zrozumieć podstawy działania komputerów i innych maszyn. Rozumiem, że bios jest pisany w języku assemblera. Bios jest to system, jednak nie znam listy rozkazów czipsetu nForce 1. Czy program IDA poradzi sobie z translacją z języka maszynowego na język...
Domyśliłem się nie wiem czy słusznie że to program na AT90S2313 i na taki procek skompilowałem to w AVR studio. Oto folder z plikami utworzonymi po kompilacji
Nic nie zmieniałem od tego czasu. Jakieś tam pierdółki. Ale na 100% to byłą wina CMSISa. Wcześniej Hard fault latał na prawo i lewo. Od czasu zmiany na nową wersję nie było już żadnego problemu. A udało mi się uruchomić ADC i DAC'a od tego czasu. Wcześniej dla O0 nie było błędu kompilacji natomiast dla O1 i O2 były. Przeczytaj wcześniejsze posty tam...
kompilator assemblera nauka assemblera programowanie assemblera
scenic komputer wspomaganie laguna wyciek oleju pompy wspomagania
Seat Leon 2 1.4 TSI 2008 – nierówna praca silnika po zimnym starcie, rozrząd, nagar, zapłon Spadek baterii w KuKirin G2 Pro przy przyspieszaniu