<?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=46&amp;t=8229&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-09-24T22:41:34+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=46&amp;t=8229&amp;mode</id>
<entry>
<author><name><![CDATA[Federerer]]></name></author>
<updated>2014-09-24T22:41:34+01:00</updated>
<published>2014-09-24T22:41:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=96626#p96626</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=96626#p96626"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=96626#p96626"><![CDATA[
<div class="quotetitle">Jado napisał(a):</div><div class="quotecontent"><br />Ja u siebie mam w tym miejscu zestaw makr np. takich:<br />Składnia: [ Pobierz ] [ Ukryj ]<br />język c<br /><br />    #define m_GPIOH_PIN_SET(pin)  GPIOH-&gt;BSRRL = (1 &lt;&lt; (pin))<br />    #define m_GPIOH_PIN_CLR(pin)  GPIOH-&gt;BSRRH = (1 &lt;&lt; (pin))<br />     <br />    a potem:<br />     <br />    #define VS1053_xCS 10 // numer pinu do ktorego bedzie podlaczony pin xCS VS1053<br />    #define VS1053_xCS_PIN_LOW  m_GPIOH_PIN_CLR(VS1053_xCS) // uklad VS1053 wybrany (SPI)<br />    #define VS1053_xCS_PIN_HIGH  m_GPIOH_PIN_SET(VS1053_xCS) // uklad VS1053 zwolniony (SPI)<br /><br />GeSHi<br /><br /><br />Przy czym pod te makra można sobie podpinać &quot;wszelkie rodzaje odwołań&quot;, które pozwalają używać tego samego kodu przy różnych rodzajach i rodzinach procków (np. ARM i PIC32) - podmienia się tylko w odp. pliku lokalnym makro odwołujące się do konkretnych rejestrów.<br />Warstwa wyższa pozostaje ta sama.<br /></div><br /><br />Zrobiłem coś takiego (wkleiłem akurat dla avr ale to nieważne):<br /><br />[syntax=c]#define SPORT(port) (PORT ## port)<br />#define SDIR(port) (DDR ## port)<br />#define SPIN(port) (PIN ## port)<br />#define PIN(port) SPIN(port)<br />#define DIR(port) SDIR(port)<br />#define PORT(port) SPORT(port)<br />#define SET_PIN(port,pin)  SPORT(port) |= (1 &lt;&lt; pin)<br />#define RESET_PIN(port,pin)  SPORT(port) &amp;= ~(1 &lt;&lt; pin)<br />#define SET_INPUT(port,pin) SDIR(port) &amp;= ~(1 &lt;&lt; pin)<br />#define SET_OUTPUT(port,pin) SDIR(port) |= (1 &lt;&lt; pin)[/syntax]<br />i teraz jakie już zdefiniowane symbole mogę wykorzystać, żeby automatycznie dołączać fragment odpowiedni dla danego procesora/architektury przy pomocy [syntax=c]#if defined( symbol )[/syntax]? Dla avr wydaje mi się, że będzie to &quot;__AVR__&quot;, co np z STM32?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4440">Federerer</a> — 24 wrz 2014, o 22:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2014-09-22T20:28:30+01:00</updated>
<published>2014-09-22T20:28:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=96409#p96409</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=96409#p96409"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=96409#p96409"><![CDATA[
Kliknij prawym klawiszem na przekreślonym pliku i wybierz Resource Configurations - &gt; Exclude from Build... i odznacz ptaszka.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 22 wrz 2014, o 20:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PROTON]]></name></author>
<updated>2014-09-20T17:24:34+01:00</updated>
<published>2014-09-20T17:24:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=96160#p96160</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=96160#p96160"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=96160#p96160"><![CDATA[
Trafiłem na mały problemik, nie wiem z której strony ugryźć <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Korzystam CMSIS i mam problem z niektórymi plikami. <br /><a href="http://forum.atnel.pl/_obrazki/o/1315/f99b5e8cfaab0ecc218d4960ed9ae572.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1315/f99b5e8cfaab0ecc218d4960ed9ae572.jpg" alt="Obrazek" /></a><br />Jak użyć te przekreślone?<br /><br />Strukturę programu mam taką:<br />W pliku main.c jest <strong>#include &quot;stm32f4xx_hal.h&quot;</strong><br />W pliku stm32f4xx_hal.h jest <strong>#include &quot;stm32f4xx_hal_conf.h&quot;</strong> <br />Natomiast w stm32f4xx_hal_conf.h jest<br />[syntax=c]#define HAL_MODULE_ENABLED  <br />#define HAL_ADC_MODULE_ENABLED  <br />#define HAL_CAN_MODULE_ENABLED  <br />#define HAL_CRC_MODULE_ENABLED  <br />#define HAL_CRYP_MODULE_ENABLED  <br />#define HAL_DAC_MODULE_ENABLED  <br />#define HAL_DCMI_MODULE_ENABLED <br />#define HAL_DMA_MODULE_ENABLED<br />#define HAL_DMA2D_MODULE_ENABLED <br />#define HAL_ETH_MODULE_ENABLED <br />#define HAL_FLASH_MODULE_ENABLED <br />#define HAL_NAND_MODULE_ENABLED<br />#define HAL_NOR_MODULE_ENABLED<br />#define HAL_PCCARD_MODULE_ENABLED<br />#define HAL_SRAM_MODULE_ENABLED<br />#define HAL_SDRAM_MODULE_ENABLED<br />#define HAL_HASH_MODULE_ENABLED  <br />#define HAL_GPIO_MODULE_ENABLED<br />#define HAL_I2C_MODULE_ENABLED<br />#define HAL_I2S_MODULE_ENABLED<br />#define HAL_IWDG_MODULE_ENABLED <br />#define HAL_LTDC_MODULE_ENABLED <br />#define HAL_PWR_MODULE_ENABLED   <br />#define HAL_RCC_MODULE_ENABLED <br />#define HAL_RNG_MODULE_ENABLED   <br />#define HAL_RTC_MODULE_ENABLED<br />#define HAL_SAI_MODULE_ENABLED   <br />#define HAL_SD_MODULE_ENABLED  <br />#define HAL_SPI_MODULE_ENABLED   <br />#define HAL_TIM_MODULE_ENABLED   <br />#define HAL_UART_MODULE_ENABLED <br />#define HAL_USART_MODULE_ENABLED <br />#define HAL_IRDA_MODULE_ENABLED <br />#define HAL_SMARTCARD_MODULE_ENABLED <br />#define HAL_WWDG_MODULE_ENABLED  <br />#define HAL_CORTEX_MODULE_ENABLED<br />#define HAL_PCD_MODULE_ENABLED<br />#define HAL_HCD_MODULE_ENABLED[/syntax]<br /><br />Wszystkie są ENABLED, pliki nagłówkowe dołączone, natomiast przy próbie kompilacji mam &quot;undefined reference&quot;<br />Pliki &quot;.c&quot; są ale środowisko ich nie kompiluje i nie linkuje, jak te pliki odblokować?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1315">PROTON</a> — 20 wrz 2014, o 17:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-09-10T20:53:17+01:00</updated>
<published>2014-09-10T20:53:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=95008#p95008</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=95008#p95008"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=95008#p95008"><![CDATA[
<div class="quotetitle">AndreAs napisał(a):</div><div class="quotecontent"><br />FRDM-KL25Z<br /></div>   jest bardzo fajnym zestawem ten mały Cortex-M0+  jest naprawdę porządny i warto od niego zacząć.<br /><br /><div class="quotetitle">AndreAs napisał(a):</div><div class="quotecontent"><br />FRDM-K64F<br /></div><br /><br />Jej ekscelencja to potęga, powoli będzie o niej sporo na kinetis.pl i możliwe że i u mnie <br />niemniej na początek nie warto się rzucać na tego potworka.   Bo możesz szybko się zniechęcić <br />Powoli małymi kroczkami zacznij od tańszego , prostszego i mniejszego rdzenia ale z pazurkiem , a w miarę jedzenia albo weźmiesz dokładkę , albo się nasycisz , a tak ... czeka cię roztrój żołądka z przejedzenia i wymioty <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=58">SunRiver</a> — 10 wrz 2014, o 20:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AndreAs]]></name></author>
<updated>2014-09-10T20:44:22+01:00</updated>
<published>2014-09-10T20:44:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=95004#p95004</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=95004#p95004"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=95004#p95004"><![CDATA[
Jeżeli chodzi o zestaw to decyzję już pojąłem jakiś czas temu i ze względu na sunduino i kinetis.pl  wybiorę jakiś kinetis , fajny jest FRDM-K64F , ale większość przykładów jest na FRDM-KL25Z i FRDM-KL46Z . Chyba że koledzy pomożecie mi pojąć decyzję za co byłbym bardzo wdzięczny. Pozdrowienia .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2092">AndreAs</a> — 10 wrz 2014, o 20:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-09-10T19:44:51+01:00</updated>
<published>2014-09-10T19:44:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94987#p94987</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94987#p94987"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94987#p94987"><![CDATA[
kod zawarty w iniialize jest wstawiany po prostu podczas kompilacji we właściwe miejsce <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=58">SunRiver</a> — 10 wrz 2014, o 19:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PROTON]]></name></author>
<updated>2014-09-10T19:31:41+01:00</updated>
<published>2014-09-10T19:31:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94984#p94984</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94984#p94984"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94984#p94984"><![CDATA[
Ja nie narzekam, jak już zacząłem i pierwsze miganie diodami mam za sobą to samo idzie do przodu.<br />GPIO opanowałem, próbowałem z bibliotekami SPL i CMSIS, bardziej intuicyjne jest dla mnie pracowanie bezpośrednio na portach GPIO.<br />Teraz jestem na etapie testowania sprzętowego SPI z SSD1306.<br />Z książek nie korzystam, wystarczająco dużo jest materiałów w sieci.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1315">PROTON</a> — 10 wrz 2014, o 19:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-09-10T18:32:20+01:00</updated>
<published>2014-09-10T18:32:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94967#p94967</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94967#p94967"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94967#p94967"><![CDATA[
Cicho mi tu panowie , jest cienko cienko z dokumentacjami ... <br />dlaczego ??<br /><br />1. Trzeba je przeczytać <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=58">SunRiver</a> — 10 wrz 2014, o 18:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-09-10T09:33:21+01:00</updated>
<published>2014-09-10T09:33:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94908#p94908</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94908#p94908"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94908#p94908"><![CDATA[
<div class="quotetitle">AndreAs napisał(a):</div><div class="quotecontent"><br />Bo sam zestaw to nie wszystko , liczy się jeszcze wsparcie jakie dany zestaw posiada a z tym jest naprawdę cienko , ba nawet bardzo cienko .<br /></div><br /><br />Polemizował bym, do FRDM masz książkę, co prawda na środowisku CW, ale nowy KDS praktycznie to to samo, są szczegóły, ale autor obecny na tym forum (SunRiver) pomoże.<br /><br />Książki z BTC może nie powalają, ale by zacząć są wystarczające. Dokumentacja do Kinetisa i STMa jest naprawdę przejrzyście napisana, nie ma problemu z zrozumieniem.<br />Przykładów na stronie STM32.eu, czy Kinetis.pl i wielu innych polskich stronach jest zatrzęsienie.<br /><br />Jedynie na co można narzekać, to iż do zestawów nie dodają &quot;chęci do nauki&quot; w gratisie. Tu niestety trzeba samemu zadbać o systematyczność.<br />Nie ma co narzekać, kupić najtańszego FRDM, czy STMa i działać, migać diodą, odczytywać dane z accelerometru w zestawie by coś się działo. Do wszystkich komponentów są gotowe biblioteki.<br />Po za tym darmowe środowiska i debuger na pokładzie, czego więcej chcieć ?<p>Statystyki: Napisane przez Gość — 10 wrz 2014, o 09:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[AndreAs]]></name></author>
<updated>2014-09-09T20:55:03+01:00</updated>
<published>2014-09-09T20:55:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94865#p94865</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94865#p94865"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94865#p94865"><![CDATA[
No właśnie ja też od dłuższego czasu zadaje sobie to pytanie od czego zacząć przygodę z ARM ??? . I moja konkluzja  jest taka , że na rynku jest dosłownie za trzęsienie zestawów różnych firm  , i..... właściwie na tym się kończy cała zabawa . Bo sam zestaw to nie wszystko , liczy się jeszcze wsparcie jakie dany zestaw posiada a z tym jest naprawdę cienko , ba nawet bardzo cienko .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2092">AndreAs</a> — 9 wrz 2014, o 20:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Federerer]]></name></author>
<updated>2014-09-06T00:55:41+01:00</updated>
<published>2014-09-06T00:55:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94423#p94423</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94423#p94423"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94423#p94423"><![CDATA[
Przyda się, bo do teraz robiłem tak, że tworzyłem projekt z szablonu a potem usuwałem wszystkie niepotrzebne rzeczy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4440">Federerer</a> — 6 wrz 2014, o 00:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ps19]]></name></author>
<updated>2014-09-05T19:57:02+01:00</updated>
<published>2014-09-05T19:57:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94391#p94391</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94391#p94391"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94391#p94391"><![CDATA[
Ja w ogóle nie używam tych plików, jeżeli przy tworzeniu projektu wybierzecie konfigurację pod konkretną rodzinę procesora np. STM32F1x... to eclipse wrzuca mnóstwo niepotrzebnych plików. Polecam użyć opcji Cross GCC i powrzucać tylko to co się potrzebuje <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><!-- m --><a class="postlink" href="http://promikro.com.pl/wp-content/uploads/2013/04/21/stm32-beginning-full-images.pdf" >http://promikro.com.pl/wp-content/uploa ... images.pdf</a><!-- m --><br /><br />Od strony 22 <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> potem trzeba wejść w system_stm32f.....c  i zakomentować/odkomentować odpowiednie definicje tak aby procek śmigał na wymaganej przez nas częstotliwości.<br /><br />Potem do maina SystemCoreClockUpdate(); i powinno chodzić np, na 168 Mhz<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=230">ps19</a> — 5 wrz 2014, o 19:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PROTON]]></name></author>
<updated>2014-09-05T19:44:58+01:00</updated>
<published>2014-09-05T19:44:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94389#p94389</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94389#p94389"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94389#p94389"><![CDATA[
Dokładnie, też do tego doszedłem, wystarczy w <strong>_initialize_hardware.c</strong> zaremować  <strong>configure_system_clock();</strong> i widać że układ działa na 8 MHz.<br />Skonfigurowany jest też SysTick, bez pustej funkcji <strong>void SysTick_Handler(void){}</strong> układ się zatrzymuje.<br /><br />Pytanie, gdzie i jak on się wykonuje przed main?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1315">PROTON</a> — 5 wrz 2014, o 19:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Federerer]]></name></author>
<updated>2014-09-05T18:09:25+01:00</updated>
<published>2014-09-05T18:09:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94379#p94379</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94379#p94379"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94379#p94379"><![CDATA[
Zawartość tego pliku jest wykonywana przed mainem, nie wiem tylko w jaki sposób jest ona wywoływana. Podejrzewam, że jest to zawarte w pliku startowym, ale przydałoby się potwierdzenie przez kogoś bardziej doświadczonego.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4440">Federerer</a> — 5 wrz 2014, o 18:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[ps19]]></name></author>
<updated>2014-09-05T15:52:29+01:00</updated>
<published>2014-09-05T15:52:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94364#p94364</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94364#p94364"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94364#p94364"><![CDATA[
Nie trzeba includujesz tylko stm32f10x.h (zależy od rodziny procka)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=230">ps19</a> — 5 wrz 2014, o 15:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PROTON]]></name></author>
<updated>2014-09-05T13:42:38+01:00</updated>
<published>2014-09-05T13:42:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94349#p94349</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94349#p94349"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94349#p94349"><![CDATA[
<div class="quotetitle">SunRiver napisał(a):</div><div class="quotecontent"><br />popatrz u mnie na stronie , masz keplera i LUnę  oraz opis co jak ustawić , masz też darmowy CoIDE  wystarczy pokopac u mnie na stronie w dziale arm <br /><img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br />Zainstalowałem keplera. <br />Po utworzeniu nowego pustego projektu typu STM32F4xx C/C++ Project, toolchain Cross ARM GCC<br />pojawiają się dwa pliki src:<br />main.c<br />__initialize_hardware.c<br /><br />Czy w <strong>main.c</strong> trzeba includować <strong>__initialize_hardware.c</strong>, żadnego połączenia pomiedzy plikami nie widzę, ale chyba się inicjalizuje.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1315">PROTON</a> — 5 wrz 2014, o 13:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jado]]></name></author>
<updated>2014-09-03T15:46:35+01:00</updated>
<published>2014-09-03T15:46:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94120#p94120</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94120#p94120"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94120#p94120"><![CDATA[
<div class="quotetitle">Federerer napisał(a):</div><div class="quotecontent"><br />Mogę napisać tylko:<br /><br />[syntax=c]GPIOx-&gt;BSRRx = GPIO_Pin;[/syntax]<br /><br />licząc się z ewentualną dodatkową robotą przy zmianie procesora na inny.<br />Mam nadzieję, że teraz wszystko dobrze rozumiem?<br /></div><br /><br />Ja u siebie mam w tym miejscu zestaw makr np. takich:<br />[syntax=c]#define m_GPIOH_PIN_SET(pin)  GPIOH-&gt;BSRRL = (1 &lt;&lt; (pin))<br />#define m_GPIOH_PIN_CLR(pin)  GPIOH-&gt;BSRRH = (1 &lt;&lt; (pin))<br /><br />a potem:<br /><br />#define VS1053_xCS 10 // numer pinu do ktorego bedzie podlaczony pin xCS VS1053<br />#define VS1053_xCS_PIN_LOW  m_GPIOH_PIN_CLR(VS1053_xCS) // uklad VS1053 wybrany (SPI)<br />#define VS1053_xCS_PIN_HIGH  m_GPIOH_PIN_SET(VS1053_xCS) // uklad VS1053 zwolniony (SPI)[/syntax]<br /><br />Przy czym pod te makra można sobie podpinać &quot;wszelkie rodzaje odwołań&quot;, które pozwalają używać tego samego kodu przy różnych rodzajach i rodzinach procków (np. ARM i PIC32) - podmienia się tylko w odp. pliku lokalnym makro odwołujące się do konkretnych rejestrów.<br />Warstwa wyższa pozostaje ta sama.<br /><br />Wtedy nie musisz szukać po całym kodzie odwołań do portów - masz wszystko w jednym miejscu i wystarczy tam podmienić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=852">Jado</a> — 3 wrz 2014, o 15:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Federerer]]></name></author>
<updated>2014-09-03T15:13:37+01:00</updated>
<published>2014-09-03T15:13:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94118#p94118</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94118#p94118"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94118#p94118"><![CDATA[
Ja to wszystko wiem i rozumiem, tylko błędnie zakładałem, że funkcje zawarte w HAL-u są oparte bezpośrednio na kodzie SPL-a. Zajrzałem sobie do źródeł i widzę różnice. Wygląda na to, że wszystko zostało napisane w większości od nowa. Np w SPL-u przy inicjalizacji GPIO nie ma w ogóle konfiguracji funkcji alternatywnych, a HAL jest kompletny.<br /><br />Czyli zasadniczo dzięki standaryzacji, biorąc mikrokontroler od innego producenta nazwy funkcji i struktury pozostają zawsze te same, jedynie zawartość funkcji obsługujących peryferia, która jest dostarczana przez producenta danego układu jest różna. Plusy tego rozwiązania są oczywiste - przenośność kodu. Minusy też - marnujemy czas procesora i flash. Ale przy aktualnych pojemnościach flasha i uwzględniając fakt, że inicjalizację peryferiów przeprowadza się zwykle tylko raz na początku, ma to wszystko sens. Jedynie w miejscach bardziej krytycznych czasowo można pokusić się o bezpośrednie odwołania do rejestrów. Np zamiast wywoływać funkcję:<br /><br />[syntax=c]void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)<br />{<br />  /* Check the parameters */<br />  assert_param(IS_GPIO_PIN(GPIO_Pin));<br />  assert_param(IS_GPIO_PIN_ACTION(PinState));<br /><br />  if(PinState != GPIO_PIN_RESET)<br />  {<br />    GPIOx-&gt;BSRRL = GPIO_Pin;<br />  }<br />  else<br />  {<br />    GPIOx-&gt;BSRRH = GPIO_Pin ;<br />  }<br />}[/syntax]<br /><br />Mogę napisać tylko:<br /><br />[syntax=c]GPIOx-&gt;BSRRx = GPIO_Pin;[/syntax]<br /><br />licząc się z ewentualną dodatkową robotą przy zmianie procesora na inny.<br /><br />Mam nadzieję, że teraz wszystko dobrze rozumiem?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4440">Federerer</a> — 3 wrz 2014, o 15:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2014-09-03T11:50:27+01:00</updated>
<published>2014-09-03T11:50:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94110#p94110</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94110#p94110"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94110#p94110"><![CDATA[
Na początek, całkowity mogę śmiało polecić FRDM KL25Z na mbed.org <br />Do zapoznania z platformą starczy, potem można iść w KDSa.<br />ewentualnie Nucleo, bo też jest zgodne z shieldami ardunio <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />.<p>Statystyki: Napisane przez Gość — 3 wrz 2014, o 11:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PROTON]]></name></author>
<updated>2014-09-03T08:16:49+01:00</updated>
<published>2014-09-03T08:16:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94091#p94091</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94091#p94091"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94091#p94091"><![CDATA[
<!-- m --><a class="postlink" href="http://ep.com.pl/files/2736.pdf" >http://ep.com.pl/files/2736.pdf</a><!-- m --><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br /><em>&quot;Biblioteka STM32F10x Standard Peripherals Library V3.1.0 wykorzystuje standard CMSIS, a więc warto się nieco z nim zapoznać. Standard CMSIS (Cortex Microcontroller Software Interface Standard) jest to uniwersalny interfejs programowy, stworzony przez firmę ARM, który umożliwia komunikację z peryferiami i rdzeniem Cortex za pomocą ustandaryzowanych funkcji i definicji. CMSIS dostarcza mechanizmów do obsługi układów peryferyjnych, systemów operacyjnych czasu rzeczywistego oraz aplikacji wykorzystujących interfejsy komunikacyjne: Ethernet, UART oraz SPI.&quot;</em><br /></div><br />Napisane jest że SPL wykorzystuje standard CMSIS ale nie jest napisane że jest z nim zgodne, stąd te subtelne różnice.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1315">PROTON</a> — 3 wrz 2014, o 08:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Federerer]]></name></author>
<updated>2014-09-02T21:24:01+01:00</updated>
<published>2014-09-02T21:24:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94060#p94060</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94060#p94060"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94060#p94060"><![CDATA[
Hmm, w sumie nie zaglebialem sie w to nigdy. Funkcje po nazwach wygladaly mi tak samo, to myslalem ze w srodku jest to samo. Podpowie ktoś gdzie popełniam błąd?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4440">Federerer</a> — 2 wrz 2014, o 21:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-09-02T18:51:40+01:00</updated>
<published>2014-09-02T18:51:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94025#p94025</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94025#p94025"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=94025#p94025"><![CDATA[
<div class="quotetitle">Federerer napisał(a):</div><div class="quotecontent"><br />To jest generalnie to samo, tylko aktualnie nazywa się HAL, a kiedyś było SPL-em<br /></div><br /><br />a cóż to za herezje ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 2 wrz 2014, o 18:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Federerer]]></name></author>
<updated>2014-09-02T15:14:08+01:00</updated>
<published>2014-09-02T15:14:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=93976#p93976</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=93976#p93976"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=93976#p93976"><![CDATA[
To jest generalnie to samo, tylko aktualnie nazywa się HAL, a kiedyś było SPL-em <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4440">Federerer</a> — 2 wrz 2014, o 15:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[PROTON]]></name></author>
<updated>2014-09-02T15:01:55+01:00</updated>
<published>2014-09-02T15:01:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=93975#p93975</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=93975#p93975"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=93975#p93975"><![CDATA[
Już znalazłem tą subtelną różnicę <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />pierwszy przykład wymaga biblioteki <strong>STM32F4xx_StdPeriph_Driver</strong><br />[syntax=c]#include &quot;stm32f4xx_gpio.h[/syntax]<br /><br />drugi wymaga biblioteki <strong>CMSIS</strong><br />[syntax=c]#include &quot;stm32f4xx_hal.h&quot;[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1315">PROTON</a> — 2 wrz 2014, o 15:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xbary]]></name></author>
<updated>2014-09-02T14:27:44+01:00</updated>
<published>2014-09-02T14:27:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=93973#p93973</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=93973#p93973"/>
<title type="html"><![CDATA[Re: ARM od czego zacząć?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=8229&amp;p=93973#p93973"><![CDATA[
<div class="quotetitle">PROTON napisał(a):</div><div class="quotecontent"><br />Może mo ktoś wyjaśnić skąd się biorą subtelne różnice w przykładowych kodach ARM?<br /><br />Kod niedziałający<br />[syntax=c]GPIO_InitTypeDef GPIO_InitStructure;<br />/* LED_GPIO Periph clock enable */<br />RCC_APB2PeriphClockCmd(LED_GPIO_RCC, ENABLE);<br /><br />/* Configure LED pin in output pushpull mode */<br />GPIO_InitStructure.GPIO_Pin = LED_Pin;<br />GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;<br />GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;<br />GPIO_Init(LED_GPIO, &amp;GPIO_InitStructure);[/syntax]<br /><br />Kod działający<br />[syntax=c]GPIO_InitTypeDef GPIO_InitStructure;<br />/* LED_GPIO Periph clock enable */<br />RCC-&gt;AHB1ENR |= RCC_AHB1ENR_GPIOBEN;<br /><br /> /* Configure LED pin in output pushpull mode */<br />GPIO_InitStructure.Pin = LED_Pin;<br />GPIO_InitStructure.Speed = GPIO_SPEED_FAST;<br />GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;<br />GPIO_InitStructure.Pull = GPIO_PULLUP;<br />HAL_GPIO_Init(LED_GPIO, &amp;GPIO_InitStructure);[/syntax]<br /></div><br /><br /><br />Chyba tego nikt nie odgadnie dlaczego. Pokaż cały kod inkludy, na jakich płytkach lub ewentualnie schemat, założyć osobny wątek.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=447">xbary</a> — 2 wrz 2014, o 14:27</p><hr />
]]></content>
</entry>
</feed>