-
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
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
Najnowsze wątki
- 2025-11-07 Warszawa => Senior Programmer C <=
- 2025-11-07 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-11-07 Warszawa => Programista C <=
- 2025-11-07 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=
- 2025-11-07 Wrocław => Programista React ze znajomością C++ <=
- 2025-11-07 Lublin => Programista Delphi <=
- 2025-11-07 OBD2 napięcie akumulatora
- 2025-11-06 citek i GP.
- 2025-11-06 envelo - list polecony
- 2025-11-06 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-11-06 Warszawa => Strategic Account Manager <=
- 2025-11-06 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-11-06 Ktoś się wybiera?
- 2025-11-05 Warszawa => C Programmer <=
- 2025-11-05 Rzeszów => International Freight Forwarder <=




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei