E-LAB Computers
 

Compiler Parameter übergabe für AddApp

pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 55
Beiträge: 1344
Dabei seit: 02 / 2009
Betreff:

Compiler Parameter übergabe für AddApp

 · 
Gepostet: 06.10.2020 - 17:33 Uhr  ·  #1
Hallo rolf,

ich würde gerne den Compiler über eine Batch-Routine aufrufen und über diese Routine eine Firmware für den Bootloader erzeugen lassen.

Gibt es einen Compiler-Parameter, der dann ein evtl.
Code
addApp    = 'Bootloader_BOOTSD.hex';// Pfad zum Bootloader

beim Build einfach ignoriert, auch wenn dieser Eintrag im Define-Bereich steht?

Thorsten
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 45
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: Compiler Parameter übergabe für AddApp

 · 
Gepostet: 07.10.2020 - 21:55 Uhr  ·  #2
Hallo Thorsten,

ich hätte einen alternativen Lösungsvorschlag mit dem Kommandozeilentool sRecord. Das Tool kann hex Dateien verarbeiten.

Bitte text Datei öffnen, dieses Forum mag keine Backslashs.

Gruß

Thomas
Anhänge an diesem Beitrag
Warum funktionieren keine Backslashs im CODE Tag?

Hallo Thorsten,

ich hätte einen alternativen Lösungsvorschlag mit dem Kommandozeilentool sRecord. Das Tool kann hex Dateien verarbeiten.

Mit dem folgenden batch kann man z.B. das hex von der App und dem Boot für einen xmega128 zusammenführen.

.\srecord\srec_cat ^
.\app\mainApp.hex -intel -crop 0x00000 0x20000 ^
.\boot\bootApp.hex -intel -crop 0x20000 0x22000 ^
-o .\appWithBoot.hex -intel

Laut sRecord Reference manual [http://srecord.sourceforge.net/srecord-1.64.pdf] müsste es auch möglich sein das Boot aus der App zu entfernen.

Ich glaub so

.\srecord\srec_cat ^
.\app\mainApp.hex -intel -exclude -within .\boot\bootApp.hex ^
-o .\appWithoutBoot.hex -intel

Wobei ich dann das machen würde

.\srecord\srec_cat ^
.\app\main.hex -intel -crop 0x00000 0x20000 ^
-o .\app\WithoutBoot.hex -intel


Hier der Auszug aus dem Reference manual von sRecord

Overlaying two data files
It is common to want to “join” two hex files together, without any changes of address. on the assumption
neither file intersects with the other. This is a simple “layers”, it is quite common for linkers to output the
main code, and then a whole bunch of relocation and jump destination, by writing a two layered files.
srec_cat one.he two.hex −o three.hex
Almost always you see an error
srec_cat: two.srec: 49282: contradictory 0x00000000 value (previous = 0x00, this one = 0x80)
This means that the files actually intersect, they try to set the same location. You can turn the error into a
warning, using the −contradictory-bytes=warning command line option. But this will probably generate
a bazillion warnings.
The necessary step is to crop the first file, to avoid the regions the second file is going o be overwriting.
srec_cat
one.srec −exclude −within two.srec
two.srec −exclude −within one.srec
−o three.hex
Depending on your linker this will have no errors (but if it wants another layer, more jiggery-pokery is
required).
Dateiname: für thorsten srecord.txt
Dateigröße: 1.99 KB
Titel:
Heruntergeladen: 300
pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 55
Beiträge: 1344
Dabei seit: 02 / 2009
Betreff:

Re: Compiler Parameter übergabe für AddApp

 · 
Gepostet: 08.10.2020 - 11:30 Uhr  ·  #3
Zitat geschrieben von Thomas.AC

Hallo Thorsten,

ich hätte einen alternativen Lösungsvorschlag mit dem Kommandozeilentool sRecord. Das Tool kann hex Dateien verarbeiten.

Bitte text Datei öffnen, dieses Forum mag keine Backslashs.

Gruß

Thomas


Hallo Thomas,

Danke für Deine Idee.
Aber wie soll man das verarbeiten? Soweit ich weiss beinhalten die Hexfiles Prüfsummen, wenn ich diese Kürze stimmen diese doch nicht mehr.

Bei normalen C-Compilern kann man über den Linker in der Batch das recht einfach bearbeiten. Ansonsten schaue ich mal ob ich das Ganze über einen UE-Script ändern kann. Eine Compiler-Anweisung wäre hier halt der einfachere Weg.

Thorsten
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 45
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: Compiler Parameter übergabe für AddApp

 · 
Gepostet: 08.10.2020 - 23:54 Uhr  ·  #4
Hallo Thorsten,

Klar ist eine integrierte Lösung schöner.

Zitat
Aber wie soll man das verarbeiten? Soweit ich weiss beinhalten die Hexfiles Prüfsummen, wenn ich diese Kürze stimmen diese doch nicht mehr.


Ich sehe da keine Probleme. Bei meinem Vorschlag wird das "AppApp" einfach wieder rückgängig gemacht.

Gruß
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Thema

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.