Skocz do zawartości

Czy tylko ja mam takiego pecha?


Pomocna odpowiedź

Napisano

To miała być ostateczna wersja programu...

avr-gcc -Wall -Wextra -g -Os -mmcu=attiny85 -D COMPILER_LTO -D F_CPU=8000000 -MMD -std=gnu11 -ffunction-sections -fdata-sections -w -flto -g -o Tika2.elf Tika2.o TWireM.o
/usr/lib/gcc/avr/5.4.0/../../../avr/bin/ld: Tika2.elf section `.data' will not fit in region `text'
/usr/lib/gcc/avr/5.4.0/../../../avr/bin/ld: region `text' overflowed by 2 bytes

Dwa bajty... :(:(:(

  • Lubię! 1

Jeśli to środowisko Arduino, to masz jeszcze cały obszar bootloadera. Wywal go, powiększ text do pełnych 8K, podłącz programator i baw się dalej.

A jeśli nie, to nadal bez paniki. Przecież nie ma programu, którego nie można zmniejszyć o 2 bajty :)

W bardzo prosty sposób - podłączam programator do USB a potem to już z górki 🙂

I to nie jest środowisko Arduino tylko programator zrobiony z Pro Mini.

A program już się zmniejszył tylko troszkę go muszę uporządkować 🙂

No właśnie, tiny85 nie ma ani USB ani UARTa a jakoś kod Arduino trzeba wgrywać bez zewnętrznego programatora, prawda? I po to jest bootloader udający low-speed USB na pinach. I nie, nie ma tam żadnego konwertera. Pełno takich modulików na rynku, a ethanak nie napisał jak dużą ma sekcję text (oprócz tego, że za dużą o 2 bajty). Jeśli wgrywa kod progamatorem i ustawił linker na 8K FLASHa, no to zostaje tylko grzebanie w kodzie..

https://botland.com.pl/pl/plytki-zgodne-z-arduino-adafruit/2625-adafruit-trinket-attiny85-mini-mikrokontroller-33v.html

https://botland.com.pl/pl/plytki-zgodne-z-arduino-pozostale/14010-digispark-attiny85-mini-mikrokontroller-5v.html

https://abc-rc.pl/pl/products/modul-attiny85-usb-zgodny-z-arduino-avr-digispark-modul-sterowania-avr-6982.html

Co Wy z tym Arduino i bootloaderami???

1 godzinę temu, marek1707 napisał:

Przecież nie ma programu, którego nie można zmniejszyć o 2 bajty 🙂

Jest - dowolny program zajmujący dwa bajty 🙂

 

5 godzin temu, ethanak napisał:

Jest - dowolny program zajmujący dwa bajty

Jak z tego poniżej (2 bajtowy program, powiedzmy że na 8080) wyciąłbym dwie instrukcje to niewiele by zostało:

NOP
NOP

A ciągnąc temat to przecież dzisiejsze kompilatory są tak skomplikowane, mają tyle przełączników a sama optymalizacja jest tak zależna od sposobu napisania kodu, że w zasadzie to chyba można przyjąć za pewnik, że każdy kod wynikowy o wielkości 8K można skrócić o dwa bajty (jak i wydłużyć go.. dwukrotnie?). Czy ktoś już słyszał taką złotą myśl? 🙂 

BTW: Tłumaczymy sobie z deshipu jak działa płyteczka tiny85 w środowisku Arduino. Tak, już dotarło, że korzystasz z gołego procesora i programatora. 

6 godzin temu, marek1707 napisał:

I po to jest bootloader udający low-speed USB na pinach. I nie, nie ma tam żadnego konwertera.

Tylko to nie jest nawet USB. To jest VUSB, które jest hakiem niezgodnym ze specyfikacją. No oczywiście do tego masz osobną definicją płytki w arduino, nie attiny.

9 godzin temu, marek1707 napisał:

Czy ktoś już słyszał taką złotą myśl?

Może nie akurat taką, ale coś podobnego (dotyczącego objętości programu):

Cytat

To, co mały komputer może z wielkim programem, może też wielki komputer z programem małym; stąd wniosek logiczny, iż program nieskończenie duży może działać sam, tj. bez jakiegokolwiek komputera.

Kto pamięta autora owego "prawa"? 🙂

 

1 godzinę temu, ethanak napisał:

Kto pamięta autora owego "prawa"? 🙂

Cytat

Jak wiadomo, smoków nie ma. Prymitywna ta konstatacja wystarczy może umysłowi prostackiemu, ale nie nauce, ponieważ Wyższa Szkoła Neantyczna tym, co istnieje, wcale się nie zajmuje; banalność istnienia została już udowodniona zbyt dawno, by warto jej poświęcać choćby jedno jeszcze słowo. Tak tedy genialny Kerebron, zaatakowawszy problem metodami ścisłymi, wykrył trzy rodzaje smoków: zerowe, urojone i ujemne. Wszystkie one, jak się rzekło, nie istnieją, ale każdy rodzaj w zupełnie inny sposób.

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...