-
Data: 2009-11-08 10:15:34
Temat: Re: Zelety architektury Von Neumannna w uC ARM?
Od: "T.M.F." <t...@n...mp.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Druga sprawa to dostęp do danych - np. w funkcji printf podajesz jako
> pierwszy parametr adres ciągu znaków do wypisania. No i w ARMach adres
> to adres - może sobie być w obszarze programu (np. w pamięci Flash),
> może być w danych. A w AVRach to dopiero jest jazda - wymagane są
> oddzielne funkcje pobierające ten ciąg z pamięci danych (printf) oraz z
> pamięci programu (printf_P) i specjalne makra nakazujące umieszczenie
> ciągu znaków w pamięci programu.
Wiele tych niedogownosci jest gcc-specyficznych, bo gcc nie obsluguje
segmentow pamieci - ale ma sie to wkrotce zmienic. Ale ma to tez zalety
- w AVR mozesz miec 64kB FLASH i 64kB SRAM i ciagle adresowac je za
pomoca 16-bitowych wskaznikow, co daje istotne zyski, a przy madrze
napisanym programie korzystanie z oddzielnych funkcji nie jest az tak
uciazliwe. Inaczej musialbys miec wskazniki co najmniej 17 bitowe, czyli
w praktyce 24 bitowe, niezly overkill dla procesora, ktory wlasciwie nie
ma instrukcji operujacych nawet na 16 bitach.
Funkcje tez mozna napisac uniwersalne - ja np. w jednym z programow
zdefiniowalem sobie makra, ktore powoduja, ze najstarszy bit adresu
interpretowany jest jako wskaznik rodzaju pamieci - jak jest 1 to FLASH,
0 - SRAM, oczywiscie zaweza mi to ilosc obslugiwanej pamieci do 2x32kB,
ale mi to wystarczylo. W C++ mozna to zrobic jeszcze bardziej elegancko
i transparentnie dla programu.
--
Inteligentny dom - http://idom.wizzard.one.pl
http://idom.sourceforge.net/
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.
Następne wpisy z tego wątku
- 08.11.09 10:22 J.F.
- 08.11.09 10:33 slawek7
- 08.11.09 10:49 J.F.
- 08.11.09 11:35 Paweł
- 08.11.09 20:23 Adam Dybkowski
Najnowsze wątki z tej grupy
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
Najnowsze wątki
- 2025-07-19 Zakrzewo => SAP HCM Consultant <=
- 2025-07-19 Poznań => Konsultant SAP HCM <=
- 2025-07-19 Poznań => SAP HCR Consultant <=
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=
- 2025-07-18 Warszawa => Sales Director (Cloud solutions) <=
- 2025-07-18 Spalinowa trauma
- 2025-07-18 Polska => Senior Key Account Manager <=
- 2025-07-18 Białystok => Programista Kotlin <=
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=