-
Data: 2017-03-21 09:48:07
Temat: Re: Pamięć at89c2051
Od: MKi <e...@t...op.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]-- Wiadomość oryginalna (wysłana 21.03.2017 09:09) --
> Ciąg dalszy eksperymentów z antycznymi mikrokontrolerami. :)
>
> Trafiłem na taką oto dziwną sytuację (zawartość pliku .mem wklejona na
> końcu wiadomości). Z jakiegoś powodu kilkanaście bajtów na początku
> pamięci zostało wyłączonych z użytku przez kompilator sdcc. Ktoś ma
> pomysł dlaczego tak się stało i co mogę z tym zrobić?
> Może mam coś źle ustawione w makefile albo powinienem deklarować zmienne
> w jakiś specyficzny sposób?
>
> Druga sprawa: wykonałem kilka eksperymentów i z tego co widzę
> umieszczenie w kodzie tablicy znaków zdefiniowanej jako const char[] nie
> powoduje zwiększenia zużycia RAM-u. Mam rozumieć, że 8051/sdcc potrafi
> odwoływać się do danych umieszczonych w pamięci programu bezpośrednio,
> bez potrzeby kombinowania z jakimś odpowiednikiem AVR-owskiego pgmspace.h?
>
>
> Internal RAM layout:
> 0 1 2 3 4 5 6 7 8 9 A B C D E F
> 0x00:|0|0|0|0|0|0|0|0|a|a|a|a|Q| | | |
> 0x10:| | | | | | | | | | | | | | | | |
> 0x20:|B|b|b|b|b|b|b|b|b|b|b|b|b|b|b|b|
> 0x30:|b|b|b|b|b|b|b|b|b|b|b|b|b|b|b|b|
> 0x40:|b|b|b|b|b|b|b|b|b|b|b|b|b|b|b|S|
> 0x50:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0x60:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0x70:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
> 0x80:| | | | | | | | | | | | | | | | |
> 0x90:| | | | | | | | | | | | | | | | |
> 0xa0:| | | | | | | | | | | | | | | | |
> 0xb0:| | | | | | | | | | | | | | | | |
> 0xc0:| | | | | | | | | | | | | | | | |
> 0xd0:| | | | | | | | | | | | | | | | |
> 0xe0:| | | | | | | | | | | | | | | | |
> 0xf0:| | | | | | | | | | | | | | | | |
> 0-3:Reg Banks, T:Bit regs, a-z:Data, B:Bits, Q:Overlay, I:iData,
> S:Stack, A:Absolute
>
> Stack starts at: 0x4f (sp set to 0x4e) with 49 bytes available.
>
> Other memory:
> Name Start End Size Max
> ---------------- -------- -------- -------- --------
> PAGED EXT. RAM 0 256
> EXTERNAL RAM 0 1024
> ROM/EPROM/FLASH 0x0000 0x0327 808 2048
>
Pamięć:
Zapewne obszar zmiennych jednego modułu (jednego pliku .c)
musi być ciągły, a obszar "bbbb" jest za duży, aby się
zmieścił od 0x0D do 0x1F. Używasz też zmiennych bitowych,
które zaczynają się zawsze od 0x20.
Rozwiązanie: rozdziel zmienne modułu "bbbb" na dwa moduły.
Dane we FLASH: Jak najbardziej, całe kombinowanie
to dyrektywa const lub code.
Pozdrowienia,
MKi
Następne wpisy z tego wątku
- 21.03.17 10:00 Miller Artur
- 21.03.17 11:16 J.F.
- 21.03.17 11:36 MKi
- 21.03.17 11:52 Marek
- 21.03.17 17:20 niepełnosprawny intelektualnie 'POPIS/EU
- 21.03.17 20:28 Atlantis
- 22.03.17 18:39 Alojzy
- 22.03.17 21:55 Atlantis
- 23.03.17 00:38 J.F.
- 23.03.17 06:14 J.F.
- 24.03.17 08:02 Adam Wysocki
- 24.03.17 08:04 Adam Wysocki
- 24.03.17 08:05 Adam Wysocki
- 24.03.17 09:43 Marek
- 24.03.17 11:14 Adam Wysocki
Najnowsze wątki z tej grupy
- System operacyjny dla 6800?
- Przyłączenie działki do sieci elektrycznej
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
- Programator czasowy TUYA.
Najnowsze wątki
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=
- 2024-05-17 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-05-17 Warszawa => Senior Software Engineer PHP (BillPro) Contractor <=
- 2024-05-17 Warszawa => International freight forwarder <=
- 2024-05-17 Warszawa => Fullastack (Java) Developer <=
- 2024-05-17 Lublin => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-17 Warszawa => Mid PHP Developer (Laravel) <=