<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=16882&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-11-23T15:22:52+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16882&amp;mode</id>
<entry>
<author><name><![CDATA[Jatsekku]]></name></author>
<updated>2016-11-23T15:22:52+01:00</updated>
<published>2016-11-23T15:22:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175445#p175445</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175445#p175445"/>
<title type="html"><![CDATA[Re: Uniwersalne biblioteki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175445#p175445"><![CDATA[
Dziękuję za przykłady ! IRMP jest już o wiele bardziej przejrzysty <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Rany, nie wiedziałem, że można to zmieniać w opcjach kompilatora, faktycznie wstyd hehe <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />To już wszystko jest jasne, biorę się za pisanie. Dziękuję wam bardzo! <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3920">Jatsekku</a> — 23 lis 2016, o 15:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-11-23T15:15:42+01:00</updated>
<published>2016-11-23T15:15:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175444#p175444</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175444#p175444"/>
<title type="html"><![CDATA[Re: Uniwersalne biblioteki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175444#p175444"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Myśl trochę skrócona  <br />Cytat z elektrody:<br /></div><br />trochę .... heheheh trochę ... dobre <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><div class="quotetitle">Jatsekku napisał(a):</div><div class="quotecontent"><br />Sęk w tym, że chciałem się dowiedzieć jak się to profesjonalnie robi.<br /></div><br />Profesjonalnie to nikt przede wszystkimi nie robi prawdziwych bibliotek w warunkach amatorskich bo to się mija z celem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... <br /><br />Natomiast tworzenie takich &quot;ala&quot; bibliotek masz opisane w dwóch książkach które posiadasz ...<br /><br />Sterowanie kompilacją dla kilku różnych procków też masz pokazane w wielu - na prawdę wielu przykładach wziąwszy pod uwagę obydwie książki ... więc aż się dziwię, że nie za bardzo w ogóle jakby wiesz jak się za to zabrać ...<br /><br />A jak chcesz zobaczyć co i jak można robić z UARTEM dla wielu różnych procków to czemu nie zajrzysz np do kodu źródłowego BLS który masz pokazany i otwarty w programie MkBootloader .... Masz tam taką ilość dyrektyw preprocesora wachlujących nazwami rejestrów i bitów w rejestrach w zależności od procków że cię głowa rozboli <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> od analizy ... Ale jest to bardzo dobry przykład jak można to robić <br /><br />Oczywiście podstawa to DOBRZE zaplanować bibliotekę czyli jak ?<br /><br />ano tak żeby ZDECYDOWANIE oddzielić funkcje z warstwy abstrakcji od funkcji warstwy sprzętowej - i już masz 50% sukcesu<br /><br /><div class="quotetitle">Jatsekku napisał(a):</div><div class="quotecontent"><br />wisienką na torcie byłoby gdyby kompilator sam wykluczał niewykorzystywane funkcje.<br /></div><br />No tu znowu aż wstyd troszkę pytać gdy masz to nie tylko opisane w Bluebooku ale na dodatek jeszcze wyszczególnione ładnie na końcu w aneksach żeby zawsze można było szybko sięgnąć po te opcje kompilatora <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... więc no tylko tam zajrzeć panie kochany.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br /><div class="quotetitle">szymonciow napisał(a):</div><div class="quotecontent"><br />No chyba, że Mirek w PurpleBooku...<br /></div><br />Nie - dlatego że zawsze powtarzam, że z punktu widzenia tworzenia tak dla siebie to jest zupełny nonsens <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Za to ma to sens gdy ktoś tworzy coś przede wszystkim bardzo popularnego już na świecie wręcz <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... <br /><br />A dla siebie ? .. .no też można chociażby dla sportu, czemu nie ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> a kto komu zabroni ?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />w purple booku - będziemy się zajmować zapewne dużo ciekawszymi rzeczami.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 lis 2016, o 15:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szymonciow]]></name></author>
<updated>2016-11-23T15:08:10+01:00</updated>
<published>2016-11-23T15:08:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175443#p175443</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175443#p175443"/>
<title type="html"><![CDATA[Re: Uniwersalne biblioteki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175443#p175443"><![CDATA[
<div class="quotetitle">Jatsekku napisał(a):</div><div class="quotecontent"><br />Akurat to, że mogę sobie wyłączać lub włączać do kompilacji fragmenty programów w uzależnieniu od nazwy procka wiem doskonale <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Sęk w tym, że chciałem się dowiedzieć jak się to profesjonalnie robi. Tzn właśnie jak zrealizować, żeby sam kompilator nie linkował funkcji które nie są używane, jak podzielić bibliotekę na odpowiednie warstwy abstrakcji sprzętowej (HAL) itp <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> W najprostszym przypadku to mogę sobie po prostu skopiować bibliotekę n-razy opatrzyć je o odpowiednie instrukcje &quot;#if defined&quot; i pozmieniać odpowiednie rejestry i flagi. ale chyba nie o to chodzi...<br /></div><br /><br />Zatem, wg mnie, powinieneś zacząć studiować bibliotekę Lufa:<br /><!-- m --><a class="postlink" href="https://github.com/abcminiuser/lufa" >https://github.com/abcminiuser/lufa</a><!-- m --><br /><br />W mojej, skromnej, opinii to jest właśnie taki projekt, o jakim piszesz.<br />Wieloplatformowy, wieloprocesorowy<br />Dodatkowo IRMP:<br /><!-- m --><a class="postlink" href="http://www.mikrocontroller.net/articles/IRMP" >http://www.mikrocontroller.net/articles/IRMP</a><!-- m --><br /><br />To z nich można wiele się nauczyć, ale nie jest to zbyt proste.<br />Gotowych rozwiązań, sposobów to pewnie nikt Ci nie napisze.<br />No chyba, że Mirek w PurpleBooku... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4075">szymonciow</a> — 23 lis 2016, o 15:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jatsekku]]></name></author>
<updated>2016-11-23T14:59:00+01:00</updated>
<published>2016-11-23T14:59:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175442#p175442</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175442#p175442"/>
<title type="html"><![CDATA[Re: Uniwersalne biblioteki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175442#p175442"><![CDATA[
Akurat to, że mogę sobie wyłączać lub włączać do kompilacji fragmenty programów w uzależnieniu od nazwy procka wiem doskonale <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Sęk w tym, że chciałem się dowiedzieć jak się to profesjonalnie robi. Tzn właśnie jak zrealizować, żeby sam kompilator nie linkował funkcji które nie są używane, jak podzielić bibliotekę na odpowiednie warstwy abstrakcji sprzętowej (HAL) itp <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> W najprostszym przypadku to mogę sobie po prostu skopiować bibliotekę n-razy opatrzyć je o odpowiednie instrukcje &quot;#if defined&quot; i pozmieniać odpowiednie rejestry i flagi. ale chyba nie o to chodzi...<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3920">Jatsekku</a> — 23 lis 2016, o 14:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[szymonciow]]></name></author>
<updated>2016-11-23T14:43:11+01:00</updated>
<published>2016-11-23T14:43:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175441#p175441</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175441#p175441"/>
<title type="html"><![CDATA[Re: Uniwersalne biblioteki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175441#p175441"><![CDATA[
<div class="quotetitle">Jatsekku napisał(a):</div><div class="quotecontent"><br />Witam! <br />Chciałem sobie odświeżyć nieco biblioteki i rozszerzyć je o kilka procesorków. <br />Macie jakieś sprawdzone sposoby jak to wszystko linkować ze sobą? <br />Mirekk36 wspominał coś o tym, że można to realizować na wzór struktury V-usb. <br />Ale nie do końca rozumiem, jak oni uzależniają daną część kodu od danego procesorka.<br />Jedyne co mi przychodzi to wrzucenie wysoko poziomowych funkcji w jeden plik i linkowanie tych nisko poziomowych w górę biblioteki.<br /></div><br /><br />Pytanie zaiste nie za bardzo zrozumiałe <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Gdy miały mnie ponieść wodze fantazji to odpowiedziałbym tak:<br />Jest sposób na rozszerzenie bibliotek o nowe procesory.<br />Ładujesz do Eclipsa projekt zgodny z pewnym procesorem, sprawdzasz czy kod działa poprawnie.<br />Później zmieniasz na inny procesor w ustawieniach projektu i znowu sprawdzasz, jeśli projekt działa poprawnie, to cieszysz się z rozszerzonej biblioteki.<br />Jeśli nie działa, to bierzesz do ręki noty katalogowe procka działającego i niedziałającego i tak długo poprawiasz błędy aż zacznie działać.<br />Zwykle różnice są w rejestrach i flagach.<br />Później korzystasz z opcji preprocesora i np warunkiem:<br />#if defined __AVR_ATmega32__<br />#endif<br />ustalasz opcje dla konkretnego procesora, resztę załatwia Eclipse, który automatycznie steruje makefile'em w zależności od wybranego procka.<br />Nie mam tylko pewności czy o to Ci chodziło <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br /><div class="quotetitle">Jatsekku napisał(a):</div><div class="quotecontent"><br />Myśl trochę skrócona <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Cytat z elektrody:<br /><br />&quot;Zobacz sobie na &quot;pseudo biblioteki&quot; np V-USB...<br /></div><br />Od dawna zachodzę w głowę, co ci &quot;Oni&quot; mają do bibliotek V-USB...<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 8 minutach ]</span></strong><br /><br /><div class="quotetitle">Jatsekku napisał(a):</div><div class="quotecontent"><br />Chodzi mi o to, żeby jedna biblioteka była uniwersalna dla wielu procesorów AVR, wisienką na torcie byłoby gdyby kompilator sam wykluczał niewykorzystywane funkcje.<br /></div><br /><br />To teraz rozumiem całkowicie.<br />Na dniach opublikuję pewien projekt, który prawdopodobnie trochę rozjaśni Ci ten temat.<br />Żeby za dużo na razie nie zdradzać, zrobiłem projekt korzystający z V-USB, który przystosowany jest jednocześnie do Atmega8, Atmega32, ATtiny85 i ATmega328P. Co jak dla mnie, początkującego, było sporym wyzwaniem i zajęło kupę czasu, a prace nadal są w toku.<br />Dodatkowo współpracuje również z ATmega32U4, ale to już inna bajka <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4075">szymonciow</a> — 23 lis 2016, o 14:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jatsekku]]></name></author>
<updated>2016-11-23T14:41:23+01:00</updated>
<published>2016-11-23T14:41:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175440#p175440</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175440#p175440"/>
<title type="html"><![CDATA[Re: Uniwersalne biblioteki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175440#p175440"><![CDATA[
Myśl trochę skrócona <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Cytat z elektrody:<br /><br />&quot;Zobacz sobie na &quot;pseudo biblioteki&quot; np V-USB, tam masz bardzo podobną wręcz identyczną sytuację, tylko jeden plik konfiguracyjny musisz przekopiować do folderu swojego projektu a reszta jest taka sama dla każdego projektu. Jak widać nie jest to jakieś cudowne rozwiązanie wymyślone tylko przeze mnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> &quot;<br /><br />Oni - twórcy biblioteki V-USB.<br /><br />Obojętnie, napisanie przez siebie biblioteki, które wykorzystują przerwania np. UART.<br /><br />Chodzi mi o to, żeby jedna biblioteka była uniwersalna dla wielu procesorów AVR, wisienką na torcie byłoby gdyby kompilator sam wykluczał niewykorzystywane funkcje.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3920">Jatsekku</a> — 23 lis 2016, o 14:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-11-23T14:32:09+01:00</updated>
<published>2016-11-23T14:32:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175439#p175439</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175439#p175439"/>
<title type="html"><![CDATA[Re: Uniwersalne biblioteki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175439#p175439"><![CDATA[
<div class="quotetitle">Jatsekku napisał(a):</div><div class="quotecontent"><br />Mirekk36 wspominał coś o tym, że można to realizować na wzór struktury V-usb.<br /></div><br />A gdzie ja coś takiego mówiłem ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> sam nie rozumiem co to w ogóle miałoby oznaczać co wyżej napisałeś.<br /><br /><div class="quotetitle">Jatsekku napisał(a):</div><div class="quotecontent"><br />Ale nie do końca rozumiem, jak oni uzależniają daną część kodu od danego procesorka.<br /></div><br />&quot;oni&quot; ... to znaczy kto ?<br /><br /><div class="quotetitle">Jatsekku napisał(a):</div><div class="quotecontent"><br />Chciałem sobie odświeżyć nieco biblioteki i rozszerzyć je o kilka procesorków.<br /></div><br />O jakich ty w ogóle bibliotekach piszesz ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 23 lis 2016, o 14:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jatsekku]]></name></author>
<updated>2016-11-23T14:02:44+01:00</updated>
<published>2016-11-23T14:02:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175438#p175438</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175438#p175438"/>
<title type="html"><![CDATA[Uniwersalne biblioteki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16882&amp;p=175438#p175438"><![CDATA[
Witam! <br />Chciałem sobie odświeżyć nieco biblioteki i rozszerzyć je o kilka procesorków. <br />Macie jakieś sprawdzone sposoby jak to wszystko linkować ze sobą? <br />Mirekk36 wspominał coś o tym, że można to realizować na wzór struktury V-usb. <br />Ale nie do końca rozumiem, jak oni uzależniają daną część kodu od danego procesorka.<br />Jedyne co mi przychodzi to wrzucenie wysoko poziomowych funkcji w jeden plik i linkowanie tych nisko poziomowych w górę biblioteki.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3920">Jatsekku</a> — 23 lis 2016, o 14:02</p><hr />
]]></content>
</entry>
</feed>