AVR ATtiny2313 keine Strings ?

Antworten
Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

AVR ATtiny2313 keine Strings ?

Beitrag von Mathias »

Ich habe versucht folgenden Minicode zu kompilieren.

Code: Alles auswählen

program Project1;
var
  s: ShortString = 'Ich liebe Lazarus !';
begin
  repeat
    PORTB := byte(s[2]);
  until False;
end.
Der Compiler spuckt folgenden Fehler aus:

Code: Alles auswählen

Projekt kompilieren, OS: embedded, CPU: avr, Ziel: Project1.elf: Exit code 1, Fehler: 3
Error: /home/tux/fpcupdeluxe_avr25/cross/bin/avr-embedded/avr-ld: /n4800/DATEN/Programmierung/Lazarus/Tutorials/Embedded/AVR/ATtiny2313/EEPROM_String_Test/Project1.elf section `.data' will not fit in region `data'
Error: /home/tux/fpcupdeluxe_avr25/cross/bin/avr-embedded/avr-ld: region `data' overflowed by 128 bytes
Free Pascal Compiler version 3.3.1-r20:45124M [2020/04/27] for avr
Copyright (c) 1993-2020 by Florian Klaempfl and others
Target OS: Embedded
Compiling Project1.pas
Assembling project1
Linking /n4800/DATEN/Programmierung/Lazarus/Tutorials/Embedded/AVR/ATtiny2313/EEPROM_String_Test/Project1
Project1.pas(6,1) Error: Error while linking
Kennt der ATTiny2313 keine Strings ?


Nachtrag:
Fehler gefunden, der ShortString hat 255 Zeichen, und das ist für den 2313 zu viel.
So geht es:

Code: Alles auswählen

s: String[50] = 'Ich liebe Lazarus !'; 
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten