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.

M2561 - organizacja pamięci / BASCOM

sundayman 12 Wrz 2016 16:42 675 2
  • #1 12 Wrz 2016 16:42
    sundayman
    Poziom 24  

    Mam problem ze zrozumieniem organizacji FLASH w tym procesorze.
    Otóż, mam program w BASCOMie, zajmujący ok. 46% pamięci (w M128 to już był 97%, stąd konieczność przejścia na M2561).

    I teraz - na samym początku programu mam następujący wpis ;

    Kod: bascom
    Zaloguj się, aby zobaczyć kod


    Następnie program odszukuje, gdzie w pamięci programu znajduje się ta część programu (przeszukując pamięć z użyciem funkcji Cpeekh).
    Okazuje się, że odnajduje ten string pod adresem dec 196922.

    Nie pojmuję - jakim cudem ?? Biorąc pod uwagę, że rozmiar programu to 121844, to przecież powinno to być gdzieś poniżej tej wartości ?

    Kolejna sprawa:
    Datasheet podaje, że adres bootloadera 4K zaczyna się od 1F800, czyli 129024.

    Gdyby ktoś mógł mi wyjaśnić - jeżeli przekroczę w bascomie 50% flash - co wtedy ? Jak jest lokowany w pamięci program ? W wersji bez i z bootloaderem ?

    0 2
  • #3 12 Wrz 2016 21:13
    sundayman
    Poziom 24  

    No tak, mój błąd.
    Użyłem w pętli przeszukującej flash zmiennej word zamiast dword.
    I to spowodowało ten efekt. Po poprawieniu jest OK.

    0