{"id":177201,"date":"2013-04-19T13:03:03","date_gmt":"2013-04-19T09:03:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=177201"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=177201","title":{"rendered":"<span class=\"post_title\">\u041f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Genode OS Framework \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c. \u042d\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u0437 \u0440\u0430\u0437\u0440\u044f\u0434\u0430 \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0440\u0430\u0437\u0440\u044f\u0434 \u041e\u0421 \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Samsung Knox \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c OKL4 Microvisor. \u0412\u0435\u0441\u044c\u043c\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u0430\u0444\u0438\u0448\u0438\u0440\u0443\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0441\u0444\u0435\u0440\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  \u041a\u0440\u0430\u0442\u043a\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0445 \u041e\u0421 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0431\u044b\u043b\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043c\u043e\u0438\u043c \u043a\u043e\u043b\u043b\u0435\u0433\u043e\u0439 <a href=\"http:\/\/habrahabr.ru\/users\/sartakov\/\" class=\"user_link\">sartakov<\/a> \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 &quot;<a href=\"http:\/\/habrahabr.ru\/post\/171375\/\">\u041c\u0438\u043a\u0440\u043e\u044f\u0434\u0440\u0430 \u0438 FOSDEM&#8217;13<\/a>&quot;. \u042f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e <a href=\"http:\/\/genode.org\/\">Genode OS Framework<\/a> \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0435\u0433\u043e \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b ARM. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044f\u0434\u0440\u0430 \u0434\u043b\u044f Genode \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b <a href=\"http:\/\/os.inf.tu-dresden.de\/fiasco\/\">Fiasco.OC<\/a>.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/a02\/3d5\/9d4\/a023d59d400ed0b0616655673658818b.png\"\/><br \/>  <a name=\"habracut\"><\/a><br \/>  \u0418 \u0442\u0430\u043a, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Genode OS Framework? \u042d\u0442\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0440\u0430. Genode \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0434\u0438\u043d\u044b\u0439 API, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0440\u0430 \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u041e\u0421. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0440\u0430: Codezero, Fiasco, Fiasco.OC, Nova, OKL4, Pistachio. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430 \u044f\u0434\u0440\u0435 Linux. \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e, \u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d \u0437\u0430\u043f\u0443\u0441\u043a \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u044f\u0434\u0435\u0440 (base-hw) \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b ARM.<br \/>  \u042d\u0442\u0438 \u044f\u0434\u0440\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 \u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044f\u0434\u0440\u043e Fiasco.OC \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a: x86, amd64, ARM (\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b, \u043d\u043e \u0438\u0445 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 Genode \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442), \u0430 \u044f\u0434\u0440\u043e Nova \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0438\u043a\u0440\u043e\u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u043e\u043c \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b x86 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 Genode \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0438\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u044f\u0434\u0435\u0440.<br \/>  \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e Genode \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u044b\u0445 Norman Feske \u0434\u043b\u044f &quot;<a href=\"http:\/\/ksyslabs.ru\/index.php?nn=36\">\u041b\u0435\u0442\u043d\u0435\u0439 \u0448\u043a\u043e\u043b\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Ksys labs<\/a>&quot;<\/p>\n<p>  \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f Genode+Fiasco.OC \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b ARM \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b: Realview PBXA9, Versatile Express A9X4, Pandaboard (TI OMAP4), Freescale iMX53, Arndale (Samsung Exynos 5). \u0412\u0441\u0435 \u044d\u0442\u0438 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u043f\u043b\u0430\u0442\u044b \u0438\u043c\u0435\u044e\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c, \u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0432\u043e\u043e\u0431\u0449\u0435, \u043e\u0447\u0435\u043d\u044c \u0442\u0440\u0443\u0434\u043d\u043e \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0441\u0442\u0438. \u0421\u0435\u0439\u0447\u0430\u0441 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u041f\u041a \u0441 \u0446\u0435\u043d\u043e\u0439 \u043c\u0435\u043d\u0435\u0435 100$, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u0430\u043c\u0438 \u0438 \u043a\u0430\u043a \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u041e\u0421, \u0438 \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u041d\u0430 \u044d\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d Linux \u0438 \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0436\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\u0445. \u0425\u043e\u0440\u043e\u0448\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0441 \u043e\u0431\u0437\u043e\u0440\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 &quot;<a href=\"http:\/\/habrahabr.ru\/post\/170031\/\">\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043c\u0438\u043d\u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0434\u043b\u044f \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u0430 (DIY)<\/a>&quot;. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043e\u043f\u0438\u0441\u0430\u043d\u044b\u0445 \u043f\u043b\u0430\u0442 \u0443\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u044f\u0434\u0440\u043e\u043c Fiasco.OC \u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. <\/p>\n<p>  \u041a\u0430\u043a \u0432\u044b \u0443\u0436\u0435, \u043d\u0430\u0432\u0435\u0440\u043d\u043e, \u0434\u043e\u0433\u0430\u0434\u0430\u043b\u0438\u0441\u044c \u043f\u043e \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u043f\u043e\u0441\u0442\u0430, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043c\u0438\u043d\u0438-\u041f\u041a <a href=\"http:\/\/cubieboard.org\/\">Cubieboard<\/a> \u043d\u0430 \u0431\u0430\u0437\u0435 SoC <a href=\"http:\/\/linux-sunxi.org\/A10\">Allwinner A10<\/a>.<br \/>  \u042d\u0442\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u043f\u043e \u0440\u044f\u0434\u0443 \u043f\u0440\u0438\u0447\u0438\u043d:<br \/>   \u2014 \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 Cortex-A8;<br \/>   \u2014 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 U-Boot, \u044f\u0434\u0440\u0430 Linux \u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u00ab\u0443\u0442\u0435\u043a\u0448\u0435\u0439\u00bb \u0432 \u0441\u0435\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432 \u0432\u0438\u0434\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f;<br \/>   \u2014 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0435\u0440\u0435\u0444\u0435\u0440\u0438\u0438 (SATA, HDMI, \u0438 \u0434\u0440.);<br \/>   \u2014 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u0438\u0445 \u00abhackable\u00bb \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044d\u0442\u043e\u043c \u0447\u0438\u043f\u0435 (Cubieboard, Mele A1000\/A2000, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435).<\/p>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u044d\u0442\u043e\u0442 SoC \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e.<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/2d8\/aa7\/f3d\/2d8aa7f3d7512922416ef2dc8dbd7027.png\"\/><br \/>  CPU: ARM Cortex-A8 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 \u0434\u043e 1Ghz \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 NEON, VFPv3, Trustzone<br \/>  GPU: Mali 400 MP \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 Open GL ES 2.0<br \/>  VPU: CedarX \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 FullHD \u0432\u0438\u0434\u0435\u043e.<br \/>  \u041f\u0435\u0440\u0435\u0444\u0435\u0440\u0438\u044f: 4xUSB Host, USB OTG, 4xSD\/MMC, 8xUART, 4xSPI, 3xI2C, GPIO, SATA, HDMI, LCD-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435<\/p>\n<p>  \u042f\u0434\u0440\u043e Fiasco.OC \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 Cortex-A8. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0434\u043b\u044f \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0435\u0433\u043e \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 <a href=\"http:\/\/ru.wikipedia.org\/wiki\/Board_Support_Package\">Board Support Package<\/a> (BSP). \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 BSP \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 kernel\/fiasco\/src\/kern\/arm\/bsp.<br \/>  \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 BSP \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b ARM \u0432 Fiasco.OC \u0432\u0445\u043e\u0434\u0438\u0442: <br \/>   \u2014 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439;<br \/>   \u2014 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0442\u0430\u0439\u043c\u0435\u0440\u0430;<br \/>   \u2014 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 UART;<br \/>   \u2014 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0431\u0440\u043e\u0441\u0430.<br \/>  \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e, \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 BSP \u0432\u0445\u043e\u0434\u0438\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438. <br \/>  \u041f\u0430\u043c\u044f\u0442\u044c \u0432 A10, \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/0cb\/844\/6ca\/0cb8446cabf050a658cb82232b39ffdf.png\"\/><br \/>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u041e\u0421 \u043c\u043e\u0433\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c, \u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u043d\u0430\u0442\u044c \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430. \u042d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 Mem_layout, \u0444\u0430\u0439\u043b mem_layout-arm-sun4i.cpp:  <\/p>\n<pre><code class=\"cpp\">EXTENSION class Mem_layout { public:   enum Virt_layout_sun4i : Address {     Timer_map_base       = Devices1_map_base + 0x020C00,     Intc_map_base        = Devices1_map_base + 0x020400,     Uart_base            = Devices1_map_base + 0x028000,      Watchdog_map_base    = Timer_map_base    + 0x90,   };    enum Phys_layout_sun4i : Address {     Devices1_phys_base   = 0x01c00000,      Sdram_phys_base      = 0x40000000,     Flush_area_phys_base = 0xe0000000,   }; }; <\/code><\/pre>\n<p>  \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432. \u0414\u0440\u0430\u0439\u0432\u0435\u0440 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u0442\u0430\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u043a: \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041a\u043e\u0434 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435 pic-arm-sun4i.cpp.<\/p>\n<p>  \u0422\u0430\u0439\u043c\u0435\u0440 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a: \u043a\u043e\u043d\u0435\u0446 \u0442\u0430\u0439\u043c-\u0441\u043b\u043e\u0442\u0430 \u0438\u043b\u0438 \u0442\u0430\u0439\u043c\u0430\u0443\u0442 IPC. \u0412 A10 \u0438\u043c\u0435\u0435\u0442\u0441\u044f 6 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u0430\u0439\u043c\u0435\u0440 Timer0. \u041a\u0440\u043e\u043c\u0435 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432 \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 SoC \u0442\u0430\u043a\u0436\u0435 \u0432\u0445\u043e\u0434\u044f\u0442 Watchdog \u0438 RTC \u0441 \u0431\u0443\u0434\u0438\u043b\u044c\u043d\u0438\u043a\u043e\u043c. \u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u0443\u044e 1 \u043c\u0441. \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0432 \u0444\u0430\u0439\u043b\u0435 timer-arm-sun4i.cpp.<\/p>\n<p>  \u0414\u0440\u0430\u0439\u0432\u0435\u0440 UART \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u044f\u0434\u0440\u043e\u043c \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0443 \u044f\u0434\u0440\u0430 JDB. \u0412 Fiasco.OC \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f UART \u043e\u0442\u0441\u0443\u0442\u0441\u0432\u0443\u0435\u0442, \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0435\u0433\u043e \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a, \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u2014 U-Boot. \u041a\u043e\u0434 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 UART \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 uart-arm-sun4i.cpp \u0438 kernel\/fiasco\/src\/lib\/uart\/uart_sun4i.cc.<\/p>\n<p>  \u0414\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0441\u0431\u0440\u043e\u0441\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f Watchdog \u0442\u0430\u0439\u043c\u0435\u0440\u0430, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0431\u0440\u043e\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u0438 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u0434\u0430. \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 reset-arm-sun4i.cpp.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c BSP \u0434\u043b\u044f \u0432\u044b\u0431\u0440\u0430\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u041d\u043e \u044f\u0434\u0440\u043e \u0435\u0449\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 Genode+Fiasco.OC \u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 ARM:<\/p>\n<p>  1. \u041f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 ROM-boot \u0438\u0449\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043d\u0430 SD-\u043a\u0430\u0440\u0442\u0435 \u0438\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0441 NAND \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0432\u0438\u0438 SD-\u043a\u0430\u0440\u0442\u044b.<br \/>  2. U-Boot, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0437 Genode \u0432 \u0432\u0438\u0434\u0435 ELF \u0438\u043b\u0438 u-boot-image.<br \/>  3. \u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u044f\u0434\u0440\u043e Fiasco.OC \u0438 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a: sigma0, root task (\u0432 Genode \u044d\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c core) \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<br \/>  4. \u041f\u0435\u0440\u0432\u044b\u043c \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 bootstrap, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0447\u0430\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043d\u0435\u043e\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0441\u0442\u0430\u0440\u0442\u0430 \u044f\u0434\u0440\u0430, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a:<br \/>   \u2014 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440, \u043d\u0430 ARM \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443);<br \/>   \u2014 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 (sigma0 \u0438 root task \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u043e\u043d\u0430\u0445, \u0447\u0442\u043e\u0431\u044b \u044f\u0434\u0440\u043e \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u043c\u043e\u0433\u043b\u043e \u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c);<br \/>   \u2014 \u0438 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a \u044f\u0434\u0440\u0430.<br \/>  7. \u042f\u0434\u0440\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 sigma0 \u0438 root task.<br \/>  8. \u041d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u044c core (\u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0439\u0441\u044f root task), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0441\u0435\u0440\u0432\u0438\u0441\u044b Genode \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043d\u0430\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<p>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0432\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 bootstrap \u043d\u0430 Cubieboard \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u043d\u0430\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0443\u0436\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e l4\/mk\/platforms\/cubieboard.conf \u0438 l4\/pkg\/bootstrap\/server\/src\/platform\/sun4i.cc. \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 UART \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c.<\/p>\n<p>  \u0417\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u0442\u0430\u043f \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2014 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432 \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 Genode. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0435 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438. \u0425\u043e\u0440\u043e\u0448\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u043a\u0438 \u0431\u044b\u043b\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0432 \u043b\u0435\u043a\u0446\u0438\u0438 &quot;<a href=\"http:\/\/ksyslabs.ru\/index.php?nn=45\">Genode OS Framework Programming Environment<\/a>&quot;.<\/p>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043a\u043e\u0434\u044b \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 Github <a href=\"https:\/\/github.com\/Ksys-labs\/genode\">https:\/\/github.com\/Ksys-labs\/genode<\/a> \u0432 \u0432\u0435\u0442\u043a\u0435 tutorials. \u041c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Fiasco.OC \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 <a href=\"https:\/\/github.com\/Ksys-labs\/foc\">https:\/\/github.com\/Ksys-labs\/foc<\/a> \u0432 \u0432\u0435\u0442\u043a\u0435 r47-sun4i, \u044d\u0442\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043a\u043e\u0434\u044b \u0443\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0430\u0442\u0447\u0438 \u0438 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u043a\u0438 Genode.<\/p>\n<p>  \u0414\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434:  <\/p>\n<pre><code class=\"bash\">git clone git:\/\/github.com\/Ksys-labs\/genode.git git checkout tutorials cd genode <\/code><\/pre>\n<p>  \u0421\u043e\u0431\u0440\u0430\u0442\u044c \u0442\u0443\u043b\u0447\u0435\u0439\u043d \u0434\u043b\u044f ARM:  <\/p>\n<pre><code class=\"bash\">.\/tools\/tool_chain arm <\/code><\/pre>\n<p>  \u0418 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u044f\u0434\u0440\u043e Fiasco.OC:  <\/p>\n<pre><code class=\"bash\">make prepare -C base-foc <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0435 \u0433\u043e\u0442\u043e\u0432\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430.<br \/>  1. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0443:  <\/p>\n<pre><code class=\"bash\">.\/tools\/create_builddir foc_cubieboard BUILD_DIR=_build.foc_cubieboard cd _build.foc_cubieboard <\/code><\/pre>\n<p>  2. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 hello_tutorial \u0434\u043b\u044f \u0441\u0431\u043e\u043a\u0438 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u043a\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b.  <\/p>\n<pre><code class=\"bash\">echo 'REPOSITORIES += $(GENODE_DIR)\/hello_tutorial' &gt;&gt; etc\/build.conf <\/code><\/pre>\n<p>  3. \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0444\u0430\u0439\u043b\u0430 u-boot-image  <\/p>\n<pre><code class=\"bash\">echo 'SPECS += uboot' &gt;&gt; etc\/spec.conf <\/code><\/pre>\n<p>  4. C\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0437  <\/p>\n<pre><code class=\"bash\">make run\/hello <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0437 \u0432 \u0432\u0438\u0434\u0435: ELF (hello.elf) \u0438 u-boot-image (uImage) \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 var\/run\/hello.<br \/>  \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435, \u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0435, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u0437 hello tutorial:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041b\u043e\u0433<\/b><\/p>\n<div class=\"spoiler_text\">L4 Bootstrapper<br \/>   Build: #4 \u0427\u0442. \u0430\u043f\u0440. 18 22:48:37 MSK 2013, 4.7.2<br \/>   Scanning up to 1024 MB RAM<br \/>   Memory size is 1024MB (40000000 \u2014 80000000)<br \/>   RAM: 0000000040000000 \u2014 000000007fffffff: 1048576kB<br \/>   Total RAM: 1024MB<br \/>   mod07: 4117e000-411b8e3c: genode\/timer<br \/>   mod06: 41148000-4117ddc0: genode\/hello_server<br \/>   mod05: 4111c000-41147c28: genode\/hello_client<br \/>   mod04: 410d6000-4111b738: genode\/init<br \/>   mod03: 410d5000-410d51a4: genode\/config<br \/>   mod02: 4106e000-410d431c: genode\/core<br \/>   mod01: 41064000-4106d374: sigma0<br \/>   mod00: 41015000-41063d20: \/home\/vanner\/projects\/genode\/_build.foc_cubieboard\/kernel\/fiasco.oc\/fiasco<br \/>   Moving up to 8 modules behind 41100000<br \/>   moving module 00 { 41015000-41063d1f } -&gt; { 412a4000-412f2d1f } [322848]<br \/>   moving module 01 { 41064000-4106d373 } -&gt; { 412f3000-412fc373 } [37748]<br \/>   moving module 02 { 4106e000-410d431b } -&gt; { 412fd000-4136331b } [418588]<br \/>   moving module 03 { 410d5000-410d51a3 } -&gt; { 411b9000-411b91a3 } [420]<br \/>   moving module 04 { 410d6000-4111b737 } -&gt; { 411ba000-411ff737 } [284472]<br \/>   moving module 05 { 4111c000-41147c27 } -&gt; { 41100000-4112bc27 } [179240]<br \/>   moving module 06 { 41148000-4117ddbf } -&gt; { 4112c000-41161dbf } [220608]<br \/>   moving module 07 { 4117e000-411b8e3b } -&gt; { 41162000-4119ce3b } [241212]<br \/>   moving module 03 { 411b9000-411b91a3 } -&gt; { 4119d000-4119d1a3 } [420]<br \/>   moving module 04 { 411ba000-411ff737 } -&gt; { 4119e000-411e3737 } [284472]<br \/>   Scanning \/home\/vanner\/projects\/genode\/_build.foc_cubieboard\/kernel\/fiasco.oc\/fiasco -serial_esc <br \/>   Scanning sigma0<br \/>   Scanning genode\/core<br \/>   Relocated mbi to [0x4100e000-0x4100e19c]<br \/>   Loading cts\/genode\/_build.foc_cubieboard\/kernel\/fiasco.oc\/fiasco<br \/>   Loading sigma0<br \/>   Loading genode\/core<br \/>   find kernel info page\u2026<br \/>   found kernel info page at 0x40002000<br \/>  Regions of list &#8216;regions&#8217;<br \/>   [ 40001000, 400019ff] { a00} Kern cts\/genode\/_build.foc_cubieboard\/kernel\/fiasco.oc\/fiasco<br \/>   [ 40002000, 40060fff] { 5f000} Kern cts\/genode\/_build.foc_cubieboard\/kernel\/fiasco.oc\/fiasco<br \/>   [ 40090000, 4009673b] { 673c} Sigma0 sigma0<br \/>   [ 40098000, 4009e17b] { 617c} Sigma0 sigma0<br \/>   [ 40100000, 4024743f] { 147440} Root genode\/core<br \/>   [ 41000000, 410143f3] { 143f4} Boot bootstrap<br \/>   [ 4100e000, 4100e299] { 29a} Root Multiboot info<br \/>   [ 41100000, 411e3737] { e3738} Root Module<br \/>   API Version: (87) experimental<br \/>   Sigma0 config ip:40090100 sp:41013d24<br \/>   Roottask config ip:4014af84 sp:00000000<br \/>   Starting kernel cts\/genode\/_build.foc_cubieboard\/kernel\/fiasco.oc\/fiasco at 40001198<br \/>  Hello from Startup::stage2<br \/>  Boot_alloc: size=0x180<br \/>  Boot_alloc: allocated extra memory block @0xf13e1000 (size=400)<br \/>  Boot_alloc: @ 0xf13e1000<br \/>  Boot_alloc: remaining free block @ 0xf13e1180 (size=280)<br \/>  Cache config: ON<br \/>  ID_PFR[01]: 00001131 00000011 ID_[DA]FR0: 00000400 00000000<br \/>  ID_MMFR[04]: 01100003 20000000 01202000 00000211<br \/>  FPU0: Arch: VFPv3(3), Part: VFPv3(30), r: 3, v: c, i: 41, t: hard, p: dbl\/sngl<br \/>  Startup::stage2 finished<br \/>  SERIAL ESC: allocated IRQ 1 for serial uart<br \/>  Not using serial hack in slow timer handler.<br \/>  Welcome to Fiasco.OC (arm)!<br \/>  L4\/Fiasco.OC arm microkernel \u00a9 1998-2013 TU Dresden<br \/>  Rev: 8991035 compiled with gcc 4.7.2 for sun4i []<br \/>  Build: #3 \u0427\u0442. \u0430\u043f\u0440. 18 22:48:33 MSK 2013<\/p>\n<p>  Calibrating timer loop\u2026 done.<br \/>  SIGMA0: Hello!<br \/>   KIP @ 40002000<br \/>   allocated 4KB for maintenance structures<br \/>  SIGMA0: Dump of all resource maps<br \/>  RAM:&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>  [0:40000000;40000fff]<br \/>  [0:40061000;4008ffff]<br \/>  [0:40097000;40097fff]<br \/>  [0:4009f000;400fffff]<br \/>  [4:40100000;40247fff]<br \/>  [0:40248000;4100dfff]<br \/>  [4:4100e000;4100efff]<br \/>  [0:4100f000;410fffff]<br \/>  [4:41100000;411e3fff]<br \/>  [0:411e4000;7effffff]<br \/>  IOMEM:&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>  [0:0;3fffffff]<br \/>  [0:80000000;ffffffff]<\/p>\n<p>  KIP @ 40002000<br \/>   magic: 4be6344c<br \/>   version: 87014444<br \/>   sigma0 esp: 41013d24 eip: 40090100<br \/>   sigma1 esp: 00000000 eip: 00000000<br \/>   root esp: 00000000 eip: 4014af84<br \/>  MBI @ 4100e000<br \/>   mod[3] [4119d000,4119d1a4) config<br \/>   mod[4] [4119e000,411e3738) init<br \/>   mod[5] [41100000,4112bc28) hello_client<br \/>   mod[6] [4112c000,41161dc0) hello_server<br \/>   mod[7] [41162000,4119ce3c) timer<br \/>  :ram_alloc: Allocator 40230784 dump:<br \/>   Block: [50000000,5000001c) size=0000001c avail=00000000 max_avail=00000000<br \/>   Block: [5000001c,50000038) size=0000001c avail=00000000 max_avail=00000000<br \/>   Block: [50000038,50000054) size=0000001c avail=00000000 max_avail=00000000<br \/>   Block: [50000054,50000070) size=0000001c avail=00000000 max_avail=2effff58<br \/>   Block: [50000070,5000008c) size=0000001c avail=00000000 max_avail=00000000<br \/>   Block: [5000008c,500000a8) size=0000001c avail=00000000 max_avail=2effff58<br \/>   Block: [500000a8,7f000000) size=2effff58 avail=2effff58 max_avail=2effff58<br \/>   =&gt; mem_size=788529152 (752 MB) \/ mem_avail=788528984 (751 MB)<br \/>  :region_alloc: Allocator 402318f4 dump:<br \/>   Block: [00001000,40000000) size=3ffff000 avail=3ffff000 max_avail=3ffff000<br \/>   Block: [7f000000,bfff0000) size=40ff0000 avail=40ff0000 max_avail=40ff0000<br \/>   Block: [bfff1000,c0000000) size=0000f000 avail=0000f000 max_avail=0000f000<br \/>   =&gt; mem_size=2164252672 (2063 MB) \/ mem_avail=2164252672 (2063 MB)<br \/>  :io_mem: Allocator 40230be0 dump:<br \/>   Block: [00000000,40000000) size=40000000 avail=40000000 max_avail=40000000<br \/>   Block: [40001000,40002000) size=00001000 avail=00001000 max_avail=40000000<br \/>   Block: [40003000,40061000) size=0005e000 avail=0005e000 max_avail=0005e000<br \/>   Block: [40090000,40097000) size=00007000 avail=00007000 max_avail=0005e000<br \/>   Block: [40098000,4009f000) size=00007000 avail=00007000 max_avail=80ffffff<br \/>   Block: [7f000000,ffffffff) size=80ffffff avail=80ffffff max_avail=80ffffff<br \/>   =&gt; mem_size=3238449151 (3088 MB) \/ mem_avail=3238449151 (3088 MB)<br \/>  :io_port: Allocator 4023103c dump:<br \/>  :irq: Allocator 40231498 dump:<br \/>   Block: [00000000,00000100) size=00000100 avail=00000100 max_avail=00000100<br \/>   =&gt; mem_size=256 (0 MB) \/ mem_avail=256 (0 MB)<br \/>  :rom_fs: Rom_fs 402321a8 dump:<br \/>   Rom: [4119e000,411e3738) init<br \/>   Rom: [41100000,4112bc28) hello_client<br \/>   Rom: [4119d000,4119d1a4) config<br \/>   Rom: [4112c000,41161dc0) hello_server<br \/>   Rom: [40002000,40003000) l4v2_kip<br \/>   Rom: [40002000,40003000) kip<br \/>   Rom: [41162000,4119ce3c) timer<br \/>  :core ranges: Allocator 40233f08 dump:<br \/>   Block: [40100000,40248000) size=00148000 avail=00148000 max_avail=00148000<br \/>   Block: [41100000,411e4000) size=000e4000 avail=000e4000 max_avail=2f000000<br \/>   Block: [50000000,7f000000) size=2f000000 avail=2f000000 max_avail=2f000000<br \/>   =&gt; mem_size=790806528 (754 MB) \/ mem_avail=790806528 (754 MB)<br \/>  int main(): \u2014 create local services \u2014 int main(): \u2014 start init \u2014 int main(): transferred 751 MB to init<br \/>  int main(): \u2014 init created, waiting for exit condition \u2014 [init] Could not open file \u00abld.lib.so\u00bb<br \/>  [init -&gt; hello_server] Hello::Root_component::Root_component(Genode::Rpc_entrypoint*, Genode::Allocator*): Creating root component.<br \/>  [init -&gt; hello_server] virtual Hello::Session_component* Hello::Root_component::_create_session(const char*): creating hello session.<br \/>  [init -&gt; hello_client] virtual void Hello::Session_client::say_hello(): Saying Hello.<br \/>  [init -&gt; hello_server] virtual void Hello::Session_component::say_hello(): I am here\u2026 Hello.<br \/>  [init -&gt; hello_client] int main(): Added 2 + 5 = 7<br \/>  [init -&gt; hello_client] virtual void Hello::Session_client::say_hello(): Saying Hello.<br \/>  [init -&gt; hello_server] virtual void Hello::Session_component::say_hello(): I am here\u2026 Hello.<br \/>  [init -&gt; hello_client] int main(): Added 2 + 5 = 7<br \/>  \u2026  <\/div>\n<\/div>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0440\u043e \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043a\u0430\u043a \u044f \u043f\u0438\u0441\u0430\u043b \u0432\u044b\u0448\u0435, \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0435\u0440 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u0432\u0441\u0435 \u0443\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 Pandaboard \u0438 Gumstix Overo \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a: GPIO, UART, SPI, I2C. \u042d\u0442\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0416\u041a\u0418, \u0442\u0430\u0447\u0441\u043a\u0440\u0438\u043d\u043e\u043c \u0438 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0441\u043c\u0430\u0440\u0442\u043a\u0430\u0440\u0442. \u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Cubieboard, \u043a\u0430\u043a \u043c\u0438\u043d\u0438-\u041f\u041a \u0441 Genode, \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c (\u0438\u043b\u0438 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c) \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b: Framebuffer, USB, Ethernet.<\/p>\n<p>  Genode Labs \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 \u0438 \u043e\u043d\u0438 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u0434\u0432\u0438\u0433\u0430\u044e\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u0441\u0432\u044f\u0437\u0430\u043d\u044b\u0439 \u0441 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u043c\u0438 \u041e\u0421. Genode \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043d \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c, \u0438 \u043f\u043e \u043c\u043e\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e, \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u041f\u041a \u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 ARM \u0432\u043f\u043e\u043b\u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u043e\u0434\u043d\u0430 \u0438\u0437 \u0434\u0435\u0448\u0435\u0432\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u041e\u0421.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e, Genode \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 Computer Science, \u0438 \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u0443\u0434\u0435\u043d\u0442 \u0438 \u0432\u0430\u043c \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0430\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0435 \u0442\u0440\u0438 \u043b\u0435\u043a\u0446\u0438\u0438 (<a href=\"http:\/\/ksyslabs.ru\/index.php?nn=37\">1<\/a>,<a href=\"http:\/\/ksyslabs.ru\/index.php?nn=38\">2<\/a>,<a href=\"http:\/\/ksyslabs.ru\/index.php?nn=39\">3<\/a>) \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u0437 \u043d\u0438\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u044f. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043b\u043e\u0436\u0438\u0442\u044c \u043d\u0430 Github \u0438 \u043f\u0440\u0438\u0441\u043b\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 edu@ksyslabs.org.    \t \t\t   \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/177201\/\"> http:\/\/habrahabr.ru\/post\/177201\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c. \u042d\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u0437 \u0440\u0430\u0437\u0440\u044f\u0434\u0430 \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0440\u0430\u0437\u0440\u044f\u0434 \u041e\u0421 \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Samsung Knox \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c OKL4 Microvisor. \u0412\u0435\u0441\u044c\u043c\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u0430\u0444\u0438\u0448\u0438\u0440\u0443\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0441\u0444\u0435\u0440\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  \u041a\u0440\u0430\u0442\u043a\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0445 \u041e\u0421 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0431\u044b\u043b\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043c\u043e\u0438\u043c \u043a\u043e\u043b\u043b\u0435\u0433\u043e\u0439 <a href=\"http:\/\/habrahabr.ru\/users\/sartakov\/\" class=\"user_link\">sartakov<\/a> \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 &quot;<a href=\"http:\/\/habrahabr.ru\/post\/171375\/\">\u041c\u0438\u043a\u0440\u043e\u044f\u0434\u0440\u0430 \u0438 FOSDEM&#8217;13<\/a>&quot;. \u042f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e <a href=\"http:\/\/genode.org\/\">Genode OS Framework<\/a> \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0435\u0433\u043e \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b ARM. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044f\u0434\u0440\u0430 \u0434\u043b\u044f Genode \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b <a href=\"http:\/\/os.inf.tu-dresden.de\/fiasco\/\">Fiasco.OC<\/a>.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage2\/a02\/3d5\/9d4\/a023d59d400ed0b0616655673658818b.png\"\/>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-177201","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/177201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=177201"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/177201\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=177201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=177201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=177201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}