Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[bascom] mam duży plik i nie chce mi się skompilowac

31 Sty 2011 18:44 2459 6
  • #1 31 Sty 2011 18:44
    1647166
    Użytkownik usunął konto  
  • #2 31 Sty 2011 19:45
    directx11
    Poziom 17  

    Według ustawień Twojego projektu wygląda na to, że program jest za duży i że po wgraniu do pamięci Twojego procesora zostanie nadpisany bootloader, który już się tam znajduje pod określonym adresem (jeśli go nadpiszesz a nie masz JTAG-a to nie będziesz potem w stanie wgrać swojego programu do procesora przez RS-232 lub USB). Musisz sprawdzić czy ustawienia Twojej pamięci, szczególnie flash są prawidłowe dla Twojego typu procesora a jeśli tak to pozostaje optymalizacja programu aby zmniejszyć rozmiar, ewentualnie kombinacje w stylu podłączenia zewnętrznych pamięci itp... albo zmiana procka, który dysponuje większą pamięcią.

    0
  • #3 31 Sty 2011 20:58
    piotrva
    Moderator na urlopie...

    Jaki masz procesor?
    Błędy mówią że program nie zmieści się do wybranego procka
    Spróbuj na mega8 skomplikować, choć moim zdaniem minimum pamięci musi być 16 kB...
    Gdyż kompilowałeś na t2313 czyli 2 kB + 9,680 kB zgloszonego nadmiaru co daje ok 12 kB programu, czyli minimum atmega16
    Edit
    Nie koniecznie jtag, można też programować przez spi lub hvpp
    A procesor raczej nie pozwoli sobie uszkodzić bootloadera
    I niech kolega directx11 nie bredzi bo pamięci flash się nie da rozszerzyć, tak można rozszerzyć jedynie sram lub dodać zewnętrzny eeprom, no chyba, że kolega będzie czytał rozkazy z zewnętrznej pamięci, ale to wyższa szkoła jazdy...

    0
  • #4 31 Sty 2011 21:36
    1647166
    Użytkownik usunął konto  
  • #5 31 Sty 2011 22:23
    rrytel
    Poziom 14  

    Skoro piszesz tak rozbudowane programy (i na poważnie traktujesz zabawę z mikroprockami), to na twoim miejscu zastanowiłbym się nie nad zmianą procesora ale nad zmianą języka w którym piszesz programy na jakiś bardziej optymalny (bo jak wiadomo bascom do takich się za bardzo nie zalicza).
    Innym sposobem jest próba zmodyfikowania programu tak aby się zmieścił.

    Code:
    Error : 220 Line : 985 Forward jump out of range [_WRITE_LCD [ 5381]] , in File : C:\Documents and Settings\Admin\Moje dokumenty\bas\ak.bas

    Ten błąd oznacza że następuje próba skoku "poza zasięg" instrukcji rjmp, za pomocą tej instrukcji można skoczyć max na 2k słów (1 słowo=2 bajty, jedna instrukcja asm) w każdą stronę. [za: Link]

    0
  • #6 31 Sty 2011 23:16
    M. S.
    Poziom 34  

    Cytat:
    Bascom AVR w moim przypadku nie programuje procka i nie ma pojęcia jaki procek zostanie "obdarzony" jego prograqmem.


    Jak Bascom ma ten program skompilować jeśli nie wie na jaki sprzet? Jeśli nie zadeklarowałeś procka w programie to może informacja ta siedzi w opcjach. Zadeklaruj większego uC i po kompilacji powie ci ile pamięci potrzeba.

    Cytat:
    teraz ja potrzebuje wersji dobrej na mega8 (może byc demo ale wiem że demo narzuca ograniczenia co do wielkości programu)
    .

    Każdy Bascom AVR jest dobry dla M8. Ja zaczynałem od wersji 1.11.7.4 wzwyż i nie napotkałem problemów z programowaniem M8. M8 ma 8kB pamięci. Bascom Demo umożliwia skompilowanie kodu który w wyniku da plik *.bin nie większy niż 4kB. Połowa M8 zostanie pusta.

    0
  • #7 02 Lut 2011 15:53
    1647166
    Użytkownik usunął konto