C-Code in Pascal einbinden?

  • 1
  • 2
  • Page 1 of 2
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

C-Code in Pascal einbinden?

 · 
Posted: 02.03.2018 - 08:32  ·  #1
Hallo Zusammen,

ich stehe her vor dem Problem, daß ich einen Umweltsensor von Bosch, den BME680 mit AVRco Pascal benutzen möchte. Soweit kein Problem, der Sensor ist per I2C dran und läuft.
Leider hat Bosch umfangreiche Abgleich-Routinen in GCC (C-Compiler) für den Sensor geschrieben, die ich lt. Aussage von Bosch nutzen muß. Und diese Routinen liegen nicht als C-Quellcode vor.

Meine Idee ist nun, den Bosch C-Code an eine bestimmte Adresse zu compilieren, den Stack-Pointer passend zu setzen und dann das Ganze von Pascal aus aufzurufen. Den Hex-Code des compilierten C-Code könnte ich ja beim Flashen in den ISP einbinden...

Hat jemand so etwas schon einmal gemacht? Hätte jemand ein paar Tips für mich?

Michael

PS: Ja, ich finde die Situation auch schrecklich! :banghead: ](*,)
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: C-Code in Pascal einbinden?

 · 
Posted: 02.03.2018 - 11:32  ·  #2
Hi Michael,
das geht natürlich nicht aber du kannst mir den C Code geben und ich Übersetzte den für dich.

miparo
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

Re: C-Code in Pascal einbinden?

 · 
Posted: 02.03.2018 - 13:07  ·  #3
Hallo Miparo,

danke Dir für das Angebot, aber Fa. Bosch war so schlau, daß die wichtigen Sachen nicht als Quell-Code (bei C: Quäl-Code) vorliegen. Da liegt nur Binärgemüse zum Einlinken bei.

Deshalb ja die verwegene Idee mit dem C-Compile in einen freien Adressbereich des Flash mit einer Übergabeschnittstelle an einer festen Adresse im RAM. Dann per Jump vom Pascal zum C und hoffen, daß irgendwann das C-Programm zurückkommt. Klar, das ganze Handling muß gut durchdacht sein.

Grüße, Michael
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: C-Code in Pascal einbinden?

 · 
Posted: 02.03.2018 - 14:01  ·  #4
Hi Michael,
aber den ganzen Rödel zum BME680 gibt es doch zu Hauf im Netz.
Von Arduino und und und , da ist man doch nicht auf Bosch angewiesen?

miparo
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

Re: C-Code in Pascal einbinden?

 · 
Posted: 02.03.2018 - 14:15  ·  #5
Hallo Miparo,

schön wäre es. Auf den ersten Blick habe ich das auch gedacht.

Bosch stellt 2 Software-Pakete zur Verfügung:

1)
BME6xy API: Hier findet sich die I2C Schnittstelle, das Auslesen der Kompensations-Register sowie einfache Druck-, Temperatur- und Feuchte-Korrektur Berechnungen. Das liegt alles in C Source vor, für alle möglichen Prozessoren und ist das, was die meisten Leute nutzen.

Darauf aufsetzend kommt dann aber der

2)
BSEC ( Bosch Software Environmental Cluster ) in der Ausführungen IAQ oder ALL: Hier finden sich die tiefer gehenden Kompensations-Berechnungen zur Luftqualität, dem VOC-Sensor Anteil. Dieser unterliegt einer Abhängigkeit von den anderen Meßwerten und muß über einen längeren Zeitraum (bis zu 4 Wochen) betrachtet und kompensiert werden (AMS nennt das z.B: Baseline drift). Hier gibt es nur Binär Code. Und diesen Teil hat meines Wissens noch keiner neu geschrieben.

Andere Hersteller wie AMS oder Sensirion packen diese Berechnungen mit auf den Chip, aber die sind dann gleich doppelt so teuer und oft auch sehr viel größer.

Es ist eine vertrackte Sache, das Ganze.. :fgrin:

Michael
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: C-Code in Pascal einbinden?

 · 
Posted: 02.03.2018 - 14:47  ·  #6
Komisches Teil und Bosch hat Angst vor den Chinesen mit ihrer Unit.

Aber das Ding mist dann den Co2 auf dem Mond und 4 Tage Burn In ?

Im FEHM Forum hat ja einer en Alternative zu dem Bosch erwähnt .

miparo
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: C-Code in Pascal einbinden?

 · 
Posted: 02.03.2018 - 16:15  ·  #7
Brauchst du das für Mega oder Xmega ?

Ich hätte den ASM Code von der Bosch Lib :)

Da werden ja eh nur 13 Funktionen exportiert.
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

Re: C-Code in Pascal einbinden?

 · 
Posted: 03.03.2018 - 07:06  ·  #8
Hallo Miparo,

wenn das Assembler und kein Hex - oder-Binärdump ist, kann ich das brauchen, unter der Voraussetzung, daß die Funktionseinsprünge und übergebenen Parameter erkennbar sind.
Ich sehe mir das gern an, Danke!

Gruß, Michael

PS: ATMega (ist eine ältere Hardware, wo das dran soll)
  • 1
  • 2
  • Page 1 of 2
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: 14 · Cache Hits: 14   133   147 · Page-Gen-Time: 0.040327s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI