Dyskusja poboczna z tematu Kurs XMEGA

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
keruseykaryu

Post autor: keruseykaryu » 18 lis 2013, 10:39

leonow32 pisze:- FLIP –
– warto dodać, że procesor na płytce XMEGA X3-DIL64 z Leon Instruments ma FLIP wgrany fabrycznie, a przycisk uruchamiający tryb programowania FLIP jest dostępny na płytce.
Ni ma to jak Product Placement. :D
leonow32 pisze:- AVR ISP mkII –
Na stronie AVT, Kamami i allegro jest dostępna cała masa różnorodnych klonów mkII za bardzo atrakcyjną cenę. Polecam ten programator wszystkim hobbystom.
A Atmel se wypuści nowe Studio i 90% takich klonów przestanie działać, bo Studio będzie się upierać co by wgrać nowszy firmware. Dziękuję, postoję.
leonow32 pisze:- AVR Dragon –
AVR Dragon polecam dla profesjonalistów i bardziej zaawansowanych hobbystów.
A jak któraś Xmega nie ma JTAG to pupa, nie zaprogramujesz bo PDI skopane. I jak możesz pisać, że Dragon robiony wtedy na kolanie to dla profesjonalistów jest? :shock: Jak już to JTAG ICE 3.

I na koniec dla posiadaczy konta w Noble Banku: AVR One. :mrgreen:

Awatar użytkownika
radzio
Użytkownik
Posty: 573
Rejestracja: 07 gru 2004, 23:06
Lokalizacja: Sosnowiec
Kontakt:

Post autor: radzio » 18 lis 2013, 16:17

keruseykaryu pisze:I na koniec dla posiadaczy konta w Noble Banku: AVR One. :mrgreen:
Niestety masz rację. Smutne jest to, że "core businessem" firmy Atmel (i jej dystrybutorów także) jest sprzedaż narzędzi do mikrokontrolerów, a nie sprzedaż mikrokontrolerów.
keruseykaryu pisze:A Atmel se wypuści nowe Studio i 90% takich klonów przestanie działać, bo Studio będzie się upierać co by wgrać nowszy firmware.
Ta sytuacja ma chyba miejsce już obecnie? W AS6 klony raczej nie działają?
keruseykaryu pisze:I jak możesz pisać, że Dragon robiony wtedy na kolanie to dla profesjonalistów jest?
No bo tylko profesjonaliści są w stanie sobie poradzić z brakiem obudowy i łatwopalnymi wyjściami. Amatorzy zaraz popalą wyjścia.

Niestety, uważam że XMegi to trochę ślepa ścieżka ewolucji i ładowanie w ich naukę tak ogromnych środków finansowych (np. wspomniany AVR One w cenie wyszpachlowanego VW Golfa III, czy nawet kosztujacy pół tysiąca JTAG ICE 3) jest mało opłacalne.
A teraz weźmy takie ARMy - pełnoprawny JTAG to koszt od kilkudziesięciu złotych w przypadku rozwiązań na FT2232 do stukilkunastu (ST-Link). No i oczywiście nie ograniczamy się do rozwiązań jednego producenta, który w dowolnej chwili może wstrzymać dostawy i mieć klientów w poważaniu, jak to swego czasu z firmą Atmel było.

Awatar użytkownika
leonow32
-
Posty: 7
Rejestracja: 10 cze 2011, 19:19
Lokalizacja: Poznań

Post autor: leonow32 » 18 lis 2013, 17:35

Mam podróbę mkII i działa pod Atmel Studio 6.1 bez żadnego problemu. Jak przechodziłem z wersji 6.0 na 6.1 to trzeba było soft zaktualizować i śmiga dalej :) Xmegi bez JTAGA to dinozaury i są na wymarciu, o ile już nie wyginęły, więc nie ma problemu. Dragon z Xmegami chodzi bardzo sprawnie. O innych programatorach nie pisałem, bo są niewspółmiernie drogie w stosunku do ceny.


Kurs będzie kontynuowany w EP, na mojej stronie i tu. Jednak wersja dla EP i wersja internetowa nie jest identyczna, bo EP niestety z gumy nie jest :) Odcinki w internecie będą pojawiały się co tydzień.

XMEGA fajna jest i bardzo tanie są te procki. Np. ekonomiczna ATxmega32E5 kosztuje niecałe 10zł brutto, a w pełni wypasiona ATxmega128A1U jest za 18,90 :) programator FLIP jest za darmo, bo kabelek USB każdy ma, mkII kosztuje jakieś 80zł więc to nie są raczej wielkie nakłady finansowe ;)

Wojtek
Moderator
Posty: 2604
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 18 lis 2013, 21:28

Czekamy w takim razie na kontynuację. Mam propozycje do moderatora aby dyskusje na temat tego kursu czy też poradnika przenieść do osobnego tematu, a tu zostawić miejsce dla autora tak aby nie zaciemniać głownego tematu.

Awatar użytkownika
leonow32
-
Posty: 7
Rejestracja: 10 cze 2011, 19:19
Lokalizacja: Poznań

Post autor: leonow32 » 18 lis 2013, 21:30

Dyskusje są jak najbardziej wskazane ;) proszę nie usuwać

Awatar użytkownika
kayron
Użytkownik
Posty: 2066
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 19 lis 2013, 17:27

A to nie jest przypadkiem ten kurs?
http://www.mikrokontroler.pl/content/mi ... -by-zaczac

Zobaczymy jak ci to wyjdzie, bo na razie jest to bardziej poradnik niż kurs.
Jak dobrze opiszesz, różnice, między zwykłymi AVRemi, a XMEGAmi, i konkretnie opiszesz to co najważniejsze w XMEGA czyli DMA i jego zastosowania, to może z tego coś być.

Ja właśnie podziękowałem AVRom, głównie przez GCC i jego składnię.
Takie zapisy zawsze mi mieszają w głowie.

PORTA.DIR = (1 << PIN1_bp) | (1 << PIN0_bp);

Bo nigdy dobrze nikt mi nie wytłumaczył kolejności takiego zapisu. Domyślam siś że zaczynamy od najstarszego do najmłodszego bitu w rejestrze ?

Dla tego wolę klasyczne ANSI C. z takim zapisem:

PORTA.DIR = 0b00000011;

Ja ogólnie przesiadłem się na 8-bitowe PICi, mam tam czyściutki kompilator zgodny w 98% z ANSI C, czyli kod jest taki sam jak na PC.
Jeżeli chodzi o predefiniowane symbole, też są, a zawsze jest dostępne #define.
Nawet jeżeli zapiszę na PICu to tak dziecinnie np.

Kod: Zaznacz cały

PS1= 1;
PS0 =1;
INTEGD = 1;
to kompilator i tak mi to przetłumaczy jak bym to zapisał od razu tak:

Kod: Zaznacz cały

OPTION_REG = 0b01000011;
Ostatnio zmieniony 19 lis 2013, 18:29 przez kayron, łącznie zmieniany 1 raz.

Awatar użytkownika
radzio
Użytkownik
Posty: 573
Rejestracja: 07 gru 2004, 23:06
Lokalizacja: Sosnowiec
Kontakt:

Post autor: radzio » 19 lis 2013, 18:12

kayron pisze:A to nie jest przypadkiem ten kurs?
http://www.mikrokontroler.pl/content/mi ... -by-zaczac
Duplicate content :cool:
kayron pisze:Zobaczymy, ale ja właśnie podziękowałem AVRom, głównie przez GCC i jego składnię.
Takie zapisy zawsze mi mieszają w głowie.

PORTA.DIR = (1 << PIN1_bp) | (1 << PIN0_bp);

Bo nigdy dobrze nikt mi nie wytłumaczył kolejności takiego zapisu. Domyślam siś że zaczynamy od najstarszego do najmłodszego bitu w rejestrze ?
Kolejnosć to akurat nie ma najmniejszego znaczenia, sumą i tak jest zwykła liczba obliczona w trakcie kompilacji. Pozatym to nie jest "składnia GCC" taki zapis możesz stosować gdziekolwiek bądź, nawet na PC. To są zwykłe operatory zwykłego języka C. Pozatym nikt Ci nie narzuca stosowania takiego zapisu, pisz sobie jak chcesz.

A co do zapisu

Kod: Zaznacz cały

PORTA.DIR = 0b00000011;
to prefix 0b raczej w standardzie ANSI C nie występuje.

Awatar użytkownika
kayron
Użytkownik
Posty: 2066
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 19 lis 2013, 18:32

A co do zapisu
Kod:
PORTA.DIR = 0b00000011;

to prefix 0b raczej w standardzie ANSI C nie występuje.
A tu jest ? Ale też napisałem że to w 98% ANSCI C. Faktycznie przykład podałem trochę niefortunnie.
Ostatnio zmieniony 19 lis 2013, 18:36 przez kayron, łącznie zmieniany 1 raz.

keruseykaryu

Post autor: keruseykaryu » 19 lis 2013, 18:33

radzio pisze:Ta sytuacja ma chyba miejsce już obecnie? W AS6 klony raczej nie działają?
Klony działają, ale jest właśnie to "ale". Potrzebujesz skompilować i wgrać coś na szybko. AS6 się zaktualizował i masz przekichane. Musisz poczekać, aże kto napisze jakąś łatkę by się AS nie wygłupiał. W przypadku oryginała tego nie uświadczysz. Wgrywa się nowy, programujesz dalej.
To jest cena, że chciałeś mieć ISP MK2 za pół ceny.
radzio pisze:Niestety, uważam że XMegi to trochę ślepa ścieżka ewolucji i ładowanie w ich naukę tak ogromnych środków finansowych (np. wspomniany AVR One w cenie wyszpachlowanego VW Golfa III, czy nawet kosztujacy pół tysiąca JTAG ICE 3) jest mało opłacalne.
Tu się nie zgodzę przynajmniej w z początkiem. Xmega to coś co powinno w AVR być od razu. Wszystko tak samo, unifikacja, nie że w Mega8 licznik tak, w Mega128 licznik tak. Xmega to przejrzysty procek. Do tego uczy nawyków jakie później mogą się przydać w ARM vide peryferia pod adresami bazowymi i struktury.
Pamiętasz Radku jak ICE3 były po 900PLN? Nie ma co narzekać.
kayron pisze:Ja ogólnie przesiadłem się na 8-bitowe PICi, mam tam czyściutki kompilator zgodny w 98% z ANSI C, czyli kod jest taki sam jak na PC.
Ciekawe ile za niego zabuliłeś, bo Microchip nie jest skory do rozdawania za darmo pełnych wersji nawet prostych kompilatorów. Całkiem za darmo to se możesz w asemblerze popisać.
kayron pisze:to kompilator i tak mi to przetłumaczy jak bym to zapisał od razu tak:
Skąd wiesz, że GCC pod AVR tego tak nie złączy? Złączy i pewnie przekonasz się o tym w najmniej oczekiwanym momencie jak będzie trzeba coś wykonać stricte sekwencyjnie...

Awatar użytkownika
radzio
Użytkownik
Posty: 573
Rejestracja: 07 gru 2004, 23:06
Lokalizacja: Sosnowiec
Kontakt:

Post autor: radzio » 19 lis 2013, 18:45

keruseykaryu pisze:Pamiętasz Radku jak ICE3 były po 900PLN? Nie ma co narzekać.
Pamiętam nawet jak ICE mkII kosztował coś koło 2000PLN. Potem Atmel je wyprzedawał po kilkadziesiąt bodajże dolarów (albo za 120$), a pewne polskie firmy z Gliwic sprzedawały je za 1200zł. A na pytania o cenę promocyjną zaczynały się dziwne tłumaczenia w stylu "wicie, rozumicie, to dla naszych stałych klientów". Dziwne że wszędzie poza Polską każdy mógł kupić MKII za te 120 dolców, tylko polskie byznesmeny ze słomą wystającą z mokasynów chciały odrazu na mercedesa zarobić. Dlatego też "thank You Atmel".

Awatar użytkownika
kayron
Użytkownik
Posty: 2066
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 19 lis 2013, 18:49

kayron pisze:Ja ogólnie przesiadłem się na 8-bitowe PICi, mam tam czyściutki kompilator zgodny w 98% z ANSI C, czyli kod jest taki sam jak na PC.
Ciekawe ile za niego zabuliłeś, bo Microchip nie jest skory do rozdawania za darmo pełnych wersji nawet prostych kompilatorów. Całkiem za darmo to se możesz w asemblerze popisać.
Programator PICKIT3, jak pamiętam 175zł, i masz to programator do PICów 8, 16 i 32 Bitowych, + prosty analizator stanów logicznych/"oscyloskop" + masz możliwość wgrania kodu do pamięci EEPROM programatora i zaprogramowania docelowego układu bezpośrednio z programatora bez użycia komputera. Wszystko wielkości NOKII X2, i mieści sie w kieszeni koszuli.
Który programator AVR, za te pieniądze ci to zaoferuje ?
Kompilatry C dla PIC16/18 HITECH są dostępne darmo w wersji LITE i jedynym ograniczeniem jest brak możliwości włączenia optymalizacji kodu, wyższej niż podstawowa, bo tam są trzy poziomy jak się nie mylę. Czy wada czy zaleta ? Hm.. kwestia potrzeb i upodobań. Dla mnie optymalizacja jest umiejętnością programisty, nie funkcją kompilatora, więć dla mnie nie jest to wada absolutna. Zresztą na BASCOMie też sie targało z ograniczeniami, i dało rady.
Nie wiem jak kompilatory na 16 i 32B PICi, bo nie szukałem, ale na 16B chyba też jest w wersji LITE.
32B PICi to architektura RISC MIPS tech, wiec nie wiem jak tam z kompilatorem?
Co do Asemblera PICów 8-bitowych, tam masz tylko 35 instrukcji (39 w PIC18), wiec do opanowania, nawet do wyrycia jak tabliczka mnożenia. A jak ktoś kiedyś programował w ASM C64, to jestem w stanie zaryzykować stwierdzenie że opanuje PICa w tydzień, bo CPU PICa przypomina do złudzenia, rdzeń 6502 z C64. Różnica taka że pamięć stronicowana, co jest trochę upierdliwe. No i stos jest sprzętowy, wiec ma ograniczoną pojemność.
A i PIC ma jeszcze jedną zaletę. Nie da sie go tak łatwo zablokować, jak AVR w FUSE BITach, przynajmniej jest to ciężkie zadnie. A nawet jeżeli tak sie stanie, to ten sam programator przełącza się na HIGH VOL, mode (zresztą i tak domyślny tryb) i można go odblokować. Nawet odłączenie końcówki RESET (zrobięnie z niej portu I/O), nie jest problem, jak to jest w AVR.
No nie wiem, na początku bałem się trochę PICów, ale jak je poznałem bliżej, to jakoś AVRy straciły dla mnie magię i czar. Teraz Microchip w nowych PICach wprowadził coś na wzór prostego PLD, czyli można usprzętawiać pewne funkcje, dotąd programowe, jak dekoder menchester. Jeżeli będą to dalej rozwijać i wyląduje tam takie prawdziwe PLD, czy CPLD, to AVRy całkiem dla mnie już stracą byt. Ogólnie Microchip dąży do stworzenia SOCa łączoncego, zalety klasycznego MPU i CPLD, a robią to fajnie bo takimi małymi kroczkami, i to mi się podoba, bo można to opanowywać sobie po trochu.
Na dzień dzisiejszy wygląda to tak:
http://ww1.microchip.com/downloads/en/D ... 41631B.pdf

Filmik

kayron pisze:to kompilator i tak mi to przetłumaczy jak bym to zapisał od razu tak:
Skąd wiesz, że GCC pod AVR tego tak nie złączy? Złączy i pewnie przekonasz się o tym w najmniej oczekiwanym momencie jak będzie trzeba coś wykonać stricte sekwencyjnie...
Owszem że tak zrobi, tylko, dla mnie czytelność jest mniejsza, Puki tam są same ORy "|" spoko, ale jak se wstawisz tam AND, lub XOR, to sie pewnie pogubisz w tym zapisie.
A skoro kolega wyżej twierdzi, że kolejność zapisu nie ma znaczenia, tym bardziej można się w tym pogubić.
Ja tu piszę nie o pisaniu własnego kody, tylko czytaniu czyjegoś kodu. Jeżeli osoba trzecia jest konsekwentna w zapisie działań, OK spoko, ale jeżeli raz ci to zapisze tak, a drugi inaczej, to sie zaczynasz w tym szybko gubić.

Awatar użytkownika
radzio
Użytkownik
Posty: 573
Rejestracja: 07 gru 2004, 23:06
Lokalizacja: Sosnowiec
Kontakt:

Post autor: radzio » 19 lis 2013, 19:34

kayron pisze:Teraz Microchip w nowych PICach wprowadził coś na wzór prostego PLD, czyli można usprzętawiać pewne funkcje, dotąd programowe, jak dekoder menchester. Jeżeli będą to dalej rozwijać i wyląduje tam takie prawdziwe PLD, czy CPLD, to AVRy całkiem dla mnie już stracą byt. Ogólnie Microchip dąży do stworzenia SOCa łączoncego, zalety klasycznego MPU i CPLD
O, fajnie. Ja czekam na CortexM3 + w miarę prosty FPGA (oczywiście mówimy o rozwiązaniach dostępnych na rynku w każdym warzywniaku, a nie o Yeti z Microsemi), gdzie ilość poszczególnych peryferiów będę mógł dobrać wedle potrzeb. Po co mi 25 timerów, 2 USB, Ethernet, 6 i tak wadliwych I2C, 6 SPI jakieś Crypto, Hash i inne duperele których pełno w STM32, w sytuacji gdy uartów mamy ledwie 5, w porywach 8 w najnowszych MCU? Ja chcę wziąć z półki "goły" procek, w jakimś designerze wrzucić do projektu tyle peryferiów ile chcę wykorzystać i gotowe. Nawet bez możliwości wrzucania własnego "sprzętu", tylko gotowe klocki. Nie chcę płacić za miliony niewykorzystanych tranzystorów, chciałbym je wykorzystać do czegoś produktywnego.

Awatar użytkownika
kayron
Użytkownik
Posty: 2066
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 19 lis 2013, 19:48

O, fajnie. Ja czekam na CortexM3 + w miarę prosty FPGA (oczywiście mówimy o rozwiązaniach dostępnych na rynku w każdym warzywniaku, a nie o Yeti z Microsemi), gdzie ilość poszczególnych peryferiów będę mógł dobrać wedle potrzeb. Po co mi 25 timerów, 2 USB, Ethernet, 6 i tak wadliwych I2C, 6 SPI jakieś Crypto, Hash i inne duperele których pełno w STM32, w sytuacji gdy uartów mamy ledwie 5, w porywach 8 w najnowszych MCU? Ja chcę wziąć z półki "goły" procek, w jakimś designerze wrzucić do projektu tyle peryferiów ile chcę wykorzystać i gotowe. Nawet bez możliwości wrzucania własnego "sprzętu", tylko gotowe klocki. Nie chcę płacić za miliony niewykorzystanych tranzystorów, chciałbym je wykorzystać do czegoś produktywnego.
Żeby było śmiesznie trochę, to o czym piszesz ATMEl jakieś 10lat temu produkował. Połączył rdzeń AVR z CPLD, ale nie umieli tego wypromować i zaprzestali produkcji tych układów.
Co do twoich wymagań.
Ależ to już istnieje, i też od dziesięciolecia. Nazywa się to PSOC, Rdzenie do koloru do wyboru M8C, 51' ARM Cortex M3. Peryferia to właśnie bloczki CPLD, teraz już nawet FPGA, składsz sobie to ładnie w interfejsie graficznym i piszesz kod dla CPU. Doadtkowo masz tam programowane ukłądy Analogowe. A programowanie wtglada tak:

Obrazek

Wybierasz sobie gotowe bloki funkcyjne, łączysz z odpowiedniki pinami, lub innymi blokami. Pełny bajer, tylko niestety na razie trochę, nie dla rolnika. Choć jakby ci rdzeń udoskonalony 8051 (33MIPS), spasował, to nawet nawet do zdobycia. Z ARM trzeba by poszukać na Fernellu, po ile te proce lecą, ale najlepiej mierzyć w zestaw startowy, bo dostaniesz, wsio co trzeba, za rozsądne pieniądze.
Ostatnio zmieniony 19 lis 2013, 20:04 przez kayron, łącznie zmieniany 1 raz.

Wojtek
Moderator
Posty: 2604
Rejestracja: 04 sie 2002, 19:00
Lokalizacja: --
Kontakt:

Post autor: Wojtek » 19 lis 2013, 20:01

leonow32 pisze:Dyskusje są jak najbardziej wskazane ;) proszę nie usuwać
Nie chodziło o usunięcie tylko wydzielenie do osobnego tematu o nazwie np "Dyskusje dotyczące Kursu XMEGA (01) - co trzeba wiedzieć, by zacząć"
Właśnie z takiego powodu jak powyższe posty kolegów proponowałem rozdzielenie w osobne tematy dyskusji około poradnikowej od głównego nurtu poradnika (kursu). Bo w tej chwili więcej jest narzekania na składnię, ceny programatorów, co kto woli bardziej Pice, army itp niż treści głównego tematu. Dajcie sobie koledzy na wstrzymanie. Nie lubicie XMEG, nie chcecie ich stosować, wolicie inne mikrokontrolery to nie czytajcie tego tematu i go nie zaśmiecajcie, że tak powiem, nawet z waszego punktu widzenia słusznymi uwagami.
Ostatnio zmieniony 19 lis 2013, 20:04 przez Wojtek, łącznie zmieniany 1 raz.

Awatar użytkownika
radzio
Użytkownik
Posty: 573
Rejestracja: 07 gru 2004, 23:06
Lokalizacja: Sosnowiec
Kontakt:

Post autor: radzio » 19 lis 2013, 20:03

No wiem że są PSoC, ale zasobów cyfrowych jest nieco za mało. Potrzebowałbym coś co by odpowiadało 6-9 tysiącom LE z Altery. Nawet bez całej analogowej otoczki.

ODPOWIEDZ