c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] MMC ohne SPI HW-Change & Distanzsensoren

Absender: Timo Sandmann
Datum: Di, 11.01.2011 20:04:58
In-reply-to: <835119.29930.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <1ac236efdb2ae353dba0652e0009d0d7.squirrel@xxxxxxxxxxxxxxxxxxx> <BDD47587-412D-4D50-AC42-4B488A95575E@xxxxxxxxxxxxxxx> <4CF809BA.3070600@xxxxxxx> <BCD9FF46-12B9-4007-BACE-511DBA32CE03@xxxxxxxxxxxxxxx> <461042.3614.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <545F286F-E357-458F-978F-6A3D09B73403@xxxxxxxxxxxxxxx> <835119.29930.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>


Hallo,

kurze Info zum Build-Problem beim MMC-Code:
Das Makefile, das Eclipse-CDT automatisch erzeugt, erstellt für Assembler-Dateien grundsätzlich keine Abhängigkeits-Dateien (.d). Da mmc-low.S aber von ct-Bot.h abhängt (Einstellungen MMC_AVAILABLE und SPI_AVAILBALE), wird dies zum Problem, sobald man MMC_AVAILABLE oder SPI_AVAILBALE ändert. Dann müsste auch mmc-low.S neu übersetzt werden, was das Makefile aber nicht tut, da für mmc-low.S ja keine Abhängigkeiten bekannt sind.
Um das Problem zu umgehen, werde ich den Code aus mmc-low.S als inline-Assembler in eine C-Datei packen. 

Workaround bis auf Weiteres: nach jeder Änderung von MMC_AVAILABLE oder SPI_AVAILBALE bitte immer Project -> Clean aufrufen.

Grüße,
Timo


Am 31.12.2010 um 10:01 schrieb Fred Ammann:
> Hallo Timo
> 
> herzlichen Dank - werde ich gerne tun. Hätte das Manual bez. den 
> Distanz-Sensoren lesen sollen.....
> 
> Grüsse
> 
> Fredi
> 
> ________________________________
> From: Timo Sandmann <mail@xxxxxxxxxxxxxxx>
> To: Entwicklung rund um den c't-bot <ct-bot-entwickler@xxxxxxxxxxxxxxxxx>
> Sent: Thu, December 30, 2010 3:35:23 PM
> Subject: Re: [ct-bot] MMC ohne SPI HW-Change & Distanzsensoren
> 
> Hi,
> 
> Am 25.12.2010 um 23:48 schrieb Fred Ammann <fammann@xxxxxxxxx>:
>> 1. Wollte uBasic mal ausprobieren. Ich kann aber MMC_AVAILABLE nicht ohne 
>> SPI_AVAILBALE für den ct-bot kompilieren!
> 
> Also SPI_AVAILBALE aus ist ja die standardeinstellung und ich bin mir ziemlich 
> sicher, dass der Code so auch compiliert. Das kann ich jetzt ohne Rechner 
> allerdings nicht überprüfen. 
> 
> 
>> Dann sind mmc_enable, mmc_read_byte
>> und mmc_write_byte (beide aus mmc-low) undefinierte Referenzen.
> 
> Das hört sich nach einem make Problem an, lösche mal den Ordner Debug-MCU-... 
> und führe dann project clean aus.
> 
>> Ich will aber der HW-Change nicht unbedingt durchführen - da nicht ganz klar 
>> beschrieben. Falls ich aber SPI_AVAILABLE einschalte sind die Werte für gewisse 
>> 
>> Sensoren nicht mehr richtig. Gibt es einen anderen Switch, den ich drehen kann 
> 
>> um den DEad-Lock zu umgehen?
>>   
>> 2. meine Distanzsensoren zeigen beide immer 995 an. Sie so aus wie wenn sie 
>> ausgeschaltet sind. Mit welchem Switch kann ich sie wieder einschalten? Oder 
>> habe ich vielleicht durch das HW-Erweiterungsmodul die nötige Enable-Leitung 
>> gekappt?
> 
> Die Distanzsensoren zeigen immer 995 an, wenn sie nicht kalibriert sind (hier 
> hilft das Kalibrier-Verhalten) oder das eeprom Abbild nicht mit auf den Bot 
> übertragen wurde (siehe Flash Anleitung im Wiki). 
> 
> 
> Viele Grüße,
> Timo