AN1388: BOOTLOADER PLACEMENT IN MEMORY Figure 1 illustrates two schemes for the bootloader placement based on the size of the bootloader. Bootloaders that are smaller in size are placed within the PIC32 boot Flash memory. Fitting the bootloader application within the boot Flash memory provides the complete program Flash memory for the user application. Ich denke mal fuer USB/ETHERNET/SD Card Bootloader reichen die 12KB nicht mehr. und nur fuer den UART loader oder?
Also die FatFS-Lib kriegt man kaum rein, das musste ich mal feststellen.
Hallo, Ethernet und SD Karte wird wohl nicht gehen. Aber das ist ja nicht weiter schlimm, da du ja einzelne Bereich als schreibgeschützt setzen kannst. Wenn du den BL auch noch daran hinderst, sich selbst zu überschreiben kannst du quasi jeden Loader nutzen. Und der muss dann ja auch nicht unbedingt im Bootflash sein.
Ob das passt hängt davon ab wie weit du optimierst Wenn die ganzen 12 kB mit handverlesenem Assembler von jemandem mit langer Erfahrung gecoded werden dann wird da wahrscheinlich so ziemlich alles reinpassen ^^ Wenn jedoch ein 0815 C-Compiler mit mäßiger optimierung genutzt wird wird das ganz schnell eng. Ein gutes Bsp. ist der Arduino-Loader, der ist ein simpler UART-Loader, füllt jedoch ziemliche mengen an flash weil der in einfachem C gecoded ist und auf userspace libs zugreift die dann viel Platz fressen. In Assembler würde der wahrscheinlich in die kleinste boot-sektion von nem mega8 passen.
Ich hatte das mal mit einem ATMega88 probiert, netter UART Bootloader hat wunderbar gefunzt. Aber wie es bei Microchip ist, ist ebend die andere Frage
Es kommt auf drauf an was der Bootloader alles können muss. Wie aufwendig der Protokoll ist, Fehlerüberprüfung usw. 12 KB klingt auf dem erten Blick viel, man sollte Bedenken dass es ein 32 Bit Controller ist, mit 32 Bit Opcodes... Aber von Microchip gibt es einen SD-Crad-Bootloader das in den 12 KB passt und es bleibt noch einiges am Platz für ein zweites Bootloader(UART/USB HID)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.