Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 23 wrz 2019, o 07:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 4 wrz 2019, o 18:45 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 37
Pomógł: 0

Przeglądając internet znalazłem ciekawą płytkę z mikroprocesorem NXP iMXRT1062 ARM Cortex-M7 taktowaną zegarem 600 MHz.
Poniżej widok płytki oraz opis pinów płytki:

Obrazek

Obrazek


Ciekawostką jest to że płytkę Teensy 4.0 ARM można programować z poziomu oprogramowania ARDUINO IDE instalując odpowiednią nakładkę.
Skrócony opis płytki oraz sposób instalacji oprogramowania narzędziowego zawarty jest w poniższym załączniku.
Mikroprocesor NXP iMXRT1062 ARM Cortex-M7 posiada na pokładzie między innymi 3 kanały transmisji CAN. Wydaje mi się, że korzystając z oprogramowania Arduino IDE oraz biblioteki przykładowych programów zawierającej również przykłady dla transmisji CAN można napisać własne programy dla obsługi tej transmisji.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2019, o 07:09 
Offline
Użytkownik

Dołączył(a): 18 sie 2019
Posty: 52
Pomógł: 2

artom napisał(a):
Wydaje mi się, że korzystając z oprogramowania Arduino IDE oraz biblioteki przykładowych programów zawierającej również przykłady dla transmisji CAN można napisać własne programy dla obsługi tej transmisji.

Teoretycznie tak w praktyce nikt tego na ArduinoIDE nie robi. Podobnie było w zamierzchłych czasach komputerów 8-bit (Atari, C-64, ZXspectrum) gdzie program pisało się na dużych komputerach ewentualne z użyciem rozbudowanych 8-bit (rozszerzony RAM) albo wykorzystując dodatkowy 8-bit. Wiele programów można było napisać bez dodatkowych "ekstrawagancji" ale trwało to długo.
Warto zauważyć, że wszystkie współczesne mikrokontrolery, nawet AVR (mega8 nie jest współczesny), ma debuger, niestety, do dziś, nie zauważono tego w Arduino, dlatego program dla niego, zwłaszcza taki, który wykorzystuje sprzęt (biblioteki), pisze się na IDE, które obsługuje debuger po czym gotowy kod portuje na Arduino. Naturalnie jeśli ktoś ma dużo czasu, może rzeźbić w ArduinoIDE ale przy rozbudowanych peryferiach praca nad softem może trwać długo. Na co dzień używam debugera. Bez niego niektóre programy pisałbym bardzo ale to bardzo długo. Można oczywiście dopisać sobie jakiś program monitora, który potrzebował będzie zasobów (przerwanie dla break, komunikacja np USART) a co z desasseblerem? Można napisać ale to oznacza duży nakład pracy, niepotrzebnej pracy, którą zrobili już producent układu udostępniając darmowy soft debugera.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2019, o 07:48 
Offline
Użytkownik

Dołączył(a): 17 kwi 2019
Posty: 26
Pomógł: 0

fakt - brak debugowania w arduino IDE, bolał użytkowników od dawna, ale ogólnie to środowisko to "tylko byle coś było".
Jest masa zamienników i wtedy już opcja debugowania jest - oczywiście o ile posiadany programator i dany procek umożliwiają - z cortexami Mx nie ma problemów - w AVRach tych nowszych pewnie też z nowymi programatorami, czy tymi starszymi w przypadku posiadania jakiegoś JTAGa - aczkolwiek tu mógłby mnie ktoś poprawić jak to dokładnie jest. Możliwe, że te najnowsze płytki arduino, które nie są już jakoś popularne też oferują wiele dodatkowych możliwości.
Z innych środowisk - można skorzystać z vMicro do VScode/Atmel Studio i mieć debugowanie np na BluePillach, czy też z kombajnu PlatformIO - i tam podpiąć praktycznie dowolny edytor jaki się lubi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2019, o 08:15 
Offline
Użytkownik

Dołączył(a): 18 sie 2019
Posty: 52
Pomógł: 2

qwertownik napisał(a):
w AVRach tych nowszych pewnie też z nowymi programatorami, czy tymi starszymi w przypadku posiadania jakiegoś JTAGa - aczkolwiek tu mógłby mnie ktoś poprawić jak to dokładnie jest.

Kiedyś używałem AVR, jak jest teraz nie wiem, ale JTAG-em nie da się debugować czegoś co miało styczność z ArduinoIDE bo bootloader wyłącza JTAG. Po co robi to przez fuses? Nie wiem. JTAG niedoswiadczeni programiści wyłączają przez fuses, zamiast zrobić to programem. W Arduino bootloader wywoływany jest po resecie, jaki problem wyłączyć programowa JTAG? Wnioskuję, że programiści tworzący Arduino nie byli doświadczeni (to jednak studenci) i nie nabrali dobrych nawyków. Niestety, kolejne bootloader mają ten sam błąd a raczej nieoptymalne rozwiązanie. Jak jest z debugwire nie wiem, nie sprawdzałem czy Arduino wyłącza go.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO