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: Fred Ammann
Datum: Sa, 29.01.2011 23:00:34
In-reply-to: <01F75EBE-9A3F-445D-85D8-FB6E52843C16@xxxxxxxxxxxxxxx>
References: <278E4BE8-8C52-4E3E-A316-2D9AD443EE11@xxxxxxxxxxxxxxx> <933842.52192.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <01F75EBE-9A3F-445D-85D8-FB6E52843C16@xxxxxxxxxxxxxxx>


Dank für den schnelle Feedback. Ich verwende Windows und das kann keine 
Flash-Karten partitionieren (laut Google). Ich suche dann mal weiter ober nehme 
Linux.

Bez. MMC_AVAILABLE bekomme ich diesen Fehler wenn eingeschaltet beim Linken:
Building target: ct-Bot.elf
Invoking: GCC C Linker
avr-gcc -L"C:\Programme\WinAVR\lib" -mmcu=atmega644p 
-Wl,--section-start=.bootloader=0xF800 -o"ct-Bot.elf" ./1st_init.o ./bot-2-bot.o 
./botfs.o ./command.o ./ct-Bot.o ./fifo.o ./init.o ./log.o ./map.o 
./math_utils.o ./minilog.o ./mmc-vm.o ./motor.o ./pos_store.o ./sensor.o 
./timer.o ./ui/gui.o ./ui/misc.o ./ui/rc5.o ./pc/bot-2-sim_pc.o 
./pc/botfs-low_pc.o ./pc/botfs-tools_pc.o ./pc/botfs_pc.o ./pc/cmd-tools_pc.o 
./pc/delay_pc.o ./pc/display_pc.o ./pc/eeprom_pc.o ./pc/ena_pc.o 
./pc/init-low_pc.o ./pc/ir-rc5_pc.o ./pc/led_pc.o ./pc/mini-fat_pc.o 
./pc/mmc-emu_pc.o ./pc/motor-low_pc.o ./pc/mouse_pc.o ./pc/os_thread_pc.o 
./pc/sensor-low_pc.o ./pc/tcp-server.o ./pc/tcp.o ./pc/timer-low_pc.o 
./pc/trace.o ./mcu/adc.o ./mcu/bootloader.o ./mcu/bot-2-sim.o ./mcu/botfs-low.o 
./mcu/cmps03.o ./mcu/delay.o ./mcu/display.o ./mcu/ena.o ./mcu/i2c.o 
./mcu/init-low.o ./mcu/ir-rc5.o ./mcu/led.o ./mcu/mini-fat.o ./mcu/mmc-low.o 
./mcu/mmc.o ./mcu/motor-low.o ./mcu/mouse.o ./mcu/os_scheduler.o 
./mcu/os_thread.o ./mcu/sensor-low.o ./mcu/shift.o ./mcu/sp03.o ./mcu/spi.o 
./mcu/srf10.o ./mcu/timer-low.o ./mcu/twi.o ./mcu/uart.o 
./bot-logic/behaviour_avoid_border.o ./bot-logic/behaviour_avoid_col.o 
./bot-logic/behaviour_calibrate_pid.o ./bot-logic/behaviour_calibrate_sharps.o 
./bot-logic/behaviour_cancel_behaviour.o ./bot-logic/behaviour_catch_pillar.o 
./bot-logic/behaviour_classify_objects.o ./bot-logic/behaviour_delay.o 
./bot-logic/behaviour_drive_area.o ./bot-logic/behaviour_drive_chess.o 
./bot-logic/behaviour_drive_distance.o ./bot-logic/behaviour_drive_square.o 
./bot-logic/behaviour_drive_stack.o ./bot-logic/behaviour_follow_line.o 
./bot-logic/behaviour_follow_line_enhanced.o 
./bot-logic/behaviour_follow_object.o ./bot-logic/behaviour_follow_wall.o 
./bot-logic/behaviour_get_utilization.o ./bot-logic/behaviour_goto.o 
./bot-logic/behaviour_goto_obstacle.o ./bot-logic/behaviour_goto_pos.o 
./bot-logic/behaviour_gotoxy.o ./bot-logic/behaviour_hang_on.o 
./bot-logic/behaviour_line_shortest_way.o 
./bot-logic/behaviour_measure_distance.o ./bot-logic/behaviour_olympic.o 
./bot-logic/behaviour_pathplaning.o ./bot-logic/behaviour_remotecall.o 
./bot-logic/behaviour_scan.o ./bot-logic/behaviour_scan_beacons.o 
./bot-logic/behaviour_servo.o ./bot-logic/behaviour_simple.o 
./bot-logic/behaviour_solve_maze.o ./bot-logic/behaviour_test_encoder.o 
./bot-logic/behaviour_transport_pillar.o ./bot-logic/behaviour_turn.o 
./bot-logic/behaviour_turn_test.o ./bot-logic/behaviour_ubasic.o 
./bot-logic/bot-logic.o ./bot-logic/ubasic.o ./bot-logic/ubasic_call.o 
./bot-logic/ubasic_cvars.o ./bot-logic/ubasic_tokenizer.o -lm
./mmc-vm.o: In function `mmc_clear_file':C:\Users\Fredi\Documents\90. 
ctbot\workspace\ct-Bot-new\Debug-MCU-m644p-W32/../mmc-vm.c:449: undefined 
reference to `mini_fat_clear_file'./mmc-vm.o: In function `mmc_get_filesize':
C:\Users\Fredi\Documents\90. 
ctbot\workspace\ct-Bot-new\Debug-MCU-m644p-W32/../mmc-vm.c:434: undefined 
reference to `mini_fat_get_filesize'
./mmc-vm.o: In function `mmc_fopen_P':
C:\Users\Fredi\Documents\90. 
ctbot\workspace\ct-Bot-new\Debug-MCU-m644p-W32/../mmc-vm.c:408: undefined 
reference to `mini_fat_find_block_P'
mingw32-make: *** [ct-Bot.elf] Error 1
 
und diese hier beim kompilieren:../mmc-vm.c:408: warning: implicit declaration 
of function 'mini_fat_find_block_P'
../mmc-vm.c:408: warning: conversion to 'uint32_t' from 'int' may change the 
sign of the result
../mmc-vm.c: In function 'mmc_get_filesize':
../mmc-vm.c:434: warning: implicit declaration of function 
'mini_fat_get_filesize'
../mmc-vm.c:434: warning: conversion to 'uint32_t' from 'int' may change the 
sign of the result
../mmc-vm.c: In function 'mmc_clear_file':
../mmc-vm.c:449: warning: implicit declaration of function 'mini_fat_clear_file'
Finished building: ../minilog.c
Vielen Dank
 
Fredi




________________________________
From: Timo Sandmann <mail@xxxxxxxxxxxxxxx>
To: Entwicklung rund um den c't-bot <ct-bot-entwickler@xxxxxxxxxxxxxxxxx>
Sent: Sat, January 29, 2011 6:49:42 PM
Subject: Re: [ct-bot] MMC ohne SPI HW-Change & Distanzsensoren

Hallo Fredi,

erstmal vielen Dank für das Feedback. 

Zu den Einstellungen:
MMC_AVAILABLE muss _an_ sein,
SPI_AVAILABLE muss (in deinem Fall) _aus_ sein,
MMC_VM_AVAILABLE muss _aus_ sein,
BOT_FS_AVAILABLE muss _an_ sein.

Wenn MMC_AVAILABLE aus ist, wird sämtlicher Code, der eine SD-Karte benutzt, 
deaktiviert. Wieso muss du MMC_AVAILABLE denn ausgeschaltet haben bzw. was 
passiert, wenn du es einschaltest?


Auf einer 128 MB Karte würde ich die erste Partition 32 MB groß und eine Zweite 
(wobei das optional ist) 96 MB groß machen, beide mit FAT16 formatiert. Zum 
Partitionieren bringt eigentlich jedes Betriebssystem ein Tool mit, das für 
SD-Karten genauso funktionieren sollte wie man es für Festplatten gewohnt ist. 
Welches das ist, hängt davon ob, welches Betriebssystem du verwendest?

Viele Grüße,
Timo


Am 29.01.2011 um 17:52 schrieb Fred Ammann:
> Hallo Timo
> 
> ich kann nun mit folgender Einstellung erfolgreich kompilieren:
> //#define MMC_AVAILABLE /*!< haben wir eine MMC/SD-Karte zur Verfuegung? */
> //#define SPI_AVAILABLE /*!< verwendet den Hardware-SPI-Modus des Controllers, 

> um mit der MMC zu kommunizieren. Muss ausserdem _immer_ an sein, wenn der 
> Hardware-SPI-Umbau durchgefuehrt wurde! Hinweise in mcu/mmc.c beachten! 
> */#defineMMC_VM_AVAILABLE /*!< Virtual Memory Management mit MMC / SD-Card oder 
>
> PC-Emulation */#defineBOT_FS_AVAILABLE /*!< Aktiviert das Dateisystem BotFS 
>(auf 
>
> MCU nur mit MMC moeglich) */#define
> MMC_AVAILABLE muss ich aber ausgeschaltet haben!
>  
> Ich habe nun noch das Problem, dass meine SD-Karte 128 MB gross ist. 
>  
> Frage: wie kann ich am einfachsten eine 32 MB grosse Partition anlegen damit 
>ich 
>
> das botfs-helper tool verwenden kann?
>  
> Vielen Dank
>  
> Fredi 


_______________________________________________
ct-bot-entwickler Mailingliste
ct-bot-entwickler@xxxxxxxxxxxxxxxxx
http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler