RTV forum PL | NewsGroups PL

Mikropascal na AVR: Czy to dobre rozwiązanie dla elektroników unikających C?

Mikropascal na AVR'y - co o tym sądzicie ??

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Mikropascal na AVR: Czy to dobre rozwiązanie dla elektroników unikających C?

Goto page Previous  1, 2, 3, 4, 5, 6, 7

JDX
Guest

Tue Jan 10, 2012 1:17 pm   



On 2012-01-09 17:46, Waldemar Krzok wrote:
[.....]
Quote:
a do przerwań czy, o zgrozo, multithreadingu wogóle nie ma ładnej
możliwości.
W standardzie C również nie ma wsparcia dla ISR a wsparcie dla

wielowątkowości jest baaardzo świeże:
http://en.wikipedia.org/wiki/C11_%28C_standard_revision%29. Swoją drogą
jestem bardzo ciekawy jak to wsparcie MT będzie wyglądać z punktu
widzenia programowania systemowego. Zapewne trzeba będzie dostarczyć
własne funkcje do tworzenia/ubijania wątków tak jak to jest np. w
przypadku zarządzania pamięcią , tzn. zazwyczaj/często trzeba dostarczyć
własne sbrk() implementujące pasujący nam algorytm.

Michał Baszyński
Guest

Tue Jan 10, 2012 3:31 pm   



W dniu 2012-01-09 17:33, Jacek Radzikowski pisze:

Quote:
Podpisuję się pod tym wszystkimi łapami. Ale tylko jeśli ktoś wie co
robi. IMHO brak sprzętowego UARTU dyskwalifikuje małe procesory z serii
G2 do zaczynania zabawy z mikrokontrolerami. Programowy uart może być za
trudny do opanowania, a poza tym zjada sporo zasobów. Na 2kB flasha też
się nie poszaleje. Dlatego też wspomniałem o samplach MSP430G2553. Ma
wszystkie peryferia niezbędne do rozpoczęcia zabawy i 16kB flasha.
Sensowną alternatywą dla launchpada i sampli jest zestaw Experimenter
Board dla nowej serii procesorów MSP z pamięcią FRAM zamiast flasha. Ale
kosztuje trochę drożej niż launchpad Sad

alternatywą jest też dokupienie większego procesora i interfejsem
dwuprzewodowym (np. 430F2274) i wykorzystanie LunchPada jako praktycznie
darmowego JTAG-a

--
Pozdr.
Michał

Sebastian Biały
Guest

Tue Jan 10, 2012 6:54 pm   



On 2012-01-10 00:59, Sylwester Łazar wrote:
Quote:
PS. Mi się nie udało go uruchomić Wink
...Requirements:
Java: J2SE 1.4.2 SDK or better
Additionally for Linux: Java3D 1.3.1 or better...
Sprawdziłeś, czy liczba/numer implementacji Javy się zgadza?

"or better". Wiesza się na splash screen. Musiałbym dekompilować i
debugować ale mi się nie chce ...

Sebastian Biały
Guest

Tue Jan 10, 2012 7:06 pm   



On 2012-01-10 12:05, Waldemar Krzok wrote:
Quote:
Ja musiałem pisać programy sortujące w Pure Lisp, żadnej mieszanki.

Czego to dowodzi w sensie dydaktyczności Pascala?

Quote:
Bo za moooooich czaaaasów (tm) to i dynamiczne tablice i
hashmapy były.

Pascal nie ma wsparcia nawet dla głupiego vectora. Wszystko to
rękodzieło sprowadzające kontrolę typów do znienawidzonych wskaźników.
To udowania tylko tezę że dowolny język może implementowac dowolny
algorytm. Tylko czy aby na pewno ma to związek z dydaktyką jesli wymaga
to obchodzenia ograniczeń, wynajdywania kwadratowego koła czy
pierdyliarda implementacji nieprzetestowanych dynamicznych wektorów?

Quote:
Dekoratorów i generycznych iteratorów w Pascalu nie
zrobisz tak łatwo, ale nie jest to konieczne.

Dlaczego niekonieczne?

Quote:
Osobiście uważam, że można
(i trzeba) uczyć podstaw programowania w Pascalu (albo w czymś innym,
podobnym).

Absolutnie się nie zgadzam na Pascala w dydaktyce. To że ktoś zrobił
język *do* dydaktyki to nijak ma się do tego czy faktycznie tam pasuje.
To legenda. Nie pasująca w dodaku od kilkinastu lat do rozwoju
wszystkiego, od technik programistycznych po przemysł.

Quote:
Klasy, dekoratory i inne elementy programowania objektowego
to następny krok.

To mi przypomina próbę wykształcenia gitarzysty przez kupno gitary bez
strun. Struny to następny krok.

Jacek Radzikowski
Guest

Wed Jan 11, 2012 2:52 am   



On 01/10/2012 09:31 AM, Michał Baszyński wrote:
Quote:
W dniu 2012-01-09 17:33, Jacek Radzikowski pisze:

Podpisuję się pod tym wszystkimi łapami. Ale tylko jeśli ktoś wie co
robi. IMHO brak sprzętowego UARTU dyskwalifikuje małe procesory z serii
G2 do zaczynania zabawy z mikrokontrolerami. Programowy uart może być za
trudny do opanowania, a poza tym zjada sporo zasobów. Na 2kB flasha też
się nie poszaleje. Dlatego też wspomniałem o samplach MSP430G2553. Ma
wszystkie peryferia niezbędne do rozpoczęcia zabawy i 16kB flasha.
Sensowną alternatywą dla launchpada i sampli jest zestaw Experimenter
Board dla nowej serii procesorów MSP z pamięcią FRAM zamiast flasha. Ale
kosztuje trochę drożej niż launchpad :(

alternatywą jest też dokupienie większego procesora i interfejsem
dwuprzewodowym (np. 430F2274) i wykorzystanie LunchPada jako praktycznie
darmowego JTAG-a

Launchpad jest wręcz tak zaprojektowany żeby można było odpiłować
programator nie uszkadzając części procesorowej. Testowałem
programowanie RF2500 launchpadowym programatorem i poszło jak po maśle.
Ale najtańszym rozwiązaniem będzie chyba zamówienie LP i największych
procesorów z serii ValueLine. Same kostki kosztują po kilka dolarów, ale
może wyślą próbki. Launchpady znalazłem we wrocławskim Contrans TI po
14.99. Opłaca się kupić nawet dla samego programatora. Jak sprawdzałem
to mieli w magazynie 5 sztuk.
Warto też zaglądać na tideals.com. Kiedyś było sporo narzędzi do msp430
ze zniżką 50%, ostatnio był za ok. $120 zestaw "inteligentnego
wyświetlacza" ze stellarisowym cortexem m3, LCD z ekranem dotykowym i
stertą innych peryferii. Za kilka dni powinna się pojawić nowa oferta.

pzdr.
j.

Jacek Radzikowski
Guest

Wed Jan 11, 2012 3:33 am   



On 01/09/2012 11:49 AM, JDX wrote:
Quote:
On 2012-01-09 16:53, Jacek Radzikowski wrote:
[.....]
Plus wymienione w wątku Wiring i Ada, jest python na mikrokontrolery,
NesC też jest bardzo przyjemne i wydajne, znajdzie się pewnie jeszcze
kilka innych języków. Jest w czym wybierać.

W przypadku Ady wybór jest raczej czysto teoretyczny ponieważ nie ma
dobrego taniego bądź darmowego kompilatora. A przynajmniej ja takowego
nie znam. Zresztą Green Hills nie oferuje narzędzi na "drobnicę" typu
AVR, H8 czy MSP430. Natomiast AVR-GCC jest AFAIK od kilku ładnych lat w
powijakach. Swoją drogą swego czasu nawet sam myślałem aby zrobić coś
takiego dla H8/300H i H8S.

Jedyna darmowa implementacja jaką znam to właśnie gcc-ada W sumie szkoda
że Ada jest tak mało popularna, bo to bardzo przyjemny język. Ale chyba
za bardzo pilnuje porządku jak na mikroprocesorowców.

Quote:
Python? Ale to chyba masz na myśli (typowe) używanie go jako embedded
command interpreter a nie jako kompilowany język masowego rażenia do
którego wkładasz źródła a wyjmujesz binarkę do wypalenia w jakimś
ROM-ie. Zresztą Python ze względu na dynamiczność typów i automatyczne
zarządzanie pamięcią IMO raczej słabo nadaje się do tworzenia
oprogramowania systemowego. Chociaż jako język osadzony rzeczywiście
jest w porządku.

Python jest językiem skryptowym, więc z definicji wykonywanym przez
interpreter. O wiele bardziej przyjazny niż C, ale za cenę wydajności.
Coś za coś.

Quote:
Wiring? O tym mówisz
http://en.wikipedia.org/wiki/Wiring_%28development_platform%29? Nie
znam, ale wygląda na to, że używanymi tam językami są C i C++. Smile Poza
tym Wiring nie jest językiem programowania. Smile

Tak. Pod spodem siedzi kompilator C++, ale nie programuje się
bezpośrednio w C++. To pozwala na łatwy start ludziom, którzy dostają
drgawek na samą myśl o C i mejkfajlach, i ułatwia późniejsze przejście
do C++.
Spopularyzowany przez Arduino, w tej chwili pół świata go używa,
włączając ludzi, którzy wcześniej z programowaniem i mikroprocesorami
nie mieli nic wspólnego.

Quote:
NesC? O to chodzi http://nescc.sourceforge.net/? Nie znam, ale wygląda
na jakiś mocno specjalizowany język. Bazowany na C. Smile

Ulubiony język sensorowców. Do tego masz tinyOS, prosty OS oparty na
modelu zdarzeniowym. Program konstruuje się w postaci modułów
implementujących jakąś funkcjonalność, które później się "drutuje" w
całość. Spokojnie mógłbym go polecić do nauki programowania.
Nie dziwię się że nie znalazł uznania w środowisku zatwardziałych
mikroprocesorowców, bo zanim się coś napisze trzeba problem przemyśleć.
Kompilacja odbywa się przez konwersję do C++, ale sam język z C++ ma
niewiele wspólnego.

Quote:
IMO jeśli się przyjrzysz to za bardzo nie ma w czym wybierać. Bo albo
brakuje kompilatorów (wspomniana Ada) albo sam język programowania
niejako z definicji niezbyt pasuje do (takiego prawdziwego
niskopoziomowego) embedded software developement (wspomniany Python czy
tez mój ulubiony Eiffel).

Sam programuję w C/C++, a nad alternatywami zacząłem się zastanawiać
tylko dlatego że Roman zadał takie pytanie. I jeśli miałbym mu coś
polecać na początek, to chyba właśnie wiring, ze względu na to że nie
jest C/C++ i że łatwo później przejść na te języki.
Sam też chętnie bym się przerzucił się na coś bardziej
wysokopoziomowego, byle tylko miało porządny kompilator.

pzdr.
j.

Sylwester Łazar
Guest

Wed Jan 11, 2012 8:28 am   



Quote:
On 2012-01-10 00:59, Sylwester Łazar wrote:
PS. Mi się nie udało go uruchomić Wink
...Requirements:
Java: J2SE 1.4.2 SDK or better
Additionally for Linux: Java3D 1.3.1 or better...
Sprawdziłeś, czy liczba/numer implementacji Javy się zgadza?

"or better". Wiesza się na splash screen. Musiałbym dekompilować i
"Or better" to sarkazm.

Tak samo jak "or higher".
Gdyby chodziło o "higher version number", to może i by działało.
Choć zastanawiam się, skąd niby ludzie mają wiedzieć, czy ich program
będzie działał na
kompilatorach/impretatorach, które zostana dopiero stworzone.
Nie jest to raczej (jak widać) pobożne życzenie?

S.

--
Używam klienta poczty Opera Mail: http://www.opera.com/mail/

RoMan Mandziejewicz
Guest

Sat Jan 14, 2012 1:37 am   



Hello Waldemar,

Monday, January 9, 2012, 10:49:56 AM, you wrote:

[...]

Quote:
weź sobie kup MLaunchPad od TI. Kosztuje straszne pieniądze, konkretnie
4.30$ z przesyłką. Masz płytkę z międzymordziem USB do programowania
tego, dwa procesory, a soft ściągasz sobie ze strony TI. W komplecie
jest też kabel USB, gdzieniegdzie płacisz już tyle za sam kabel Wink.

Właśnie zacząłem zabawę. I powiem Ci jedno - nie ma nic bardziej
frustrującego niż błędy w _pierwszym_ ćwiczeniu z "warsztatów".

Oczywiście to absolutnie nic do Ciebie Smile Po prostu opisuję.

W warsztacie laborka 2 - czyli program domyślnie zapakowany do procka
- próba kompilacji - 8 błędów - niezdefiniowane symbole. Dobrze, że
coś tam jeszcze sprzed tych 20 lat zostało - sprawdzam w pliku
nagłówkowym a na samym początku - nie używać z nowszymi programami -
uzyć albo ogólnego msp430.h albo konkretnego do procka.
No to zmieniłem include'a i po próbie kompilacji - dwa błędy.
Szukam w pliku nagłówkowym - są definicje, ale warunkowe.

Odpuściłem sobie laborkę 2, wziąłem na tapetę przykład wbudowany -
migająca diodę, odpaliłem - działa. Odpaliłem laborkę 3, tym razem
dioda migająca na innej podstawie - też działa. Pobawiłem się
debugerem - praca krokowa itd. Na dzisiaj wystarczy :)

Podziękowania dla Michała B. przy tej okazji!

--
Best regards,
RoMan mailto:roman@pik-net.pl
Nowa strona: http://www.elektronika.squadack.com (w budowie!)

Elektrolot
Guest

Sat Jan 14, 2012 9:40 am   



W dniu 2012-01-09 23:33, Sebastian Biały pisze:
Quote:
b) jakieś pliki z definicjami od producenta procesora. W jednym jest UART i ADC, ale nie ma SPI. W
innym SPI jest, ale nie ma ADC. Wszystkie pliki wygladają jak "system kontroli wersji z ZX Spectrum"
czyli radosny burdel przez pierdyliard krążących w necie wersji do której randomicznie dopisuje się
różne rzeczy i różne znikają. Po kilkudziesięciu iteracjach udalo mi się skompletować w miarę pełne.
To akurat było od Atmela, w ich własnych examplach była taka katastrofa.

Trzeba było wybrać porządnego producenta. Ja Atmela już dawno sobie darowałem. Polecam rodzinę
Stellaris, obecnie TI. Sporo przykładów, porządne biblioteki z dobrą dokumentacją.

Goto page Previous  1, 2, 3, 4, 5, 6, 7

elektroda NewsGroups Forum Index - Elektronika Polska - Mikropascal na AVR: Czy to dobre rozwiązanie dla elektroników unikających C?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map