inline assembler

Znaleziono około 82 wyników dla: inline assembler
  • Jak dodać inline assembler (ASM) w kodzie C dla AVR-GCC w AVR Studio?

    Piszę takie coś asm(in r16,PINB); i też wywala błąd. Nie znam avr-gcc ale stawiam $100, że będzie tak: asm("in r16,PINB");

    Mikrokontrolery AVR   01 Lip 2011 13:23 Odpowiedzi: 6    Wyświetleń: 6284
  • REKLAMA
  • IAR Workbench - jak poprawnie zainicjować LCD w trybie 4-bitowym?

    Error asm("nop\n"); Nie wiem co masz za IAR-a , ale mój to kompiluje prawidłowo i nawet taką składnię rozumie asm("nop\nnop\n"); No to zamiast nop-ów użyj np. __delay_cycles(2) . Piotrek

    Mikrokontrolery   30 Lip 2007 11:55 Odpowiedzi: 11    Wyświetleń: 1745
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • W jaki sposób z c odwoływać się do flag mikroprocesora ?

    Tzw. inline assembler: http://www.nongnu.org/avr-libc/user-manu... i pdf: http://www.stanford.edu/class/ee281/proj...

    Programowanie   29 Lis 2007 21:46 Odpowiedzi: 10    Wyświetleń: 1964
  • C++: Błąd kompilacji w Dev-C++ 4.9.9.2 przy użyciu inline assemblera

    GCC (którego używa DevCpp) nie obsługuje/obsługuje zupełnie inaczej kod assemblerowey wewnątrz funkcji (inline assembler). Dla Buildera/Visual C++ ten kod jest w zasadzie poprawny. #include <cstdlib> #include <stdio> using namespace std; void zapisz(char); int main(int argc, char *argv[]) { char liczba; printf("Wpisz...

    Programowanie   06 Mar 2005 17:17 Odpowiedzi: 6    Wyświetleń: 1677
  • [STM32][C Keil RealView] ISIX-RTOS - czy ktoś go kompilował?

    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...

    Mikrokontrolery ARM   14 Sty 2014 11:31 Odpowiedzi: 13    Wyświetleń: 4530
  • REKLAMA
  • C++ Cortex-Mx - C++ i lużne dywagacje na starcie...

    Nie prościej tak nie kombinować? Funkcje zdefiniowane wewnątrz definicji klasy (zwykle w nagłówku) są domyślnie traktowane jako z atrybutem "inline" i po co kombinować więcej? A już jakieś atrybuty "always_inline", to prosta droga to zabawy w assembler++, bo skoro kompilator uznał, że inline'owanie nie ma sensu, to zapewne tak właśnie jest.

    Mikrokontrolery ARM   29 Maj 2015 10:52 Odpowiedzi: 38    Wyświetleń: 2823
  • REKLAMA
  • AVRGCC i asembler: Jak dodać procedurę przerwania w ATmega8535?

    Wstawki asemblerowe w AVRGCC można umieszczać w programie po instrukcji "asm volatile", zresztą najlepiej przeczytaj sobie "GCC-AVR Inline Assembler Cookbook" - znajdziesz go pod tym adresem: http://www.stanford.edu/class/ee281/proj... Pozdrawiam.

    Mikrokontrolery   09 Lip 2012 17:42 Odpowiedzi: 14    Wyświetleń: 4358
  • Jak w C przypisać zawartość rejestru r16 do zmiennej na AVR?

    Zamiast pytać o to jak odwołać się do tego rejestru (co prawda można tworząc zmienną przez jakas_zmienna >>= 1; if(PS_WEJ&0x01) jakas_zmienna |= 0x80; nie tracąc na szybkości (3 cykle przy rejestrze IO dostępnym przez sbic/sbis, 3 przy innym rejestrze [sbrc/sbrs], 5 przy komórce pamięci). Ze względu na skrajny bit można to zoptymalizować,...

    Mikrokontrolery AVR   02 Sty 2009 13:07 Odpowiedzi: 3    Wyświetleń: 1847
  • [ARM-Assembler] Jak zacząć naukę ARM Assembler na STM32F103VET?

    asm cortexa-m3 jest naprawdę prosty. wystarczy się zapoznać z dokumentacją, którą producent rdzenia udostępnia. Ja pisałem całe funkcje w tym asmie, bo inline assembler nie jest obslugiwany w keilu dla rozkazów thumb2 (nie wiem czemu, czasami byloby wygodnie). Często jednak jest tak, że kod C wygenerowany przez kompilator jest jednak lepszy niż to,...

    Mikrokontrolery ARM   13 Lip 2011 10:06 Odpowiedzi: 20    Wyświetleń: 12583
  • Wielkość zmiennych w avrgcc: int, int16_t, float, double w avrlibc

    gaskoin- to jeszcze- gdzie to jest? No i to: "It may be removed in a future release". No i szukam w manualu- i nic. User manual 1.7.0 No i nie mogę znaleźć: * Toolchain Overview * Memory Areas and Using malloc() * Memory Sections * Data in Program Space * avr-libc and assembler programs * Inline Assembler Cookbook * How to Build a Library * Benchmarks...

    Mikrokontrolery AVR   12 Kwi 2011 19:42 Odpowiedzi: 7    Wyświetleń: 1997
  • Avr wstawka assemblerowa. Sposób wskazywania właściwej komórki w tablicy.

    Ciągle możesz to zrobić, tylko użyj innych rejestrów, które są wolne. Tu masz o wstawkach: http://www.nongnu.org/avr-libc/user-manu... Inna sprawa, że może źle wybrałeś procesor, lepiej pewnie by poszło z XMega, raz, że działa do 32MHz, a dwa, że ma DMA, które może wyrzucać dane na DAC, bez konieczności robienia tego programowo. Co do...

    Mikrokontrolery AVR   17 Maj 2011 11:36 Odpowiedzi: 5    Wyświetleń: 1740
  • REKLAMA
  • AVR: Nieskuteczne zapisywanie do EEPROM w C, działające w asemblerze

    To nie tak. Jak chcesz używać AVR Studio to musisz używać ich funkcji do zapisu / odczytu EEPROM-u. Funkcje kompilatora są napisane jako inline assembler i zapewniają, że opóźnienie między wystawieniem bitu Write Enable i zapisem (lub odczytem) będzie mniejsze niż 4 cykle. Jeżeli sam robisz taki zapis w C, to kompilator generuje ci więcej kodu i warunek...

    Mikrokontrolery AVR   03 Kwi 2009 08:07 Odpowiedzi: 6    Wyświetleń: 3007
  • Jak utworzyć pierwszy projekt w Keil 3 dla AT91SAM7S64?

    jako "plik" ;] Dodano po 2 No tak jak zasejwowalem plik z koncowka *.c to jest juz lepiej czyli kod nabral kolorow ale dalej mam bledy . moze ktos mi powie co jest nie tak w takim krotkim kodzie #include <at91sam7s64.H> int main() { __asm { ADD R7,R6 ; sum up } return 0; } Bledy ktore pokazuje kompilator to : Build...

    Mikrokontrolery   10 Sty 2009 10:39 Odpowiedzi: 18    Wyświetleń: 6786
  • [LPC1768] [LPC1768][C/Keil] Błąd kompilacji makra LPC_ i funkcji wait() z __ASM(nop)

    W pliku lpc17xx.h są zdefiniowane wszystkie makra odwołujące się do rejestrów peryferii, tak np. [syntax=c] /*------------- General Purpose Input/Output (GPIO) --------------------------*/ typedef struct { __IO uint32_t FIODIR; uint32_t RESERVED0[3]; __IO uint32_t FIOMASK; __IO uint32_t FIOPIN; __IO uint32_t FIOSET; __O uint32_t FIOCLR; } GPIO_TypeDef;...

    Mikrokontrolery ARM   29 Kwi 2012 11:57 Odpowiedzi: 5    Wyświetleń: 3668
  • Atmega128L i SRAM BS62LV1024 - Jak poprawnie podłączyć i używać pamięć?

    "r" od "=r" różni się tym, że "r" jest stosowane przy wejściu (po drugim dwukropku), a "=r" przy wyjściu (po pierwszym dwukropku). Zmienne tymczasowe dawałem jako wyjściowe ze wstawek aby kompilator nie czepiał się do niezainicjalizowania zmiennej. Jeśli chcesz mieć zmienny adres, to nie możesz korzystać z sts, które zapisuje pod stały adres. Jeśli...

    Mikrokontrolery   29 Lip 2008 12:05 Odpowiedzi: 25    Wyświetleń: 3486
  • Zrozumienie wstawki assemblerowej w kodzie C - AVR 8 bit

    Lektury na początek: https://www.nongnu.org/avr-libc/user-man... http://ww1.microchip.com/downloads/en/de...

    Programowanie Początkujący   15 Mar 2022 18:58 Odpowiedzi: 4    Wyświetleń: 363
  • Błąd linkera w Dev CPP przy wstawkach asm - undefined reference

    Assembler nie zna port_addres i port_data. Musisz to przekazać jako argumenty do funkcji ASM, które umieszcza się po dwukropku. Zobacz tutaj są przykłady: http://www.ibiblio.org/gferg/ldp/GCC-Inl... Inny sposób to oczywiście to taki jak kolega napisał powyżej, ale nie jest to całkowicie uniwersalne, bo będzie to działać tylko do...

    Programowanie   25 Paź 2009 22:15 Odpowiedzi: 3    Wyświetleń: 1224
  • [C/ASM] [C/ASM][CORTEX-M3] - Jak przypisać zmienną C do rejestru R0?

    Tak się składa, że wiem, że R0 jest wolny a każdy inny zajęty. Dziś jest wolny, jutro jest zajęty - obyś się nie przejechał. No i coś takiego nie działa, bo zmienna StackPointer Działa - potem R4 będzie przepisane do R0 żeby prawidłowo zwrócić wynik. jest ładowana do R4, który to ma być zrzucony instrukcją STMDB Wstawki assemblerowe są dużo bardziej...

    Mikrokontrolery ARM   30 Mar 2013 11:20 Odpowiedzi: 10    Wyświetleń: 1851
  • Jak działa _delay_loop_1 w delay.h AVR GCC? Wyjaśnienie wstawki asemblerowej

    Z opisu funkcji wynika, że pętla używa 8-bitowego licznika. Gdzie w tej funkcji jest odniesienie do licznika.? W tej linii: dec %0 Po prostu jeden z rejestrów jest używany do odliczania opóźnienia i dlatego został "przezwany" licznikiem. Nie ma to nic wspólnego z fizycznymi licznikami/timerami. O wstawkach assemblerowych możesz przeczytać w manualu...

    Mikrokontrolery   30 Cze 2009 08:40 Odpowiedzi: 2    Wyświetleń: 2507
  • [Visual C++] Jak poprawnie wstawić kod asemblera w Visual C++?

    eh... minuta szukania w helpie: C++ Language Reference Writing Functions with Inline Assembly Using C or C++ in __asm Blocks Microsoft Specific If you write a function with inline assembly code, it's easy to pass arguments to the function and return a value from it. The following examples compare a function first written for a separate assembler and...

    Programowanie   02 Lut 2004 00:55 Odpowiedzi: 5    Wyświetleń: 5425
  • [AVR] Jak wywołać procedury asm z C dla obsługi LCD 2x16 na AVR?

    Dokladnie tak samo. Pliki naglowkowe udostepniaja prototyp funkcji, na etapie kompilacji nic wiecej nie jest potrzebne. Dopiero linker to sklada razem, wiec zeby potrafil polaczyc twoj kod z tym w asm, musisz w asmie wyeksportowac nazwy publiczne (widziane w innych modulach) dyrektywa .global. Ale tu pewien bol jest - jesli obsluge LCD masz napisana...

    Mikrokontrolery AVR   10 Sty 2010 23:21 Odpowiedzi: 9    Wyświetleń: 2880
  • [DELPHI] Lazarus na Windows XP - Błąd kompilacji windres.exe, jak naprawić?

    Ścieżki:: $(ProjOutDir)\ reszta pusta Analiza:: Tryb.. :Object Pascal - deflaut.. zaznaczone opcje skladni: operatory w stylu jezyka C.., Pozwalaj na instrukcje LABEL, GOTO (-si), INLINE w stylu C++, Assembler style: domyslne Kod:: OPtymalizacje - Poziom 1; reszta odznaczona, Łączenie:: zaznaczone tylko Wyświetl numery lini.., Aplikacja graficzna win32.....

    Programowanie   01 Wrz 2010 18:37 Odpowiedzi: 6    Wyświetleń: 3030
  • Jak napisać procedurę przerwania w assemblerze bez prologu i epilogu w AVR GCC?

    No ale co masz za problem z tym inline?

    Mikrokontrolery AVR   04 Lut 2010 22:27 Odpowiedzi: 17    Wyświetleń: 1779
  • Błąd GCC przy wstawkach assemblera w funkcji delay w AVR Studio

    Tak opisane są wstawki w manualu do GCC i nie tylko... tak też się pisze ;) http://www.nongnu.org/avr-libc/user-manu... ale dzięki za chęci Pozdr

    Mikrokontrolery   03 Kwi 2008 16:23 Odpowiedzi: 9    Wyświetleń: 1178
  • Jak przenieść kod asemblera AVR223 (IAR) do GCC dla filtru IIR Czebyszewa II rzędu?

    http://www.nongnu.org/avr-libc/user-manu... http://www.nongnu.org/avr-libc/user-manu... Chcesz to przenieść do avr-gcc? Czy do asemblera? Jeśli do gcc to prościej stworzyć plik .S i dołączyć go do projektu - w plikach .S stosuje się notację praktycznie taką samą jak w asemblerze AVR, jedyne co musisz uwzględnić przenosząc...

    Mikrokontrolery AVR   25 Cze 2015 07:14 Odpowiedzi: 9    Wyświetleń: 1164
  • [C] Czy funkcja 'inline' w C może korzystać ze zmiennych lokalnych wywołującej?

    Dla mnie zmienia. Nie zmienia. Semantyka kodu pozostaje identyczna. Piszesz o optymalizacjach, tym się zajmuje optymalizator. Jeśli jest sprytny, to być może użyje zmiennych ze stosu funkcji wywołującej, a jeśli się nie da, to i tak zaalokuje nowe zmienne na stosie. Ty nie masz nad tym bezpośredniej kontroli, możesz co najwyżej kombinować z flagami...

    Programowanie   17 Lis 2014 16:14 Odpowiedzi: 5    Wyświetleń: 1008
  • Assembler - Jaki program do pisania i kompilacji zamiast TASM i TLINK?

    No nie przesadzajmy, nie jest aż tak źle. Systemu operacyjnego nie musisz znać w całości, bo chyba nikt nie używa wszystkich jego funkcji, przynajmniej świadomie. Inna rzecz, ze jak już zaczniesz coś robić to ci się nie spodoba to co daje SO i zechcesz sam napisać jakiś mały kawałek lepiej, zwykle z powodzeniem. Kilka zastosowań assemblera jednak się...

    Programowanie Początkujący   28 Lut 2015 11:41 Odpowiedzi: 12    Wyświetleń: 3927
  • Uruchamianie zaawansowanych aplikacji C++ na mikrokontrolerach

    Szkoda że im większą popularność zdobywają mikrokontrolery tym więcej powstaje środowisk typu "nic nie musisz wiedzieć by zacząć programować". Bo ja wiem. Ja tam jestem zadowolony z faktu, że w Atmel studio mogę napisać normalny program w pełni obiektowy na małego attiny2313 zamiast męczyć się w assemblerach czy kombinować w C. Przejrzystość kodu i...

    Artykuły   14 Wrz 2021 10:55 Odpowiedzi: 25    Wyświetleń: 3282
  • Assembler a C++ czyli wybór szybciej czy taniej...

    Przy okazji przypomniało mi się, że nie warto wywoływać funkcji w przerwaniach (chodzi głównie o avr'y) - wywołana funkcja (według konwencji) może zmienić wartość rejestrów r0, r18-r27, r30, r31 oraz sreg Oczywiście dotyczy to jedynie funkcji łączonych zewnętrznie, tj. z biblioteki lub innej jednostki kompilacji. Funkcje statyczne w obrębie danego...

    Mikrokontrolery AVR   08 Wrz 2010 14:25 Odpowiedzi: 144    Wyświetleń: 21136
  • Pisanie programów i używanie bibliotek w C i Asemblerze

    Kto nie użył nigdy INLINE w C niech pierwszy rzuci kamień... No i miłej zabawy w procesy krytyczne czasowo robione w języku wysokiego poziomu. Niestety, ale najczęściej przerwania w ASM, a aplikacja w C (przynajmniej ja tak robiłem w czasach Borlandowskiego Turbo C). W pełni kontrolowalne miał przerwania, praktycznie z każdego rozkazu można było się...

    Mikrokontrolery   16 Gru 2016 02:36 Odpowiedzi: 260    Wyświetleń: 11505
  • ARM C startup na przykładzie wygenerowanego przez Cube

    Rozumiem, że nie dopuszczasz tutaj rozwiązań oferowanych przez CMSIS, które z poziomu pliku startupa są chyba jednak funkcjami "C". Chodzi Ci o te funkcje inline, wrappery na instrukcje assemblera? Jak kod w C może "przeżyć" że mu podmieniasz nagle stos na zupełnie inny? Nie żebym to sprawdzał, niemniej jednak wydaje mi się, że dowolne czary nie są...

    Mikrokontrolery ARM   26 Sty 2019 14:21 Odpowiedzi: 33    Wyświetleń: 2757
  • Błąd kompilacji w WinAVR przy użyciu biblioteki USBDRV i pliku main.c

    Witam , mam problem z kompilacją w WinAVR biblioteki USBDRV i pliku main.c . W innym projekcie gdziem mam taki sam plik Makefile i te same biblioteki wszytko się dobrze kompiluje a tu wywala mi błąd i nie mogę znaleźć przyczyny. W załączniku zamieszczam cały kod. Przy kompilacji wywala takie coś : D:\Projects\USB_avr2\usb_lpt>make... all avr-gcc...

    Mikrokontrolery AVR   08 Sie 2024 13:51 Odpowiedzi: 2    Wyświetleń: 150
  • [assembler] Jak skompilować wstawkę assemblera AT&T w języku C dla obliczania silni?

    Poczytaj tutaj: http://www.ibiblio.org/gferg/ldp/GCC-Inl... Do zmiennej odwołujesz się jako %0, %1 itp: const int c = 55; __asm__("movl %0, %%eax;\n\t" : /* bez operandów wyjściowych */ : "r"(c) /* c jest załadowane do dowolnego rejestru przed asm */ : "%eax" /* wartość EAX jest...

    Programowanie Początkujący   05 Sty 2011 00:07 Odpowiedzi: 1    Wyświetleń: 1637
  • Porównanie mocy obliczeniowej i energooszczędności PIC vs AVR

    chociaż assembler arma to juz dla mnie czarna magia wolę c/c++ Widzisz, bo tak naprawdę, to zasada powinna być taka: piszę cały program w C (ew. C++, jeśli to ogromny projekt), natomiast w pewnych, krytycznych miejscach, dajesz funkcję jako inline asm wstawkę. To najlepsze imho połączenie technologii :)

    Mikrokontrolery   08 Lip 2011 21:51 Odpowiedzi: 474    Wyświetleń: 45309
  • AVR Boot Loader - który ładnie i szybko działa / USB

    To normalne, że podczas kompilacji występuję ten błąd ? (wytłuszczona część kodu podana pod listingiem) C:\Documents and Settings\XyX\Pulpit\bootloader_c_oraz_pr... all avr-gcc -Wall -Os -I. -mmcu=atmega8 -D START_DELAY_SEC=5 -D UC=atmega8 -D BAUD=9600 -D F_CPU=8000000 -D BOOTSTART=0x1E00 -fno-inline-small-functions -fno-split-wide-types...

    DIY Konstrukcje   24 Sty 2017 17:21 Odpowiedzi: 252    Wyświetleń: 114723
  • ARM GCC. Cortex-M4. Funkcja w assemblerze. Parametry na stosie. Instrukcje specyficzne.

    No tutaj widać że masz zarezerwowane miejsce na stosie dla przekazywanych parametrów i nic nie jest "nadpisywane". Szczerze powiem nie wiem o co Ci chodzi. O to że spodziewałem się standardowego sposobu przekazywania parametrów, czyli kładzenia na stos (powodującego rozrost stosu). Tak przy okazji to jak dajesz taki kod do analizy to lepiej jak byś...

    Mikrokontrolery ARM   10 Cze 2021 18:50 Odpowiedzi: 9    Wyświetleń: 819
  • Atmega: Czy GPR przechowuje coś poza zmiennymi globalnymi? Co z przepełnieniem?

    Pisząc w C tego nie wiesz i wiedzieć nie będziesz (chyba, że zajrzysz w wygenerowany przez kompilator kod assemblera - co swoją drogą jest czasami przydatne). Nie wiem jak daleko działa REGISTER, ale prawdopodobnie kompilator patrzy bardziej na to jak na mocną sugestię niż 100% wymuszenie, bo co by zrobił gdybyś zrobił 20 zmiennych int jako REGISTER?...

    Mikrokontrolery   17 Paź 2011 19:18 Odpowiedzi: 13    Wyświetleń: 1805
  • ARM LPC2142 KEIL - Jak uruchomić przerwanie IRQ dla Timera?

    Hi Dzieki za komentarze poszedlem w druga strone i teraz instaluje zgodnie z http://vsdev.me/notes/setting_up_arm_gcc... Aha przywrocilem jeszcze z orginalnych przykladow static inline cpu_t get_cpsr(void) { cpu_t val; asm volatile ("mrs %[val], cpsr\n":[val]"=r"(val):); return val; } static inline void set_cpsr(cpu_t val) { asm volatile ("msr...

    Mikrokontrolery   22 Sie 2013 18:40 Odpowiedzi: 2    Wyświetleń: 1347
  • Przykładowe projekty ARM dla NXP LPC2103 i ST STM32F103RB w Eclipse

    Zachęcony opiniami z innych tematów postanowiłem dopisać jakie są plany na kolejny release tego przykładu Zasadniczo mam już gotowy "startup w C". Cudzysłowy dlatego, że niestety ta zabawa wymaga funkcji inline, które implementują jedynie rozkazy assemblera (takie jak MSR choćby), również pętle inicjalizujące .data i zerujące .bss są napisane obecnie...

    Mikrokontrolery ARM   21 Maj 2013 09:25 Odpowiedzi: 341    Wyświetleń: 101274
  • Jak przygotować procedury w assemblerze do użycia z include?

    opcja "include" w c jest zarezerwonana dla bibliotek c, zazwyczaj piszesz #include <cośtam.h> Jeśli wstawki asm mają być krótkie to proponuje komendę inline(); jesli dłuższe to możesz zastosować __asm; Jeszcze inna metoda , ale już ściśle zależna od konkretnego kompliatora to opjca linkowania plików *.obj :( ale nie zawsze działa tak jak chcesz...

    Mikrokontrolery   25 Lut 2008 10:20 Odpowiedzi: 19    Wyświetleń: 1908
  • Diagnozer joysticków (np. do Pegasusa) na Atmega 8

    Fajna konstrukcja, choć uważam, że z minionej epoki. (teraz załóżmy, że cofamy się z 10/18 lat) Mógłbyś przejść z takim urządzeniem na bazar używanego sprzętu i wybrać tylko działające joysticki i je sprzedawać xD, lub prowadzić szybką naprawę. Bardzo podobają mi się listingi binarnego kodu wraz z opisem, sam to robiłeś? W kontekście macie jakiś pomysł...

    DIY Konstrukcje   17 Lis 2015 21:57 Odpowiedzi: 4    Wyświetleń: 6645
  • Asembler/C - Kod startowy do freescale HCS08 - program nie wchodzi do main()

    Witam wszystkich, Próbuję się uporać z problemem od kilku dni, jednak nie bardzo wiem co jest nie tak, a mianowicie próbuje odpalić najprostszy program zmieniający stan na pinach: http://obrazki.elektroda.pl/2092017600_1... To jest stan po kilku kliknięciach step over, dodam że program potrzebuje 7 kliknięć step over aby zacząć się wykonywać...

    Mikrokontrolery ARM   12 Lis 2012 22:29 Odpowiedzi: 1    Wyświetleń: 1695
  • Wszystko o ARM (LPCxxxx) i programowaniu w asm i C.

    Użycie cyfr jako lokalnych etykiet masz tu: http://ftp.gnu.org/pub/pub/old-gnu/Manua... Jest to bardzo użyteczne w funkcjach assemblerowych do kodu w C jeśli potrzebujesz w nich etykiet i specyfikatora inline. {cond} LO jest równoważny CC. Albert

    Mikrokontrolery ARM   28 Lis 2009 17:35 Odpowiedzi: 141    Wyświetleń: 17212
  • ATMEL - Wybór narzędzi do programowania w asemblerze dla początkujących

    Nie, żebym chciał cię do czegoś przekonywać, ale: - obecnie assembler stosuje się tylko tam gdzie to ma sens - czyli na naprawdę małych prockach, np. ATTiny10, gdzie nawet jeśli by się dało coś w C zrobić to nie miałoby to sensu, lub wymagało takich manipulacji linkerem, że traciłoby to sens. Asembler stosuje się też tam, gdzie optymalizacja jest niezbędna,...

    Mikrokontrolery   02 Paź 2013 11:16 Odpowiedzi: 26    Wyświetleń: 5226
  • [8051] Jak wywołać procedury assemblera w C dla 8051 w SDCC i Eclipse?

    Z tego co widzę z MIDE nie da się. Jedyne wyjście to używania dyrektywy, które pozwalają zrobić w ciele funkcji (tzw. INLINE). sdas8051 -los asm_func.asm sdcc main.c asm_func.rel Wtedy w pliku asm_func.asm funkcja w asemblerze napisana przez Ciebie, a w main.c zawartość kodu w C. BTW. Może lepszy niż MIDE będzie dla Ciebie [url=http://mcu8051idesourceforge.net/pr...

    Mikrokontrolery   30 Sie 2011 20:48 Odpowiedzi: 5    Wyświetleń: 2889
  • Konwerter plików *.asm na C++ – czy istnieje narzędzie do automatycznej konwersji?

    Tu nie chodzi o zapotrzebowanie, fizycznie jest to trudne do wykonania. Zauważcie, że przy kompilacji, optymalizator dużą część kodu zjada, czasem tnie na kawałki i trochę go przekłada. Nigdy nikt nie będzie w stanie przetłumaczyć ASM na logicznie napisane C. Choćby z tego powodu, jaki podałem w tym poście wyżej, lub z takiego, że w asmie makra typu...

    Mikrokontrolery Początkujący   09 Kwi 2012 13:07 Odpowiedzi: 20    Wyświetleń: 3445
  • Debuger jako narzędzie marnujące czas programisty?

    Oczywiście że chodzi mi o optymalizację wprowadzoną przez kompilator, na optymalizację algorytmu przez użytkownika zawsze w jakimś stopniu chronią UT. Ja miałem problem właśnie z volatile, jakimś cudem kompilator zoptymalizował zmienną w dość niefortunny sposób co powodowało wywalenie się kodu. Co ciekawsze było to w examplu od ST a kompilowane pod...

    Projektowanie i Tworzenie Po godzinach   20 Lip 2018 20:36 Odpowiedzi: 58    Wyświetleń: 3060
  • XMega AVR - Jak zadeklarować indeksowaną zmienną bitową w C

    jeśli wolno na chwilę wtrącić coś bardziej podstawowego , Ja zadam jeszcze bardziej podstawowe pytanie. Te całe magiczne optymalizacje związane z próbami wymuszenia na kompilatorze inline'owania funkcji - one mają jakiś normalny cel? Czy Twój program działa zbyt wolno do REALNEGO zadania jakie przed nim postawiłeś? Może nie wyrabia się w rzeczywistej...

    Mikrokontrolery AVR   17 Gru 2016 00:04 Odpowiedzi: 106    Wyświetleń: 4392
  • [STM32F4][C] - Program wskakuje do _Default_Handler podczas acos() i pow().

    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...

    Mikrokontrolery ARM   12 Kwi 2013 16:04 Odpowiedzi: 16    Wyświetleń: 1983
  • [C] Jak skompilować program dla ATtiny45 z AVR-USB używając makefile z WinAVR?

    Moze zle sie wyrazilem - nie tyle skladnia pozostaje dla mnie niejasna, co nie umiem stwierdzic, dlaczego nie jest generowany plik ELF, pomimo tego, ze w pliku make istnieje regula (chyba) za to odpowiedzialna. # MCU name MCU = attiny45 # Processr frequency. # This will define a symbol, F_CPU, in all source code files equal to the # processor frequency....

    Mikrokontrolery AVR   05 Cze 2008 13:18 Odpowiedzi: 4    Wyświetleń: 7784
  • [C] [C][AVR] - strtok_r i wskaźnik do wskaźnika: różnice w zachowaniu funkcji

    Prawdopodobnie znowu optymalizacja jest przyczyną. Zmienna lokalna char *reszta; jest po optymalizacji w rejestrze, a do rejestru nie mozna wyłuskac adresu. Żaden kompilator nie umieści takiej zmiennej w rejestrze, skoro gdzieśtam potrzebny jest jej adres. Tak samo funkcje statyczne nigdy nie zostaną za-inline-owane jeśli gdzieś używane są ich adresy....

    Mikrokontrolery   30 Lis 2010 11:26 Odpowiedzi: 17    Wyświetleń: 2730
  • AVR Studio 4 problem z działaniem " krok po kroku "

    Po kolei. Jesli na plytce masz interfejs JTAG to mozesz debuggowac w ukladzie. Jesli nie (po ISP sie nie da) to pozostaje ci tylko symulacja programowa. I tu wszystko dziala ci jak nalezy. Funkcje z delay.h sa deklarowane jako inline, dodatkowo kompilator robi optymalizacje wiec nie spodziewaj sie, ze bedziesz szedl linijka po linijce. Zeby tak zrobic...

    Mikrokontrolery   10 Maj 2010 10:02 Odpowiedzi: 11    Wyświetleń: 3074
  • STK500v2 - moja wersja - choć być może zbyt hucznie to brzmi

    Wiem, wiem. Siedzę i próbuję skompilować nowy, ale jak krew w piach..... Próbowałem z tego wątku: http://www.elektroda.pl/rtvforum/topic23... U mnie wyskakują inne błędy - tak jakby kompilator nie miał praw zapisu pliku, jakieś błedne linki do katalogów itp itd, a cmd uruchamiam jako admin.... Dodano po 23 POSZŁO !!!! Nie mógł utworzyć: Fatal...

    DIY Konstrukcje   12 Maj 2017 17:30 Odpowiedzi: 11    Wyświetleń: 8904
  • ATMEGA2560 - Bootloader SD nie wgrywa długich plików

    Nie miałem za bardzo czasu ale wracam do nierozwiązanego problemu. http://obrazki.elektroda.pl/7699775600_1... http://obrazki.elektroda.pl/3826926900_1... Tak wyglądają screeny po wywołaniu programu CRCGEN. Pliki wgrane programatorem działają poprawnie a przez bootloader tylko ten krótki (choć po przemieleniu ma także...

    Mikrokontrolery AVR   01 Paź 2016 18:03 Odpowiedzi: 15    Wyświetleń: 2301
  • STM32F030 - init SPI DMA + Keil uVision5 - problem z przypisaniem wskaźnika funkcji

    Po _powrocie_ z funkcji. Ewentualnie postaw sobie breakpointa w HAL_DMA_Start_IT() i wtedy zobacz. Do momentu w którym kompilator nie napotka czegoś co można by nazwać "ogólnym miejscem synchronizacji" (wywołanie funkcji nie-inline, powrót z funkcji nie-inline, dostęp do pamięci oznaczonej jako volatile, ...) to może sobie poprzestawiać te instrukcje...

    Mikrokontrolery ARM   03 Mar 2017 12:08 Odpowiedzi: 8    Wyświetleń: 1128
  • Konwersja kodu C 64-bit na 32-bit – jak dostosować typy i wskaźniki?

    (at)ElektrodaBot Jak konwertować kod 64-bit na 32-bit? /** (at)file Copyright (c) 2025, Gelip Copyright (c) 2024, Andri Kurniawan Copyright (c) 2020, Seungjoo Kim Copyright (c) 2016, Dawid... Bezpośrednia odpowiedź „Konwersja” istniejącego binarnego modułu UEFI X64 na IA32 nie jest możliwa - trzeba ponownie skompilować kod źródłowy z ustawieniem architektury...

    Programowanie Początkujący   23 Cze 2025 21:32 Odpowiedzi: 1    Wyświetleń: 117
  • Jakie środowisko programistyczne wybrać do programowania STM32F030R8T6?

    Spróbuje i assemblera do prostych rzeczy Ciekaw jestem ile w swoim RTOS-ie kolega (at)Freddie Chopin napisał asemblera (stawiam ze pewnie ze 100 linijek jak już wyjścia nie miał)? Ja osobiście od dawna (poza kilkoma elementarnymi inline-ami do dsp) ani jednej. Te instrukcje procesora, które ew mogą Ci się przydać masz w CMSIS w postaci wygodnych definicji...

    Mikrokontrolery   31 Sty 2017 21:40 Odpowiedzi: 11    Wyświetleń: 786
  • Regulator PID do ekspresu do kawy

    Tak jak obiecałem w pierwszym poście, załączyłem do tematu źródła. Kod jest napisany w C, kompilator gcc-avr w wersji 4.5.3-4 + biblioteki avr-libc 1.7.1-2. Jeszcze jeden filmik z "ekstrakcji" w HD :) http://obrazki.elektroda.pl/3325634700_1... http://obrazki.elektroda.pl/9288927500_1... (at)ADI-mistrzu: U mnie obsługa...

    DIY Konstrukcje   03 Sty 2013 23:44 Odpowiedzi: 39    Wyświetleń: 28206
  • Sterownik pompy kolektora słonecznego

    Moim zdaniem bardzo fajny projekt, jeśli chodzi o zaoszczędzenie miejsca na program, hym.. pewnie trochę można było zaoszczędzić gdybyś funkcje pomocnicze nie deklarował jako inline. Generalnie obsługa kilku czujników na jednej szynie nie jest zagadnieniem banalnie łatwym. Do czego stosujesz wstawki assemblerowe z instrukcją NOP? Rozumiem, że to wyczekanie,...

    DIY Konstrukcje   06 Lis 2010 18:23 Odpowiedzi: 23    Wyświetleń: 19237
  • Jak używać funkcji asemblera w C w AVRStudio? Integracja i kompilacja kodu

    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...

    Mikrokontrolery   04 Sty 2007 10:52 Odpowiedzi: 7    Wyświetleń: 2239
  • Zapętlenie przy odbiorze OK na STM32 - jak poprawić kod?

    wprost nieobsługuje się przerwania nie rozumiem. O co Ci chodzi Ale jak RX nie jest volatile to kompilator uzna że nie może się zmienić w tej pętli while i odczytać wartości tylko raz. Później będzie porównywać tylko wartości rejestrów, Zobacz sobie jak to działa : https://godbolt.org/z/pKPEx2 wywołać którąś assemblerową instrukcję synchronizacyjną...

    Mikrokontrolery ARM   18 Sty 2020 22:25 Odpowiedzi: 21    Wyświetleń: 1089
  • Jak zastąpić opóźnienia w asemblerze na C dla I2C w kursie EDW?

    Próbuje rozgryść I2C w C, ale napotkałem mały problem. W kursie EDW do opóźnień używane sż wstawki assemblera, którego ni w ząb nie rozumiem. Zastanawiałem się czy jest możliwość zastąpienia ich opóźnieniami pisanymi w C? // Funkcja dłuższych opóźnień #if I2C_nhalf < 3 // Nic #elif I2C_nhalf < 8 static void i2c_xdelay(void) { NOP();...

    Mikrokontrolery   29 Lis 2011 19:14 Odpowiedzi: 3    Wyświetleń: 903
  • Raspberry Pi 1B+: Szukam osób programujących w asemblerze

    Aktualnie mam prototyp programu (napisany naturalnie w asemblerze pod DOSem) ktory rozumie takie cos: ustaw gpio5 jako wejscie ala ustaw gpio6 jako wyjscie bela label: jesli ala ma stan wysoki Musisz nas nauczyć jak w DOSie się programuje RP gpio. Skoro to chodzący prototyp, to szacun. W czasach DOS czy Windows 9X ludzie pisali programy w asemblerze....

    Raspberry Pi i inne SBC   02 Sie 2016 17:54 Odpowiedzi: 35    Wyświetleń: 4275
  • XMega128 - Zwiększanie liczby czterobajtowej w Asemmblerze

    Mój program który stworzyłem na swoje potrzeby analizuje plik OBJ tworzony przez kompilator i pokazuje które rejestry zostały użyte podczas obsługi przerwania. Pozwala to na użycie parametru Nosave i znaczne przyspieszenie w przypadku Bascoma. Plik OBJ można oczywiście załadować do Atmel Studio i patrzeć na Assemblera, ale to niewygodne bo nie wszystkie...

    Mikrokontrolery AVR   31 Paź 2015 18:38 Odpowiedzi: 18    Wyświetleń: 1239
  • Jak przyspieszyć funkcję w C dla Xmega128 używając wstawek asm?

    Z pewnym opóźnieniem z powodu małej awarii, ale oto przykład: [syntax=c] #include <avr/io.h> inline void write_data(uint16_t data) { PORTE_OUT=data>>8; PORTF_OUT=data; } int main() { write_data(0xffaa); } [/syntax] I wygenerowany kod: [syntax=asm] 00000218 <main>: #include <avr/io.h> inline void write_data(uint16_t data) { PORTE_OUT=data>>8;...

    Mikrokontrolery AVR   29 Paź 2011 19:32 Odpowiedzi: 15    Wyświetleń: 2735
  • Jak zmierzyć czas wykonania funkcji w AVR Studio z AVR-GCC?

    Nie jest to możliwe, gdyż optymalizacja _delay jest zabroniona - zawiera ona volatile. Dlatego też napisałem właśnie, że wydaje mi się to dziwne - nie miałem pod ręką kompilatora aby sprawdzić czy tam jest volatile w środku. Czyli mój trop był błędny. Dodatkowo nie ma atrybutu zezwalającego na zastąpienie wywołania wynikiem funkcji (__attribute__(const))....

    Mikrokontrolery AVR   24 Wrz 2013 17:15 Odpowiedzi: 11    Wyświetleń: 2994
  • [STM32] [C] [CMSIS] - #ifdef brak deklaracji stalej

    ARM7, Cortex-M3 to - powiedzmy - "handlowe nazwy" architektur, odpowiednio ARMv4 i ARMv7-M. Oczywiście nowsza jest ARMv7 czyli własnie Cortex. ARM7 jest już nieco przestarzały, a układ LPC2106 to w ogóle antyk - NXP od czasu tego układu wypuściło bardzo wiele fajnych układów z tym rdzeniem, dokładnie chodzi o rodziny LPC23xx i LPC24xx - LPC2106 to chyba...

    Mikrokontrolery ARM   19 Sty 2011 16:19 Odpowiedzi: 13    Wyświetleń: 5054
  • [C/asm] - Jak dynamicznie przypisać funkcję do wektora przerwań w C?

    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....

    Mikrokontrolery AVR   06 Mar 2014 12:06 Odpowiedzi: 22    Wyświetleń: 1905
  • Losowe błędy w pracy mikrokontrolera - jak je przyspieszyć?

    Każdy procek ma jakieś tam systemowe funkcje biblioteczne, które można zastosować, ale zazwyczaj zajmują one więcej miejsca niż proste rozkazy assemblerowe. (dochodzi chociażby rozkaz skoku do procedury). Czy warto z nich jednak korzystać? Np. dla STM'ów: __disable_irq (); będzie lepsze niz: __ASM volatile ("cpsid i"); ? "Twoja własna wersja" nie będzie...

    Mikrokontrolery   29 Sty 2013 12:59 Odpowiedzi: 31    Wyświetleń: 4290
  • ATtiny13a - Błąd weryfikacji avrdude przy użyciu programatora USBasp

    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...

    Mikrokontrolery Początkujący   09 Gru 2016 21:05 Odpowiedzi: 8    Wyświetleń: 1110
  • STM32F107/C - Błąd w pakowaniu struktur (-DPACK_STRUCT_END)

    Witam, muszę przekopiować projekt pod STM32F107 (Działający już) na CrossWorksie -> Eclipse, problem leży w makefile'u, ale nie mogę podejrzeć co robi ten crossworksowy, mój wygląda następująco: [syntax=c] ########################################... # Start of default section # TRGT = arm-none-eabi-...

    Mikrokontrolery ARM   22 Lip 2013 11:27 Odpowiedzi: 5    Wyświetleń: 1350
  • Dlaczego przesunięcie bitowe w AVR zwraca nieoczekiwany wynik?

    Ok, punkty przesłałem. Mam jeszcze pytanko odnośnie tego inline. Jeśli odpalę debuggera to czas wykonywania się tej funkcji jest taki sam z volatile jak i bez. Jeśli używasz debuggera to sprawdź kod assemblerowy, jeśli funkcja wywoływana jest callem to najprawdopodobniej kompilator zignorował twój inline. Aby wymusić spróbuj w pliku nagłówkowym .h...

    Mikrokontrolery AVR   24 Lip 2011 14:37 Odpowiedzi: 18    Wyświetleń: 2672
  • Błąd kompilacji freemodbus na Atmega32 z win avr - brak pliku gcc-avr

    ok trochę czasu mi to zajeło ale udało mi sie przejść ten problem po przez edycje pliku makefile wyedytowałem 3 linie odpowiedzialne za wybór kompilatora i poszło. CC=avr-gcc OBJCOPY=avr-objcopy AVRDUDE=avrdude ale powstał kolejny problem mianowicie problem z plikiem demo.cof wiem że win avr zrezygnował z coff ale niewim jak poprawic makefile aby ten...

    Mikrokontrolery AVR   03 Maj 2011 18:47 Odpowiedzi: 18    Wyświetleń: 6433
  • Złe odliczanie czasu w zegarku na ATMEGA8(L) z kwarcem 8MHz - jak poprawić?

    Witam Temat być może pojawia się po raz wtóry, ale poprzednie tematy nie rozwiązały problemu. Chcę wykonać prosty zegarek cyfrowy oparty na uC ATMEGA8(L) oraz wyświetlaczu LCD 2x24. Wszystko chodzi bez zarzutów, gdyby nie fakt złego odliczania czasu przez mój uC. Otóż mój ATMEGA8 pracuje z kwarcem zewnętrznym 8MHz + dwa kondensatory ceramiczne 22pF...

    Mikrokontrolery   05 Wrz 2006 16:16 Odpowiedzi: 15    Wyświetleń: 5500
  • Błąd w AVR Studio po dodaniu biblioteki - jak go naprawić?

    makefile ########################################... # Makefile for the project projekt ########################################... ## General Flags PROJECT = projekt MCU = atmega8 TARGET = projekt.elf CC = avr-gcc ## Options common to compile, link and assembly rules COMMON = -mmcu=$(MCU)...

    Mikrokontrolery AVR   26 Sie 2010 18:16 Odpowiedzi: 8    Wyświetleń: 2478
  • V-USB na Atmega32: brak sygnału na D+ i D- przy kwarcu 12MHz

    Witam. Właśnie staram się zrobić mysz komputerową na atmedze 32 za pomocą biblioteki V-USB. Program testowałem na płytce rozwojowej z kwarcem 16MHz, atmegą 32 i wszystko działało. Po przeniesieniu się na moją płytkę z kwarcem 12MHz i przekopiowaniu kodu, na wyjściach D+ i D- mikrokontrolera nic się nie pojawia, D- stan wysoki, D+ niski. Oczywiście zmieniłem...

    Początkujący Elektronicy   15 Wrz 2012 19:06 Odpowiedzi: 2    Wyświetleń: 1593
  • [LPC1114][C] - częstotliwość timera CT32B0, generowanie przerwania co 1us

    Ok ale czy zmiana stanu na IO zabiera aż 20 cykli? poza zmianą stanu nic innego się tam nie dzieje ;] funkcja zmiany stanu na wyprowadzeniu: [syntax=csharp] static __INLINE void GPIOSetValue( uint32_t portNum, uint32_t bitPosi, uint32_t bitVal ) { LPC_GPIO[portNum]->MASKED_ACCESS[(1&l... = (bitVal<<bitPosi); } [/syntax] oraz odczyt:...

    Mikrokontrolery ARM   23 Maj 2014 06:53 Odpowiedzi: 13    Wyświetleń: 1497
  • Kontrast pulsuje na LCD z Nokii (PCD 8544) przy zwiększaniu punktów - ASM na 2051

    Jest to wg projektu z EdW: ////////////////////////////////////////... // harddef.h - definicja sprzętu dla programu testującego możliwości wyświetlacza z noki3310 // przeznaczenie: "Programowanie procesorów w języku C (EdW)" // ////////////////////////////////////////...

    Mikrokontrolery   24 Paź 2013 20:50 Odpowiedzi: 271    Wyświetleń: 133545
  • Błąd w schemacie połączeń Atmega32-16PU z LCD Nokia 3310?

    Hej, tutaj wklejam kod z lekcji 13 ////////////////////////////////////////... // main.c - plik główny programu testującego możliwości wyświetlacza graficznego z telefonu nokia3310 // przeznaczenie: "Programowanie procesorów języku C (EdW)" // // Autor: RadosĹ‚aw Koppel...

    Mikrokontrolery   10 Lis 2011 12:52 Odpowiedzi: 32    Wyświetleń: 9453
  • AVR C - Jak poprawnie obsłużyć wyświetlacz LCD z konwerterem I2C?

    Witam. Zakupiłem konwerter I2C do wyświetlacza LCD i mam mały problem z jego obsługą. Komunikacja z ekspanderem następuje prawidłowo, jedynie co udało mi się uzyskać to miganie podświetleniem, ale uparty wyświetlacz za choinkę nie chce nic wyświetlić. Schematu konwertera niestety nie posiadam, gdyż producent go nie udostępnia. Kod którego używam prezentuje...

    Mikrokontrolery AVR   17 Kwi 2015 13:44 Odpowiedzi: 6    Wyświetleń: 1950
  • [atmega32][c] USBaspLoader - nie wchodzi do sekcji bootloader'a

    Witam. Mam problem z poprawnym działaniem bootloader'a. Paczka ściągnięta ze strony main.c (dodałem linijkę dla mojego procesora) bootloaderconfig.h (zmiana portów oraz linii wywołującej bootloader) Makefile (zmiany dotyczące procesora) http://obrazki.elektroda.pl/4178945300_1... http://obrazki.elektroda.pl/5075291300_1...

    Mikrokontrolery AVR   07 Sie 2011 19:34 Odpowiedzi: 2    Wyświetleń: 2314
  • [Atmega8][avr-gcc] - Obiornik DMX na Atmega8 -właściwy odbiór pakietów

    Witam szanownych forumowiczów! Od niedawna staram się nauczyć języka C na AVR. Postanowiłem zbudować poza migającą diodą LED i całą resztą "mini projektów" odbiornik sygnału DMX. W zamierzeniu chcę zrobić DIMMER PACK (sterowanie jasnością 4 urządzeń, stąd 4 kanały i detekcja przejścia przez zero). Jednak przy pisaniu programu napotkałem dość znaczące...

    Mikrokontrolery Początkujący   25 Wrz 2013 22:33 Odpowiedzi: 0    Wyświetleń: 1368