Gast
#76250
Hallo, wie kann ich in C den Beginn einer Funktion bzw. eines ganzen Programmteils festelgen? In Assembler gibt's dafür ja .org (in welcher Syntax nun auch immer). Konkret: ich möchte einen Bootloader schreiben. Da ich aber gerne die Firmware von CF laden möchte, komme ich mit dem Bootloader alleine nicht aus (FAT & Dir in 2K wird mir etwas eng). Idee dazu: die Firmware selbst holt sich die von der Datei firmware.bin belegten Cluster, legt diese im Ram ab und springt den Bootloader an. Dieser lädt die entsprechenden Cluster und flashed die Firmware. Der Bootloader muß dann nur noch die Routine readSector(ulong lba) enthalten - das paßt wunderbar in 2K. Also muß ich - den Bootloader-Teil an Adresse 0x1C00 (z.B.) verschieben (ATmega162) - die readSector(ulong lba) mag ich nicht zweimal im Flash haben. Wenn ich deren Adresse fixieren kann, können beide Firmware-Teile die Funktion benutzen. Wie geht dieses? Danke, Sebastian