Fehlermeldung in BootApp bei CalcFlashCheck_A

jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

Fehlermeldung in BootApp bei CalcFlashCheck_A

 · 
Posted: 27.09.2018 - 09:52  ·  #1
Hallo Rolf,
ich versuche gerade die Funktion CalcFlashCheck_A in einer BootApp zu verwenden.
Der Compiler meldet dann das Fehlen von "Boot_Init" und einiger weiterer Flashloader Funktionen.
Eigentlich möchte ich nur die Checksumme der App überprüfen. Ist CalcFlashCheck_A in einer BootApp überhaupt möglich?

Gruß Joachim
Attachments
// **********************************************************************
// This application runs completely in the boot section of the AVR.
// Some library functions and drivers are used and also interrupts
// are running. If the FlashDownloader is started then also here
// the standard interrupt driven UART/SerPort is used for communication.
// Please note that the constant "BootCheckF" is placed to a fixed
// address, but is outside of the boot area. A valid main application
// residing in the "normal" code area $0000 and up must provide this
// constant in order do an immediate jump to $0000 into the standard
// application area.
// The Main Application must be build and compiled separately and can
// be downloaded with this Application/Bootloader
// **********************************************************************

program BootApp;

{$NOSHADOW}
{ $WG} {global Warnings off}

Device = mega128, VCC=5;
{$BootApplication $0F000} // 8kByte Boot size

Define_Fuses
Override_Fuses;
NoteBook = E;
COMport = USB2;
Supply = 5, 100;
LockBits0 = [BOOTLOCK11];
FuseBits0 = [];
FuseBits1 = [BOOTRST, BOOTSZ0, BOOTSZ1, CKOPT, JTAGEN, OCDEN]; // 8kB Boot
FuseBits2 = [];
ProgMode = JTAG;
ProgFuses = true;
ProgLock = true;
ProgFlash = true;
ProgEEprom = true;
// AddApp = 'c:\PROJEKTE\Pascal_sc\AVR\EvaBoard\AVR EvaBoardI';
// Info for programmer, joining hexfiles, using this project name

Import SysTick, FlashWrite, SerPort, BeepPort, SysLEDblink;

From System Import FlashCheck_A;

Define
ProcClock = 16000000; {Hertz}
SysTick = 10; {msec}
StackSize = $0030, iData;
FrameSize = $0064, iData;
SerPort = 19200, Stop2; {Baud, StopBits|Parity}
RxBuffer = 8, iData;
TxBuffer = 8, iData;
SysLedBlink = 10; {SysTicks}
SysLedBlink0 = PortA, 0, high;
BeepPort = PortG, 4;

Implementation
Filename: BootApp.pas
Filesize: 4.49 KB
Title: BootApp
Download counter: 53
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Fehlermeldung in BootApp bei CalcFlashCheck_A

 · 
Posted: 30.09.2018 - 13:30  ·  #2
Leider kann ich nicht weiterhelfen, da ich es auch nicht kompilieren kann und vermute, dass das in einer
Code

{$BootApplication $0F000

leider noch nicht funktioniert.

Im AVRco Demo BootCheckSums machen die das mit
Code

{$PHASE BootBlock $0F000}

und dort existiert auch ein
Code

define
  FlashChkSum             = (2 * BOOTRST) -2;  

womit klar ist, wo die Checksum im Flash liegt.

Ich musste allerdings das Demo mit
Code

  _CalcFlashPageA := 0; 
  _CalcFlashAddrA := 0; 
  _CalcFlashCA    := 0

aufpimpen, damit es funktionierte. Siehe Democode BootChecksum fehlerhaft

Gruß
jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

Re: Fehlermeldung in BootApp bei CalcFlashCheck_A

 · 
Posted: 04.10.2018 - 13:02  ·  #3
danke, hab ich wohl gelesen, aber ich wollte die Funktion in einer BootApp verwenden.
.... muss ich jetzt wohl zu Fuß machen ...

Gruß Joachim
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 15   67   82 · Page-Gen-Time: 0.031371s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI