-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.chmurka.net!.POSTED!not-for-mail
From: Michał Lankosz <m...@t...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: PICowanie
Date: Fri, 11 Oct 2013 16:13:31 +0200
Organization: news.chmurka.net
Lines: 83
Message-ID: <l39127$hvj$1@somewhere.invalid>
References: <e...@g...com>
<5254fb82$0$21838$65785112@news.neostrada.pl>
<f...@g...com>
<l34br2$8d0$1@node1.news.atman.pl>
<a...@n...neostrada.pl>
<l35dk5$950$1@node1.news.atman.pl> <l35rdb$bid$1@mx1.internetia.pl>
<l36gv3$epe$1@node1.news.atman.pl> <l36qhe$fnn$1@mx1.internetia.pl>
<l36rtk$lsf$1@node2.news.atman.pl> <l3799j$v30$1@mx1.internetia.pl>
<a...@n...neostrada.pl>
<l38io6$2ld$1@mx1.internetia.pl> <l38mvb$djg$1@somewhere.invalid>
<l38snp$2fi$1@mx1.internetia.pl>
NNTP-Posting-Host: 91.232.62.46
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: somewhere.invalid 1381500807 18419 91.232.62.46 (11 Oct 2013 14:13:27 GMT)
X-Complaints-To: abuse-news.(at).chmurka.net
NNTP-Posting-Date: Fri, 11 Oct 2013 14:13:27 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0
X-Authenticated-User: dxfm
In-Reply-To: <l38snp$2fi$1@mx1.internetia.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:653101
[ ukryj nagłówki ]W dniu 2013-10-11 14:49, Sylwester Łazar pisze:
>> Ile czasu potrzeba, żeby przenieść kod ASM chociażby z M3 na M0, albo
>> M4? A może za trzy lata będzie PIC32 bądź jakiś Freescale? Nie mówię tu
> Kod z Microchipa na Freescale był przenoszony w marcu tego roku :-)
> Dokładnie i w całości pisany w asemblerze.
> Był to system odczytujący kilka DS18B21 pracujących na 1-Wire, z obsługa
> wyświetlacza,
> i jak to nazwaleś .... z bibliotekami graficznymi. Całość w ASM.
Ile tego kodu było i na jakie uC? Do odczytania temperatury i
wyświetlenia danych to i 1kB pamięci flash na kod jest za dużo. 200
linii źródeł w C będzie odpowiadało 400 liniom w asemblerze - do opanowania.
Co do bibliotek graficznych można mieć namyśli np. taką
http://www.ramtex.dk/ lub taką http://www.segger.com/emwin.html
albo tylko zestaw funkcji putpixel, line, circle, rectangle, color,
ewentualnie prosty bitmap i print. W tym drugim przypadku akurat wiele
kodu nie ma, w 300-700 bajtach kodu się zamknie ten zestaw funkcji
graficznych. Ale jak się chce coś poważniejszego zrobić to niestety kodu
bardzo szybko przybywa niezależnie od języka.
> Jednak myślenie na poziomie C jest nieco inne.
> W C przenosimy kod, mając nadzieję, że on się skompiluje po prostu innym
> kompilatorem i na dodatek będzie działał.
> Ja, przy moim podejściu nie przenoszę kodu asm pisanego za pomoca mnemoników
> na inny kod pisany za pomoc innych mnemoników.
> W ogóle nie interesuje mnie listing źródłowy.
> Ja po prostu na poziomie algorytmu - takiego na wydrukowanym papierze z
> programu 2D,
> skreślam stare mnemoniki i wpisuje nowe. Bloczki pozostają te same.
Chyba czegoś nie rozumiem. Asemblery nie różnią się tylko mnemonikami,
ale listą rozkazów, argumentami, liczbą rejestrów, ograniczeniami
każdego rejestru. Czym jest bloczek? i gdzie się podziewa ten asembler?
Bo chyba nie zastępujesz kompilatora wyższego poziomu?
> Mało tego, ja nie muszę pisać w asm. Czasem wpisuje po prostu instrukcje C,
> BASIC,
> czy inne.
> Bazą jest zawsze algorytm i jego bloczki, a nie kod źródłowy.
Tak chyba jest zawsze. Mamy algorytm i go zapisujemy za pomocą jakiegoś
języka programowania.
> Dzięki takiemu podejściu kod jest zwięzły i jest do niego pełna dokumentacja
> graficzna.
> Jeżeli powstanie nowszy język programowania - baza zostanie ta sama.
>
>> o programie, którego kod wynikowy to 1-5kB (po odliczeniu tablic
>> stałych). Tu chodzi o biblioteki graficzne, obsługę USB, TCP/IP, systemu
>> plików czy chociaż proste systemy operacyjne.
> Często jest tak, że kod 5kB odpowiada systemowi opracowanemu na innym
> poziomie abstrakcji, który ma 1MB.
> Pisanie w ASM jest zawsze krótsze i szybsze niż w czymkolwiek innym.
> To co zrobisz w systemie operacyjnym, z obcymi bibliotekami i własnym kodem,
> może zająć i 10MB.
> Jeżeli zrobisz to w asm, to może być i 5kB+tablice i RAM.
Co to są biblioteki obce? Czy biblioteka obcą jest ta napisana przez
mojego kolegę z pracy? Kilka tygodni pracy i działa na AVR.
Przeniesienie na STM32 to tylko grzebnięcie w HAL (jeśli występuje). Nie
skreślam przy tym mnemoników.
Co do objętości kodu to się zgodzę, że w C jest większy, ale bez
przesady - nie 5kB->10MB! Jeśli w bibliotece są niewykorzystane funkcje
to linker może je po prostu wyciąć z automatu.
>
> Wymaga jednak w części znajomości tematu, czyli procesora.
> Nie jest to jednak złe, gdyż wszystkie procesory mają bardzo podobną budowę.
> Różnią się szczegółami i liczbą stron karty katalogowych wraz z erratami.
To jest na plus. Zawsze dogłębna wiedza jest cenna. Pytanie jednak, jak
głęboko powinniśmy sięgać. No bo kupując w sklepie mleko, lody, chleb,
płatki kukurydziane, czekoladę, wodę powinniśmy czytać ich skład.
Napotykając powiedzmy karagen zgłębić wiedzę o nim czy jest rakotwórczy
czy nie. Wiedza bardzo cenna dla Twojego zdrowia - wybierasz pod tym
kątem wszystkie produkty, czy zdajesz się na odgórne przepisy, które nie
pozwalają na sprzedaż żywności zagrażającej życiu? Takich obszarów z
naszego otoczenia jest za dużo, żeby je zgłębiać.
--
Michał
Następne wpisy z tego wątku
- 11.10.13 16:25 Michał Lankosz
- 11.10.13 16:31 Marek
- 11.10.13 16:35 Sylwester Łazar
- 11.10.13 16:45 Sylwester Łazar
- 11.10.13 16:57 Sylwester Łazar
- 11.10.13 16:57 J.F
- 11.10.13 16:58 Piotrek
- 11.10.13 17:28 Sebastian Biały
- 11.10.13 17:31 Sylwester Łazar
- 11.10.13 17:31 Marek
- 11.10.13 17:41 Piotrek
- 11.10.13 17:43 Sylwester Łazar
- 11.10.13 17:44 Piotrek
- 11.10.13 17:51 Sylwester Łazar
- 11.10.13 17:55 Sylwester Łazar
Najnowsze wątki z tej grupy
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
Najnowsze wątki
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-20 "betamaxy" i inne voip-y dzisiaj
- 2024-11-21 Strach się bać
- 2024-11-21 Koniec smrodów
- 2024-11-20 Krematorium
- 2024-11-20 Taki tam szkolny problem...
- 2024-11-20 LIR2032 a ML2032
- 2024-11-20 SmartWatch Multimetr bezprzewodowy
- 2024-11-21 Środa Wielkopolska => Konsultant SAP <=
- 2024-11-21 Łódź => Spedytor Międzynarodowy <=
- 2024-11-21 Wrocław => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-21 Kraków => Lead Java EE Developer <=
- 2024-11-21 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=