Goto page Previous 1, 2, 3, 4 Next
Zbych
Guest
Fri Jul 03, 2009 7:04 am
T.M.F. pisze:
Quote:
Na AVR C++ tez smiga jak burza. To, ze gcc trzyma vtables w SRAM wynika
raczej z samego ograniczenia kompilatora - w tym przypadku braku
wsparcia dla roznych segmentow pamieci. Inne komercyjne kompilatory nie
maja chyba tego problemu. No ale gcc nie byl projektowany na
architekture harwardzka.
Co nie znaczy, że tak będzie zawsze

. Na jesieni zeszłego roku
pojawiły się pierwsze łaty na gcc wprowadzające przestrzenie adresowe.
Wersja 4.5 ma to już chyba zaimplementowane, ale brakuje oczywiście
backendu na avr.
http://www.gccsummit.org/2009/view_abstract.php?content_key=26
qlphon
Guest
Fri Jul 03, 2009 9:34 am
Quote:
Jeśli mam napisane funkcje działające na kartach np 512M i podłącze do
uC kartę oznaczona SDHC to czy aby została ona obsłużona?
niektóre karty SDHC mają mozliwość pracy w trybie SD
przycinając wtedy swoja pojemnośc do 2G (maksimum jakie obsługuje standard
SD)
Marcin
Guest
Fri Jul 03, 2009 6:47 pm
Quote:
Przepraszam, może głupie pytanie, ale czy te opisy o których mówisz
zawarte są w źródłach, czy na stronie www?
W źródłach są komentarze.
Marcin
T.M.F.
Guest
Fri Jul 03, 2009 6:58 pm
Quote:
Na AVR C++ tez smiga jak burza. To, ze gcc trzyma vtables w SRAM
wynika raczej z samego ograniczenia kompilatora - w tym przypadku
braku wsparcia dla roznych segmentow pamieci. Inne komercyjne
kompilatory nie maja chyba tego problemu. No ale gcc nie byl
projektowany na architekture harwardzka.
Co nie znaczy, że tak będzie zawsze

. Na jesieni zeszłego roku
pojawiły się pierwsze łaty na gcc wprowadzające przestrzenie adresowe.
Wersja 4.5 ma to już chyba zaimplementowane, ale brakuje oczywiście
backendu na avr.
http://www.gccsummit.org/2009/view_abstract.php?content_key=26
Tak, laty juz sa:
http://gcc.gnu.org/ml/gcc-patches/2009-01/msg00804.html
Jak pisales wprowadza w gcc 4.5, kiedy doczekamy sie portu na AVR trudno
powiedziec, kiedy to bedzie realnie do wykorzystania to wrozenie z
fusow, w koncu jeszcze nawet nie mamy gcc 4.4 na AVR. Znaczy formalnie
jest, ale nikt nie gwarantuje, ze bedzie dzialal:)
--
Inteligentny dom -
http://idom.wizzard.one.pl
http://idom.sourceforge.net/
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.
Adam Dybkowski
Guest
Fri Jul 03, 2009 9:55 pm
Sebastian Biały pisze:
Quote:
A nie da się tego zrobić skryptem linkera? Od razu mówie, ze nie wiem,
bo na razie RAMu jeszcze troche mam i mnie bardzo nie boli, ale za
chwile dokladnie ten problem będę musiał rozwiązać, u mnie tez chyba
trzyma w RAM.
Nie, bo w AVR dostep do FLASH jest realizowany za pomoca innych
instrukcji (LPM) niz dostep do SRAM (LD).
A niestety metody wirtualne niezle jada po pamieci.
:D Ja nie mówię o AVRach. Ja potrzebuje na ARM7/9 a tam jest
architektura von Neumanna.
No to popatrz na poprzednie odpowiedzi. Jeżeli twoje magiczne tablice
C++ wpadają do jakiejś wyróżnionej sekcji (a nie np. ".text") - to żaden
problem kazać linkerowi umieścić je we Flashu. ARMowi wszystko jedno w
gruncie rzeczy, skąd je pobierze, o ile dostanie właściwy adres (tyle że
z Flasha np. w AT91SAM7 odczyty idą nieco wolniej niż z wewnętrznego
SRAMu bo potrzebny 1ws przy zegarze powyżej 33MHz a do tego Flash jest
16-bitowy).
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Sebastian Biały
Guest
Fri Jul 03, 2009 10:05 pm
Adam Dybkowski wrote:
Quote:
No to popatrz na poprzednie odpowiedzi. Jeżeli twoje magiczne tablice
C++ wpadają do jakiejś wyróżnionej sekcji (a nie np. ".text") - to żaden
problem kazać linkerowi umieścić je we Flashu. ARMowi wszystko jedno w
gruncie rzeczy, skąd je pobierze, o ile dostanie właściwy adres (tyle że
z Flasha np. w AT91SAM7 odczyty idą nieco wolniej niż z wewnętrznego
SRAMu bo potrzebny 1ws przy zegarze powyżej 33MHz a do tego Flash jest
16-bitowy).
Tak, ja wiem, że linker to może zrobic, po prostu jak zwykle skrypty
linkera które mam "z internetu" są spieprzone i trzeba bedzie je
poprawiać tyle że najpier muszę trochę jednak o tym poczytać. Co do
prędkości jest ok, nie robie nic super wydajnego.
Adam Dybkowski
Guest
Fri Jul 03, 2009 10:36 pm
Sebastian Biały pisze:
Quote:
No to popatrz na poprzednie odpowiedzi. Jeżeli twoje magiczne tablice
C++ wpadają do jakiejś wyróżnionej sekcji (a nie np. ".text") - to żaden
problem kazać linkerowi umieścić je we Flashu.
Tak, ja wiem, że linker to może zrobic, po prostu jak zwykle skrypty
linkera które mam "z internetu" są spieprzone i trzeba bedzie je
poprawiać tyle że najpier muszę trochę jednak o tym poczytać.
No cóż, co by tu dodać. Poczytaj.
http://sources.redhat.com/binutils/docs-2.15/ld/Scripts.html
http://www.bilmuh.gyte.edu.tr/gokturk/introcpp/gcc/ld_3.html
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
J.F.
Guest
Sat Jul 04, 2009 9:54 am
On Thu, 2 Jul 2009 04:42:21 -0700 (PDT), slawek7 wrote:
Quote:
Powiedzcie mi proszę, jak jest różnica w obsłudze przez uC np AVR kart
SD zwykłych od SD High Capacity SDHC?
Jeśli mam napisane funkcje działające na kartach np 512M i podłącze do
uC kartę oznaczona SDHC to czy aby została ona obsłużona?
Jeśli nie to co należy zmienić w oprogramowaniu, aby zadziałało?
Oprocz wielu drobnostek, masz jeszcze taka sprawe ze mniejsze karty
moga miec FAT16, a HC to juz FAT32.
http://en.wikipedia.org/wiki/Secure_Digital_card#SDHC
J.
J.F.
Guest
Sat Jul 04, 2009 9:56 am
On Thu, 02 Jul 2009 22:29:20 +0200, Sebastian Biały wrote:
Quote:
http://www.roland-riegel.de/sd-reader/
Kolejna "biblioteka" bez pojecia interfejsów :/ Doprowadzenie tego do
stanu abstrakcyjności to ciężki kawałek chleba. Wlasnie to obejrzalem i
chyba moze się przydać tylko jako przykład bo ciężko to wsadzić bez
grzebania w swój projekt.
Zna ktos może cos _zaprojektowanego_ co pozwala latwo odpinać fs,
urządzenie blokowe, komunikację spi i nie zależy do zbędnych
implementacji? Tez musze napisać cos pod SDHC a że nie mam nic chwilowo
to mogę się dopasować.
No to na podstawie powyzszego dopasuj sie do swojego swietnie
zmodularyzowanego programu, a potem opublikuj :-P
J.
Marcin
Guest
Sat Jul 04, 2009 7:33 pm
Quote:
Kolejna "biblioteka" bez pojecia interfejsów :/ Doprowadzenie tego do
stanu abstrakcyjności to ciężki kawałek chleba. Wlasnie to obejrzalem i
chyba moze się przydać tylko jako przykład bo ciężko to wsadzić bez
grzebania w swój projekt.
Zna ktos może cos _zaprojektowanego_ co pozwala latwo odpinać fs,
urządzenie blokowe, komunikację spi i nie zależy do zbędnych
implementacji? Tez musze napisać cos pod SDHC a że nie mam nic chwilowo
to mogę się dopasować.
No to na podstawie powyzszego dopasuj sie do swojego swietnie
zmodularyzowanego programu, a potem opublikuj :-P
Dokładnie to samo chciałem napisać,
tylko się jakoś powstrzymywałem
Chesz używać 'super uniwersalnych' bibliotetek na GPL,
wszystkie uważasz za marne,
a sam robisz projekty zamknięte i nie chcesz podzielić się
swoimi bibliotekami.
Marcin
Sebastian Biały
Guest
Sat Jul 04, 2009 8:06 pm
Marcin wrote:
Quote:
No to na podstawie powyzszego dopasuj sie do swojego swietnie
zmodularyzowanego programu, a potem opublikuj :-P
Dokładnie to samo chciałem napisać,
tylko się jakoś powstrzymywałem
Chesz używać 'super uniwersalnych' bibliotetek na GPL,
wszystkie uważasz za marne,
a sam robisz projekty zamknięte i nie chcesz podzielić się
swoimi bibliotekami.
Panowie. Jestem jednym z niewielu ludzi ktorzy promują (L)GPL gdzie
tylko ma to sens. Jednak proponowalbym nie wypuszczać tego typu
głupawych wniosków na podstawie jednego przypadku. Czasami musze zrobić
coś CS i nic na to nie mogę poradzić. Takie życie.
Ponadto potrzebuje gotowca aby samodzielnie napisać wlasny. Bo na taki
jak potrzebuje nadzieje straciłem już dawno. Ale na taki na podstawie
ktorego można się czegoś _nauczyć_ jeszcze mam resztki nadziei.
Po drugie: mam pełne prawo krytykowac następny badziewny kod pisany w
sposób który pokazuje totalne olewanie wszelkich zasad wypracowanych
przez ostatnie 20 lat. Po prostu mogę. I nie oznacza to wcale że od razu
musze pokazać lepsze. To że jest to badziewie projektowe widac od
pierwszego zerkniecia w kod. Oczywiście tak wygląda całkiem spora ilość
softu na uC (stara szkoła pisania w C). Fajnie by było jak by cześć
młodego pokolenia niekoniecznie się na tym wzorowała i moze warto to
głośno powiedzieć pokazując wady.
Zbych
Guest
Sat Jul 04, 2009 8:46 pm
Sebastian Biały pisze:
Quote:
Po drugie: mam pełne prawo krytykowac następny badziewny kod pisany w
sposób który pokazuje totalne olewanie wszelkich zasad wypracowanych
przez ostatnie 20 lat. Po prostu mogę. I nie oznacza to wcale że od razu
musze pokazać lepsze. To że jest to badziewie projektowe widac od
pierwszego zerkniecia w kod.
A ja myślę, że po prostu marudzisz. W firmie, w której pracowałem jeden
gość napisał kod potrzebny do obsługi SD/HC w ciągu tygodnia (włączając
w to czytanie dokumentacji i testowanie kart różnych producentów). Na
stronie SD Association jest dokumentacja, są opisane różnice w
inicjalizacji kart sd i sdhc. Na tej stronie też jest całkiem fajny opis:
http://elm-chan.org/docs/mmc/mmc_e.html
--
przeciez moje rozumowanie bylo bez skazy,
no sam bym wskoczyl do tego wulkanu,
ale kto by tak pieknie gwizdal...
T.M.F.
Guest
Sat Jul 04, 2009 9:01 pm
Quote:
Po drugie: mam pełne prawo krytykowac następny badziewny kod pisany w
sposób który pokazuje totalne olewanie wszelkich zasad wypracowanych
przez ostatnie 20 lat. Po prostu mogę. I nie oznacza to wcale że od razu
musze pokazać lepsze. To że jest to badziewie projektowe widac od
pierwszego zerkniecia w kod. Oczywiście tak wygląda całkiem spora ilość
softu na uC (stara szkoła pisania w C). Fajnie by było jak by cześć
młodego pokolenia niekoniecznie się na tym wzorowała i moze warto to
głośno powiedzieć pokazując wady.
To nie tak do konca, ze ludzie pisza badziewny kod. Pisanie na male
procki ma swoja specyfike, m.in. brak zasobow. Napisanie uniwersalnej
biblioteki jest fajne, ale niekoniecznie optymalne. W efekcie musisz
korzystac np. z wiekszego procka, niz gdybys napisal kod "badziewny" ale
za to krotszy/szybszy i lepiej dostosowany do konkretnej sytuacji.
Inna sprawa, ze ludzie czesto udostepniaja po prostu to co im dziala, w
ich konkretnym zastosowaniu.
--
Inteligentny dom -
http://idom.wizzard.one.pl
http://idom.sourceforge.net/
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.
Sebastian Biały
Guest
Sat Jul 04, 2009 9:03 pm
Zbych wrote:
Quote:
Po drugie: mam pełne prawo krytykowac następny badziewny kod pisany w
sposób który pokazuje totalne olewanie wszelkich zasad wypracowanych
przez ostatnie 20 lat. Po prostu mogę. I nie oznacza to wcale że od
razu musze pokazać lepsze. To że jest to badziewie projektowe widac od
pierwszego zerkniecia w kod.
A ja myślę, że po prostu marudzisz.
Masz do tego prawo.
Quote:
W firmie, w której pracowałem jeden
gość napisał kod potrzebny do obsługi SD/HC w ciągu tygodnia
Pozostaje mi pogratulować. Tylko czego to dowodzi? Napisanie tego jest
_trywialne_. Mniej trywialne jest takie zaprojektowanie calości aby
zredukować malloc/free a jednocześnie np. zapewnić synchronizację
międzywatkową SPI i pare innych duperelek ważnych w danym projekcie.
Więc może i bym był w stanie napisać SDHC w 3 dni tylko może
niekoniecznie działające zgodnie z koncepcjami innych elelementów
systemu? Najpierw z chęcią obejrze inne projekty aby nie popelniać
błędów które już ktoś popełnił.
Robie coś większego niż grajek mp3. SPI jest współdzielone z innymi
elementami systemu. Napisanie calosci jest troche bardziej skomplikowane
niż wynika z "opini jakiegoś gościa".
Sebastian Biały
Guest
Sat Jul 04, 2009 9:11 pm
T.M.F. wrote:
Quote:
To nie tak do konca, ze ludzie pisza badziewny kod. Pisanie na male
procki ma swoja specyfike, m.in. brak zasobow.
Nie tłumaczy to nijak wewnętrznej potrzeby generowania zmiennych
globalnych i ustawionych na sztywno niby-interfejsów.
Quote:
Napisanie uniwersalnej
biblioteki jest fajne, ale niekoniecznie optymalne.
Czekaj, bo zaczyna się nastepna bez sensu dyskusja. Ja jestem
zwolennikiem C++ na uC (włacznie z 8-bitowcami) wiec obawiam się ze za
chwile zacznie się jakiś flame. Tak więc EOT.
Goto page Previous 1, 2, 3, 4 Next