logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

avr - bascom - eeprom - fonty - jak ??

olo_3 03 Sty 2009 04:13 3025 5
  • #1 5941015
    olo_3
    Poziom 15  
    niech mnie ktoś oświeci czy można (jak, oraz jakie i jak je czytać) załadować biblioteki do wbudowanego eepromu w atmedze8
    $include "smallfont8x8.font"   - fonty w asm
    $include "font8x8.font"  - j.w.
    $include "font16x16.font"  - j.w
    $lib "glcdKS108.lib"  - bib. LCD 

    chodzi o to ze fonty zajmują 70% romu.
    pozdr.
    olo
  • Pomocny post
    #2 5941168
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #3 5943212
    ZbeeGin
    Poziom 39  
    Fonty muszą być w Flash ROM gdyż tak działa kod z biblioteki. Jedyną możliwością jest jej przeróbka - musisz mieć pełną wersję BASCOM AVR i znać kod maszynowy - a wtedy możesz je przenieść w inny obszar pamięci.
    Jak już będziesz zdecydowany na przeróbkę to w glcdks108.lib znajdź procedurę _gwrite_lcdchar. Bascom Ci nieco ułatwi zadanie procedurą _getbytefromrom której za pomocą R23 określasz, skąd ma pobrać bajt: ROM/EEPROM.

    Kod z biblioteki musi być w pamięci Flash, gdyż procesory AVR nie posiadają możliwości uruchamiania programów z innego obszaru.
  • #4 5943534
    olo_3
    Poziom 15  
    witam, dziękuję za oświecenie,
    wiec tak mam pełną wersje bascoma (w której pisze, ostatnia wersja, z update etc...).
    Maszynowego nie znam w ogolę.
    Fonty są dołączone do kompilatora, przez autora - zresztą biblioteka obs. ks108 tez.

    testuje sobie lcd na 8 docelowo ma być at2560 - tam akurat nieco więcej romu.

    fontu nie bardzo mogę odchodzić, ponieważ będzie tez komunikacja z PC po rs232 - nie wiadomo jaki znak wyśle i program może się przewrócić .

    jak się orientuje nie ma możliwości rozszerzenia romu w AVR - o zewnętrzny ??
  • #5 5944050
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #6 5946651
    ZbeeGin
    Poziom 39  
    atom1477 napisał:
    No faktycznie. Nie zwróciłem na to uwagi. Jeżeli elementem fontu jest kod, to nic z tego.

    W pliku font nie ma kodu - są tylko dane. Kod jej wyświetlania jest w bibliotece. Co zresztą napisałem wcześniej.
    Naddatkiem w pliku font są 4 początkowe bajty:
    0 : ilość bajtów na linię czcionki (X)
    1 : wysokość czcionki w liniach (Y)
    2 : rozmiar definicji jednego znaku w bajtach (X*Y)
    3 : typ czczionki (0-fixed_width, 2-variable_width)

    atom1477 napisał:
    Ale jest jeszcze jednak ważna sprawa. Ile jest tego EEPROMu w ATMEGA8? 512B. Co tam wejdzie?!!! Czcionki tam nie upchasz.

    ATMega8 może i ma mały obszar pamięci EEPROM, ale docelowa ATMega2560 ma już 4KB.
    Czionka 8x8 zajmuje: 8 * 223 + 4 = 1788 bajtów w pamięci, zatem dwie definicje 8x8 i EEPROM pełen. Zaś czcionka 16x16 zajmuje: 32 * 223 + 4 = 7140 bajtów, zatem EEPROM jest zbyt mały by to pomieścić.
REKLAMA