Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

ATMEL 90S2313 .... i co dalej ?

Truman
-
-
Posty:5
Rejestracja:14 paź 2004, o 12:54
Lokalizacja:Maków Podh.
Kontaktowanie:
ATMEL 90S2313 .... i co dalej ?

Postautor: Truman » 15 paź 2004, o 10:08

Witam,
Mniej więcej od początku bawiłem się w Bascom AVR rzem z EDW. Terz przyszedł moment że to mi juz nie wystarcza. Problem pojawia się z pamięcią 2k ! I tu mam dylemat - Są dwi drogi do wyboru: albo nadal bede pisał w Bascom i kupie sobie proc. z większą pamiecią czy może zmienić język oprogramowania? Czy programy w Basic rzeczywiście zajmują o wiel więcej pamięci niz te z C lub Asemblera? Osobiście Basic bardzo mi odpoiwada (innych nie znam) tylko czy to nie jest pójście na łatwizne? A może ktos zna jakis inny kurs poza EDW w którym uczą bardziej "profesjonalni" ?

radzio
Moderator
Moderator
Posty:967
Rejestracja:13 maja 2003, o 10:33
Lokalizacja:Sosnowiec
Kontaktowanie:

Postautor: radzio » 15 paź 2004, o 10:39

Ja polecałbym zmienić język programowania. Bascom jest dobry na początku przygody z mikroprocesorami, ale później (jak się sam już przekonałeś) pojawia się problem rozmiaru kodu. W asemblerze zyskasz co najmniej 50% na rozmiarze kodu, ale za to początki programowania w asemblerze są dosyć trudne. Istnieje również darmowy avr-gcc, jednak nie jest to najszczęśliwsza implemetacja C (będziesz musiał poznać budowę wewnętrzną procesora i także asembler). Wiec lepiej od razu wziąść się za asembler. Do nauki asemblera polecam moją stronę - adres w profilu i w stopce.

Arrek
-
-
Posty:117
Rejestracja:18 wrz 2003, o 20:41
Lokalizacja:wawa

Postautor: Arrek » 15 paź 2004, o 20:50

C, C i jeszcze raz C. Budowe procesora trzeba znac zawsze, nawet piszac w Bascomie. W przeciwnym razie nie da sie zrobic nic poza wklepaniem przykladow. Assembler jest piekny, ale naklad czasu i sil na pisanie projektu oraz poprawki wyklucza go gdy tworzysz cokolwiek chocby nie-miniaturowego. Niektorzy nazywaja C "asemblerem wysokiego poziomu". rzeczywiscie, umozliwia asemblerowy wrecz dostep do zasobow procesora i jednoczesnie usprawnia tworzenie jakichkolwiek konstrukcji programowych (typu petle itp.). C dobrze sie kompiluje i w praktyce piszac w C otrzymuje sie statystycznie cos o rozmiarze porownywalnym z programem napisanym w asm przez dobrego programiste realizujacym ta sama funkcjonalnosc.

Znajomosc C to tez pierwszy krok do C++, Javy i innych nowoczesnych jezykow. Przewiduje, ze w przeciagu kilku lat wszelkie ARMy itp. duze platformy programowac bedzie sie w jezykach obiektowych (musze sie podciagnac z nimi :) ).

asembler jest dobry, gdy tworzysz cos co ma byc b. szybkie i chcesz miec pelna kontrole czasowa nad tym co uP robi. w reszcie przypadkow asm przegrywa z C.

Awatar użytkownika
Maybe
-
-
Posty:63
Rejestracja:19 wrz 2004, o 19:58
Lokalizacja:Dziebieszyce
Kontaktowanie:

Postautor: Maybe » 16 paź 2004, o 22:10

W asemblerze zyskasz co najmniej 50% na rozmiarze kodu, ale za to początki programowania w asemblerze są dosyć trudne
Nie bierzesz jednej rzeczy pod uwagę. Czas uruchomienia programu... Początki programowania w asemblerze WCALE NIE SĄ TRUDNE, JEŚLI ZNA SIĘ SPRZĘT. Napisać program można łatwo i szybko, ale jego odpluskwienie zajmuje 3x tyle czasu, co napisanie. Niestety w asemblerze najłatwiej popełnia się błędy a z doświadczenia wiem, że 98% programistów nie docenia czasu przeznaczonego na uruchomienie programu.
Assembler jest piekny, ale naklad czasu i sil na pisanie projektu oraz poprawki wyklucza go gdy tworzysz cokolwiek chocby nie-miniaturowego
To prawda... 4 lata temu napisałem program do obsługi maszyny w asemblerze i stale go poprawiam. Klient życzy sobie jakiś modyfikacji i cóż - dorabiam je. Ale kosztem analizy całości i wymyślania, dlaczego akurat wtedy zastosowałem taki "chwyt"? Oj ciężko jest poprawiać programy wyżyłowane na wykorzystanie maksimum zasobów mikrokontrolera.
asembler jest dobry, gdy tworzysz cos co ma byc b. szybkie i chcesz miec pelna kontrole czasowa nad tym co uP rob
To prawda, ale nie do końca. Na dziś dzień jestem w stanie napisać równie dobry program w C ostatecznie ingerując nawet na poziomie asemblera. Kupując dobry kompilator C masz pewność, że zespół ludzi poświęcił mu mnóstwo czasu. Niekiedy szukając rozwiązania zagadnienia w asemblerze piszę zbliżony funkcjonalnie program w C i podglądam efekt kompilacji. Czasami używane metody naprawdę potrafią zaskoczyć.
Zgadzam się z moim przedmówcą - kompilator C umożliwia mi zrobienie więcej i w krótszym czasie. Otwiera też w pewnym sensie dostęp do metod, których normalnie być może nie użyłbym (np. operacje na zmiennych wskazywanych) bojąc się uwikłania w zbyt skomplikowane do analizy procedury napisane w asemblerze. W języku C program jest czytelny i łatwy do analizy, również wtedy, gdy wracasz do niego po 5 latach. Łatwo jest też przesiadać się z "malucha" na "malucha" :wink:

Maybe

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości