tag:blogger.com,1999:blog-3960927205450249158.post116281356177816784..comments2024-03-28T09:15:15.977+01:00Comments on mikrokontrolery avr język c, poradniki, kursy video - eagle: Wstawki ASM w C - część 02mirekk36http://www.blogger.com/profile/11690797724225993397noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-3960927205450249158.post-4507889957146167732014-10-26T12:40:23.820+01:002014-10-26T12:40:23.820+01:00Zobacz sobie na programik: ECLIPSE GADGET
http://...Zobacz sobie na programik: ECLIPSE GADGET<br /><br />http://atnel.pl/eclipse-gadget.html<br /><br />i jego opcję o nazwie BOOST, którą można włączyć ;) ona właśnie to robi i można to zrobić dla każdego projektumirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-83683849676149392122014-10-26T12:36:36.346+01:002014-10-26T12:36:36.346+01:00Czy używanie tej opcji wyrzucania zbędnych funkcji...Czy używanie tej opcji wyrzucania zbędnych funkcji z pamięci flash ,można użyć np. zamiast dyrektyw preprocesora ,co ma się nam kompilować ,a co nie. Taka opcja dla "leniwych" ,bo powiedzmy mam dużą bibliotekę bez tych dyrektyw co kompilować a co nie. I wiele funkcji nie używanych w main mi się nie potrzebnie kompiluje.<br /><br />Mogę to traktować jako "złoty środek" w każdej okoliczności? ,pozdrawiam.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-29671045540676929222014-04-27T13:01:33.858+02:002014-04-27T13:01:33.858+02:00Byłoby super - mam nadzieję, że taki odcinek pojaw...Byłoby super - mam nadzieję, że taki odcinek pojawi się niebawem (trzymam kciuki) jako kolejna część wstawek ASM :)Martiihttps://www.blogger.com/profile/04650592144755268715noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-62417186822300295922014-04-27T11:25:32.580+02:002014-04-27T11:25:32.580+02:00Bardzo fajny przykład i na pewno będę chciał kiedy...Bardzo fajny przykład i na pewno będę chciał kiedyś wspomnieć i o tego tupu wstawkach czyli pisaniu plików *.S ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-90693064119490827512014-04-27T10:46:47.141+02:002014-04-27T10:46:47.141+02:00A ja ostatnio znalazłem coś takiego: http://thegar...A ja ostatnio znalazłem coś takiego: http://thegaragelab.com/galleries/quickies/one_pin_serial.png<br />Tutaj zaimplementowano UART na 1 pinie (half duplex) - ciekawe rozwiązanie - a piszę o tym tutaj bo to maleńka biblioteczka ASM (62b flash i nie zużywa ram) - może takie rozwiązanie też pokazać czytelnikom w którymś z odcinków? Może np zaprzęgając do pracy Attiny85? a może nawet Attiny 13? :) - fajna byłaby to opcja debugowania dla tych super małych AVRków. Kod w tym miejscu: https://github.com/thegaragelab/nightlight/blob/master/firmware/softuart.SMartiihttps://www.blogger.com/profile/04650592144755268715noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-19374542073214611152014-04-12T08:13:13.112+02:002014-04-12T08:13:13.112+02:00Panie Robert dziękuję za ŚLICZNE wyjaśnienie, sam ...Panie Robert dziękuję za ŚLICZNE wyjaśnienie, sam lepiej bym tego nie zrobił a tu przyda się ono olbrzymiej ilości osób .... TO nazywa się dzielenie wiedzą, jeszcze raz dzięki i pozdrawiam ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-89641229209751615242014-04-11T22:51:52.916+02:002014-04-11T22:51:52.916+02:00Witam,
Powód dlaczego w czasie analizy programu za...Witam,<br />Powód dlaczego w czasie analizy programu zamiast lsl widzimy add ma proste, a wręcz banalne, wytłumaczenie. Cytując naszego klasyka "wystarczy zajrzeć do odpowiedniego pdf-a" ;)<br />8 bitowe AVRy nie mają rozkazów LSL, ROL, CLR, TST, SBR, CBR i większości rozgałęzień (branchów) podawanych w dokumentacjach procesora. Tak na prawdę rozkaz asemblerowy "LSL Rd" jest bitowo dokładnie tym samym kodem (opcode) co rozkaz "ADD Rd, Rd".<br />Dla "LSL Rd" opcode wygląda następująco:<br /> 0000 11 d4 d4 d3 d2 d1 d0 d3 d2 d1 d0<br />a dla "ADD Rd, Rr" mamy opcode:<br /> 0000 11 r4 d4 d3 d2 d1 d0 r3 r2 r1 r0<br />więc jak Rr będzie równe Rd, to opcode będą identyczne.<br />Tak samo z rozkazami "ROL Rd" który jest zgodny z "ADC Rd, Rd" oraz innymi pozostałymi parami.<br />AVRy to procesory RISC (Reduced Instruction Set Computers), więc z założenia mają mało instrukcji a dzięki sztuczce "marketingowej" użytkownik dostaje dodatkowe rozkazy w asemblerze (także dzięki temu nie musi się skupiać na podstawach matematyki i pamiętać że ADD Rd, Rr przy Rr = Rd to jest LSL Rd a może zająć się programowaniem).<br /><br />I dlatego deasemblerowany kod zawiera podstawowe znaczenie danego opcode (skąd deasembler ma widzieć jakiego mnemonika chciał autor użyć).<br /><br />Poniżej komplet "sztucznych" instrukcji:<br /> SBR Rd,K -> ORI Rd, K<br /> CBR Rd,($FF - K) -> ANDI Rd, K<br /> TST Rd -> AND Rd, Rd<br /> CLR Rd -> EOR Rd, Rd<br /> LSL Rd -> ADD Rd, Rd<br /> ROL Rd -> ADC Rd, Rd<br /> wszystkie instrukcje rozgałęzień (branch) -> BRBS, BRBC<br /><br />Wszystko to można znaleźć (sprawdzić) w Atmelowym pdfie http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf<br /><br />-- <br />Pozdrawiam,<br />RobertRoberthttps://www.blogger.com/profile/06372006355095444663noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-54804756377590039802014-04-09T05:44:52.668+02:002014-04-09T05:44:52.668+02:00Dlatego proszę ode mnie przekazać serdecznie pozdr...Dlatego proszę ode mnie przekazać serdecznie pozdrowienia dla małżonki ;)mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-34605940542440582442014-04-08T23:41:50.562+02:002014-04-08T23:41:50.562+02:00Witam Panie Mirku i dziękuję za kolejną część.
Spo...Witam Panie Mirku i dziękuję za kolejną część.<br />Spodziewałem się tego odcinka na weekend, a tu ciach,jest na początku tygodnia.<br />Zaskoczenie podwójne,oczywiście w pozytywnym tego słowa znaczeniu.<br />Kiedy moja ukochana żona zobaczyła radość na mojej twarzy,powiedziała:<br />-Teraz już wiesz jak to jest, kiedy się czeka na kolejny odcinek serialu :-)<br />Pozdrawiam no i łapki w górę oczywiście.Anonymoushttps://www.blogger.com/profile/15533029653189287766noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-35117018418349168962014-04-08T23:19:54.005+02:002014-04-08T23:19:54.005+02:00ale masz na myśli ten krótki kod który pisałem na ...ale masz na myśli ten krótki kod który pisałem na żywo w poradniku ?mirekk36https://www.blogger.com/profile/11690797724225993397noreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-89025684394429023972014-04-08T22:33:05.782+02:002014-04-08T22:33:05.782+02:00To już wiem za co się wezmę jak nabiorę praktyki w...To już wiem za co się wezmę jak nabiorę praktyki w C:)<br />Obejrzałem tylko z ciekawości, bo jak na razie nie mam pojęcia o ASM... Gordonnoreply@blogger.comtag:blogger.com,1999:blog-3960927205450249158.post-24336111996984149142014-04-08T19:24:23.350+02:002014-04-08T19:24:23.350+02:00Rewelacja Panie Mirku. Kolejny super poradnik. Ja ...Rewelacja Panie Mirku. Kolejny super poradnik. Ja tylko czekam na kolejne bo po prostu się je chłonie Klikam wszystko co popadnie jeżeli chodzi o YT, i inne społeczności. Czy jest szansa na dołączenie kodu? Pozdrawiam serdecznie i dużo zdrowia życzę!!!Anonymousnoreply@blogger.com