sundayman
Guest
Mon Sep 12, 2016 3:37 pm
Kuśwa, nie mogę zrozumieć.
Ponoć tam jest 256K flash. "Liniowo", jak stoi w dataszicie.
No ale - adres bootloadera (jak jest włączony) podają 1F800.
No jak - w środku pamięci ??
Poza tym, mam taki zonk z Bascomem (bez bootloadera na razie).
Otóż, mam w programie proste CRC.
W tym celu w programie jest linijka
DATA "CRC=0000"
Te zera są później zastępowane wartością jakąś, ale to nieważne.
Po prostu chodzi o to, że w programie jest zapisana poprawna wartość CRC.
I w czasie działania program odszukuje "w sobie" ten string.
I fajnie - tylko podaje mi, że on jest pod adresem 3032A. Czyli pod
adresem "poza" programem jakby, bo program zajmuje teraz 1DBF4.
Za cholerę nie mogę skumać jak to jest zorganizowane. Nawet bez
bootloadera. A co dopiero z.
A musiałem się przesiąść z M128 bo tam mi program już zajmował 97%....
Ktoś może mnie oświecić proszę ?
platformowe gĹupki
Guest
Mon Sep 12, 2016 3:55 pm
ja nie wiem...
J.F.
Guest
Mon Sep 12, 2016 4:28 pm
Użytkownik "sundayman" napisał w wiadomości grup
dyskusyjnych:nr6i30$pvp$1@node2.news.atman.pl...
Quote:
Kuśwa, nie mogę zrozumieć.
Ponoć tam jest 256K flash. "Liniowo", jak stoi w dataszicie.
No ale - adres bootloadera (jak jest włączony) podają 1F800.
No jak - w środku pamięci ??
Czemu nie. Kompatybilnosc ?
Ty sie lepiej pytaj jak sobie poradzili z cala reszta, to w koncu
16-bitowy procesor.
Quote:
[...]I w czasie działania program odszukuje "w sobie" ten string.
I fajnie - tylko podaje mi, że on jest pod adresem 3032A. Czyli pod
adresem "poza" programem jakby, bo program zajmuje teraz 1DBF4.
A to nie jest kwestia slowa/bajty ?
J.
sundayman
Guest
Mon Sep 12, 2016 4:41 pm
Quote:
A to nie jest kwestia slowa/bajty ?
mnie się pytasz ?

Bo ja nie wiem...
A może problem polega na działaniu polecenia Cpeekh ?
Ono sobie jakoś tam przelicza adres zadany, bo "normalnie" przeznaczone
jest to odczytu z pamięci powyżej pierwszych 64K. No i w M128 to działa
zrozumiale.
Ale w M2561 nie rozumiem. Zostawiając na razie bootloader,bo nie używam
teraz. Mam zamiar, ale na razie stanąłem na tym CRC.
Sebastian BiaĹy
Guest
Mon Sep 12, 2016 5:25 pm
On 2016-09-12 17:37, sundayman wrote:
Quote:
Ponoć tam jest 256K flash. "Liniowo", jak stoi w dataszicie.
Nie, jest to okienkowane w dośc prymitywny sposób:
http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_LD.html
Memory access is limited to the current data segment of 64K bytes. To
access another data segment in devices with more than 64K bytes data
space, the RAMPX, RAMPY, RAMPZ in register in the I/O area has to be
changed.
http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_registers.html
http://electronics.stackexchange.com/questions/26682/accessing-data-past-64k-boundary-on-atmega1280
Sebastian BiaĹy
Guest
Mon Sep 12, 2016 5:30 pm
On 2016-09-12 17:37, sundayman wrote:
Quote:
Ponoć tam jest 256K flash. "Liniowo", jak stoi w dataszicie.
No ale - adres bootloadera (jak jest włączony) podają 1F800.
No jak - w środku pamięci ??
Na końcu.
http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf
The ATmega640/1280/1281/2560/2561 contains 64K/128K/256K bytes [...]
instructions are 16 bit or 32 bit wide, the Flash is organized as
32K/64K/128K × 16.
Grzegorz Niemirowski
Guest
Mon Sep 12, 2016 5:35 pm
sundayman <sundayman@poczta.onet.pl> napisał(a):
Quote:
Kuśwa, nie mogę zrozumieć.
Ponoć tam jest 256K flash. "Liniowo", jak stoi w dataszicie.
No ale - adres bootloadera (jak jest włączony) podają 1F800.
No jak - w środku pamięci ??
Bootloader jest tutaj na końcu Flasha, nie musi być na początku.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express:
http://www.grzegorz.net/oe/
Uptime: 11 days, 7 hours, 44 minutes and 17 seconds
Robert ZemĹa
Guest
Mon Sep 12, 2016 5:38 pm
W dniu 2016-09-12 o 17:37, sundayman pisze:
Quote:
Kuśwa, nie mogę zrozumieć.
Ponoć tam jest 256K flash. "Liniowo", jak stoi w dataszicie.
No ale - adres bootloadera (jak jest włączony) podają 1F800.
No jak - w środku pamięci ??
Poza tym, mam taki zonk z Bascomem (bez bootloadera na razie).
Otóż, mam w programie proste CRC.
W tym celu w programie jest linijka
DATA "CRC=0000"
Te zera są później zastępowane wartością jakąś, ale to nieważne.
Po prostu chodzi o to, że w programie jest zapisana poprawna wartość CRC.
I w czasie działania program odszukuje "w sobie" ten string.
I fajnie - tylko podaje mi, że on jest pod adresem 3032A. Czyli pod
adresem "poza" programem jakby, bo program zajmuje teraz 1DBF4.
Za cholerę nie mogę skumać jak to jest zorganizowane. Nawet bez
bootloadera. A co dopiero z.
A musiałem się przesiąść z M128 bo tam mi program już zajmował 97%....
Ktoś może mnie oświecić proszę ?
Adresujesz SŁOWA a nie bajty
sundayman
Guest
Mon Sep 12, 2016 6:49 pm
Quote:
Adresujesz SŁOWA a nie bajty
Że bootloader jest na końcu to wiem.
Ale - jeżeli adresuję SŁOWA, to kuśwa instrukcja CpeekH działa bez sensu ?
No bo podaję adres słowa, a w wyniku dostaję bajt ??
Ale to by się nie zgadzało z tymi informacjami tutaj:
http://www.mcselec.com/index2.php?option=com_forum&Itemid=59&page=viewtopic&t=12319&highlight=cpeekh
Z tego co tam napisane (ostatecznie potwierdzone przecież przez autora
Bascoma) by wynikało, że jednakowoż dla cpeekh(x)
x oznacza kolejny numer bajtu.
___________________________________________________
* bardzo proszę bez komentarzy "nie pisz w bascom". Jakbym mogł, to bym
nie pisał

Tak wyszło i w tym przypadku musi tak zostać...
janusz_k
Guest
Mon Sep 12, 2016 6:52 pm
W dniu 2016-09-12 o 17:37, sundayman pisze:
Quote:
Kuśwa, nie mogę zrozumieć.
A musiałem się przesiąść z M128 bo tam mi program już zajmował 97%....
Ktoś może mnie oświecić proszę ?
Bascom się do poważniejszych rzeczy nie nadaje, w C zajmie Ci to 1/3
pamięci i zmieścisz się w 64-ce.
Co do adresacji jak już Ci napisali, adresowanie jest słowami 16-to
bitowymi, jak to Bascom przelicza to nie wiem.
--
Pozdr
Janusz_K
sundayman
Guest
Mon Sep 12, 2016 7:08 pm
Ja głupi.
Okazało się, że mój błąd. Zamiast zmiennej dword w pętli przeszukującej
flash dałem word. No i to dało taki efekt. Jak poprawiłem to jest już
chyba dobrze.
bat
Guest
Mon Sep 12, 2016 10:19 pm
On 12.09.2016 17:37, sundayman wrote:
Quote:
Kuśwa, nie mogę zrozumieć.
Ponoć tam jest 256K flash. "Liniowo", jak stoi w dataszicie.
No ale - adres bootloadera (jak jest włączony) podają 1F800.
No jak - w środku pamięci ??
To jest adres w wordach 16 bitowych
Marek
Guest
Tue Sep 13, 2016 7:24 am
On Mon, 12 Sep 2016 18:28:05 +0200, "J.F."
<jfox_xnospamx@poczta.onet.pl> wrote:
Quote:
Ty sie lepiej pytaj jak sobie poradzili z cala reszta, to w koncu
16-bitowy procesor.
Od kiedy??
--
Marek