avr-gcc i fuse bits - pytanie lamy

Oct 26, 2005 12 Replies

Czy da sie w kodzie zrodlowym okreslic zawartosc fuse bitow? A jesli tak to w jaki sposob? W dokumentacji libc nic praktycznie na ten temat nie ma.


Pawel K napisał/a:

Nie da się, ogólnie fusebity nie są możliwe do ustawienia z poziomu kodu programu, można je zaprogramować wyłącznie programatorem

pozdrawiam czerstwy

Pawel K przemówił ludzkim głosem:

Bezpośrednio nie ma takiej mozliwości, ale zawsze można zrobić kawałek skryptu programującego, który wyciągnie z komentarza wartość fuse-bitów i wywoła np. avrdude. Najprościej jednak będzie umieścić wartości fusebitów w makefile'u. Jak zajrzysz do przykładowych makefile'i to znajdziesz tam zmienną AVRDUDE_FLAGS i właśnie do niej możesz wrzucić wartości fuse-bitów.

Co oczywiscie nie jest prawda, bo w niektorych prockach AVR fusebity mozna zmieniac poleceniem SPM z odpowiednio spreparowanymi rejestrami kontrolnymi, ale istotnie skompilowany program (plik hex) nie zawiera informacji dla programatora jak ma ustawic fusebity, a szkoda, bo by sie to przydalo.

T.M.F. napisał/a:

a w których?

pozdrawiam czerstwy

Np. w ATMega mozna zmieniac w ten sposob bootloader lock bits, lub zmieniac polozenie tabeli wektorow przerwan. Oczywiscie wiekszosci innych fusow nie da sie w ten sposob zmienic (np. WDON, albo CKOPT), ale mozna je programowo odczytac.

T.M.F. napisał/a:

oki, bo juz myślałem, że przeoczyłem software-ową możliwość zmiany źródła zegara ;)

pozdrawiam czerstwy

A jak programowaæ fusebity maj±c do dyspozycji bascom avr ?

Chyba najprościej ze wszystkich metod jest własnie w BASCOMie, bo tam w okienku programatora jest nawet zakładka "fusebits" i opis słowny kazdego. Oczywoiście zakładam jednorazowe ustawianie fuse'ów.

Ale tam nie ma wszystkich.Np CKOPT

Michał T snipped-for-privacy@NOSPAMepf.pl napisał(a):

Jest i nazywa się "Fusebit P"

Piotrek

U¿ytkownik "Piotrek Sz." snipped-for-privacy@gazeta.pl napisa³ w wiadomo¶ci news:djqfqv$83d$ snipped-for-privacy@inews.gazeta.pl...

A gdzie znale¼æ "co jest czym" ?

pozdro

Michał T <lotnick[NOłsPAm]@epf.pl> napisał(a):

Najprościej to przeczytać opis(prawa kolumna) lub porównać z dokumentacją proca. Fusebity "poukładane" są (patrząc od góry do dołu)w/g kolejności od najstarszego(7) do najmłodszego(0) i pogrupowane funkcjonalnie. Zauważ , że bitu SPIEN także nie ma , ale z opisu ustawień wynika ,żo o niego chodzi(Fusebit Q - 0:serial programing enabled lub 1:serial programing disabled).Bascom jest podobno dla początkujących , więc wszystko podane jest "na talerzu".Moim skromnym zdaniem , Bascom nie jest dla początkujących , a dla leniwych.

Piotrek

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required