- [[start]]
====== Flash Partitionierung ======
~~TASK:Stephan Linz?2014!!~~
Wenn in einem Microblaze Design ein linearer Flash vorhanden ist, dann kann dieser im TPOS BSP Setup nur bekannt gegeben werden. Dessen Partitionierung aber bleibt dabei unberücksichtigt. Eben diese Aufteilung hat aber entscheidenden Einfluss darauf, wie ein Gesamtsystem starten soll und wo welche Daten abgelegt sind.
Zur Problemlösung muss die MLD Datei von TPOS um eine geeignete Parameterdefinition erweitert werden, so dass diese dann von den nachgelagerten Modulen //xlboot// und //device-tree// interpretiert werden kann. Unter Umständen müssen auch die beteiligten TCL Scripte noch erweitert werden.
--- //[[linz@li-pro.net|Stephan Linz]] 2011/01/16 11:02//
Trotz der hohen Dringlichkeit wurde noch keine Implementation im Xilinx BSP von TPOS begonnen. Damit gibt es noch keinen ordentlichen Weg, um aus einer GUI Eingabe abgeleitet die MTD PhysMap, wie in der Linux Kerneldokumentation unter ''Documentation/powerpc/dts-bindings/mtd-physmap.txt'' beschrieben, im resultierenden Flattened Device Tree (FDT) zu generieren.
Es bietet sich aber ein für die Übergangszeit praktikabler Ersatz über die Kernelparameter an. Hierbei wird der MTD Parser für die Kommandozeile (''drivers/mtd/cmdlinepart.c'') genutzt. Dieser muss durch die Kernelkonfiguration ''CONFIG_MTD_CMDLINE_PARTS'' aktiviert sein. Ein so übersetzter Linux Kernel wird dann den Inhalt des Kernelparameter ''mtdparts'' als MTD PhysMap nutzen.
++++ Der Syntax zum Kernelparameter mtdparts |
Auszug aus ''drivers/mtd/cmdlinepart.c''
* The format for the command line is as follows:
*
* mtdparts=[; := :[,]
* where is the name from the "cat /proc/mtd" command
* := [@offset][][ro][lk]
* := unique name used in mapping driver/device (mtd->name)
* := standard linux memsize OR "-" to denote all remaining space
* := '(' NAME ')'
*
* Examples:
*
* 1 NOR Flash, with 1 single writable partition:
* edb7312-nor:-
*
* 1 NOR Flash with 2 partitions, 1 NAND with one
* edb7312-nor:256k(ARMboot)ro,-(root);edb7312-nand:-(home)
++++
++++ Beispiel zu Xilinx-ML605-MMU-*-* |
mtdparts=ae000000.flash:16384k(bpi),15872k(simpleimage),384k(u-boot-fs)ro,128k(env)
{{.:tpos-linux_bootargs-mtdparts-ml605.png|Software Platform Settings}}
++++
++++ Beispiel zu Xilinx-ML505-MMU-*-* |
mtdparts=ae000000.flash:16384k(bpi),15872k(simpleimage),384k(u-boot-fs)ro,128k(env)
{{.:tpos-linux_bootargs-mtdparts-ml605.png|Software Platform Settings}}
++++
++++ Beispiel zu Xilinx-SP3ADSP1800-MMU-*-* |
mtdparts=af000000.flash:2048k(bpi),13824k(simpleimage),384k(u-boot-fs)ro,128k(env)
{{.:tpos-linux_bootargs-mtdparts-sp3adsp1800.png|Software Platform Settings}}
++++
{{tag>mbref todo tpos xl-boot device-tree mtd flash}}