{"id":1211,"date":"2016-01-28T20:07:50","date_gmt":"2016-01-28T20:07:50","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=1211"},"modified":"2016-04-25T10:16:10","modified_gmt":"2016-04-25T10:16:10","slug":"bootloader","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/bootloader\/","title":{"rendered":"Bootloader"},"content":{"rendered":"<p><strong>Notwendige Dateien zum Booten<\/strong><\/p>\n<ul>\n<li>BSP (Board Support Packet)<\/li>\n<li>Buildsystem<\/li>\n<\/ul>\n<p>Das <strong>BSP<\/strong> wird oft vom Hersteller mitgelierfert (oder kann bei FPGAs \u00fcber Quartus generiert werden.) Wesentliche Dateien im BSP sind der Device Tree, der die Grundeinstellungen der Komponenten beschreibt.<\/p>\n<p>Das <strong>Buildsystem<\/strong> f\u00fcgt die Komponenten<\/p>\n<ul>\n<li>BSP<\/li>\n<li>Treiber<\/li>\n<li>Bibliotheken<\/li>\n<li>Software (Kernel und Applikationen)<br \/>\n&nbsp;<\/p>\n<p>&nbsp;<\/li>\n<\/ul>\n<p>zusammen zu einem <strong>Image,<\/strong> und definiert\u00a0 das <strong>File System. <\/strong>Zum Buildsystem geh\u00f6rt die Definition des <strong>Bootloader<\/strong>, der den ganzen Prozess ausf\u00fchrt.<\/p>\n<p><strong>Aufgabe des Bootloaders<\/strong><br \/>\nEs ist der Bootloader, der den Startvorgang kennt. Er l\u00e4dt <strong>die Dateien\u00a0<\/strong> (<strong>als Image) aus einem festen Speicher in das <\/strong>static<strong> RAM<\/strong>.<\/p>\n<p>Mit dem Befehlt <span class=\"lang:sh decode:true  crayon-inline \">mkimage -h<\/span>\u00a0 kann der Inhalt des u-boot images angesehen werden.<\/p>\n<p><strong>Starten des bootens\u00a0<\/strong> boot.script<br \/>\nDas Build-System (z.B. Yocto) erzeugt \u00fcber ein Build-Programm (z.B.\u00a0 u-boot) ein boot.script. Das Script liegt an einem nicht fl\u00fcchtigen Speicher. Beim Booten weiss das System, wo das Skript liegt und startet den Prozess automatisch.<\/p>\n<p><strong>Datenarten<\/strong><br \/>\nKonzeptionell unterscheidet man zwischen zwei Dateitypen:<br \/>\n<strong>&#8211; Das Betriebsystem<\/strong> (Image, DeviceTree)<br \/>\n<strong>&#8211; Die Applikationssoftware<\/strong><\/p>\n<p><strong>Gestaffeltes Booten<\/strong><br \/>\nBooten heisst, unter anderem die Startadresse aller Vektoren f\u00fcr die Interrupts setzen.<br \/>\nDetaillierte technische Beschreibung zum Booten in <a href=\"http:\/\/stackoverflow.com\/questions\/31244862\/what-is-the-use-of-spl-secondary-program-loader\">http:\/\/stackoverflow.com\/questions\/31244862\/what-is-the-use-of-spl-secondary-program-loader<\/a><\/p>\n<p><strong>Primary boot <\/strong>(Programm U-boot)<br \/>\nDer primary boot l\u00e4dt die notwendigen Betriebsdateien ins RAM.<\/p>\n<p><strong>Secondary Programm loader<\/strong> (SPL)<br \/>\nWird gebraucht, wenn das RAM nicht das ganze Image speichern kann und ein Teil des Boots, in ein externer Speicher abgelegt wird.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Notwendige Dateien zum Booten BSP (Board Support Packet) Buildsystem Das BSP wird oft vom Hersteller mitgelierfert (oder kann bei FPGAs \u00fcber Quartus generiert werden.) Wesentliche Dateien im BSP sind der Device Tree, der die Grundeinstellungen der Komponenten beschreibt. Das Buildsystem f\u00fcgt die Komponenten BSP Treiber Bibliotheken Software (Kernel und Applikationen) &nbsp; &nbsp; zusammen zu einem &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/bootloader\/\" class=\"more-link\"><span class=\"screen-reader-text\">Bootloader<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[14,20],"tags":[],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1211"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=1211"}],"version-history":[{"count":4,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1211\/revisions"}],"predecessor-version":[{"id":1441,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1211\/revisions\/1441"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=1211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=1211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=1211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}