{"id":3833,"date":"2018-06-30T10:36:29","date_gmt":"2018-06-30T02:36:29","guid":{"rendered":"http:\/\/benjenq.ddns.net\/blog\/%e3%80%90%e5%99%a8%e6%9d%90%e6%94%b9%e9%80%a0%e3%80%91%e8%87%aa%e7%94%a2%e9%ad%94%e7%87%88-magiclantern%ef%bc%9a%e5%b9%ab%e4%bd%a0%e7%9a%84-canon-%e6%95%b8%e4%bd%8d%e5%96%ae%e7%9c%bc%e9%96%8b%e5%a4%96\/"},"modified":"2018-06-30T10:36:29","modified_gmt":"2018-06-30T02:36:29","slug":"%e3%80%90%e5%99%a8%e6%9d%90%e6%94%b9%e9%80%a0%e3%80%91%e8%87%aa%e7%94%a2%e9%ad%94%e7%87%88-magiclantern%ef%bc%9a%e5%b9%ab%e4%bd%a0%e7%9a%84-canon-%e6%95%b8%e4%bd%8d%e5%96%ae%e7%9c%bc%e9%96%8b%e5%a4%96","status":"publish","type":"post","link":"http:\/\/benjenq.ddns.net\/blog\/%e3%80%90%e5%99%a8%e6%9d%90%e6%94%b9%e9%80%a0%e3%80%91%e8%87%aa%e7%94%a2%e9%ad%94%e7%87%88-magiclantern%ef%bc%9a%e5%b9%ab%e4%bd%a0%e7%9a%84-canon-%e6%95%b8%e4%bd%8d%e5%96%ae%e7%9c%bc%e9%96%8b%e5%a4%96\/","title":{"rendered":"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Canon \u6578\u4f4d\u55ae\u773c\u958b\u5916\u639b"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" border=\"0\" height=\"360\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530354298-3531089653_l.jpg\" title=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" width=\"640\"> &nbsp;<\/p>\n<p>Canon \u6578\u4f4d\u55ae\u773c\u7684\u7528\u6236\u6216\u8a31\u90fd\u807d\u904e\u9019\u500b\u6771\u897f\uff1a<a href=\"https:\/\/www.magiclantern.fm\/\" target=\"_blank\">MagicLantern<\/a>\uff08\u4ee5\u4e0b\u7c21\u7a31 ML \uff09\uff0c\u4e2d\u6587\u7a31\u4e4b\u70ba\u300c\u9b54\u71c8\u300d\u3002\u9019\u73a9\u610f\u7c21\u55ae\u5730\u8aaa\uff0c\u5b83\u662f\u5e6b Canon \u6578\u4f4d\u55ae\u773c\u76f8\u6a5f\u958b\u5916\u639b\u7684\u8edf\u9ad4\uff0c\u7372\u5f97\u4e00\u4e9b\u539f\u5ee0\u53ef\u4ee5\u7d66\u537b\u4e0d\u9858\u7d66\u7684\u529f\u80fd\u30022008 \u5e74 Canon \u5c07\u9304\u5f71\u529f\u80fd\u52a0\u5165 DSLR \u6a5f\u7522\u54c1 <a href=\"https:\/\/global.canon\/en\/c-museum\/product\/dslr800.html\" target=\"_blank\">5D Mark II<\/a>\uff08\u4ee5\u4e0b\u7c21\u7a31 5D2\uff09\uff0c\u4e0d\u50c5\u662f Canon \u7b2c\u4e00\u53f0\u53ef\u9304\u5f71\u7684\u6578\u4f4d\u55ae\u773c\u76f8\u6a5f\uff08DSLR\uff09\uff0c\u4e5f\u662f\u53f2\u4e0a\u7b2c\u4e00\u53f0&nbsp;135 \u5168\u7247\u5e45\u5e95\u7247\u5c3a\u5bf8\u611f\u5149\u5143\u4ef6\u53ef\u9304\u5f71\u7684 DSLR\uff0c\u642d\u914d\u4e00\u72d7\u7968 EF \u93e1\u982d\uff0c\u53ef\u7522\u51fa\u8207\u4e00\u822c\u5c0f\u611f\u5149\u5143\u4ef6\u651d\u9304\u5f71\u6a5f\u622a\u7136\u4e0d\u540c\u7684\u5f71\u50cf\u6c1b\u570d\u30025D2 \u7684\u51fa\u73fe\uff0c\u5c0d\u7576\u6642\u7684\u5f71\u97f3\u5de5\u4f5c\u8005\u9020\u6210\u4e86\u4e0d\u5c11\u9707\u64bc\uff0c\u5f9e\u6b64 DSLR \u9644\u5e36\u9304\u5f71\u529f\u80fd\u6210\u70ba\u6a19\u914d\uff0c\u662f Canon \u8fc4\u4eca\u300c\u6700\u5f8c\u4e00\u6b21\u300d\u6539\u8b8a\u651d\u5f71\u751f\u614b\u7684\u5275\u8209\u3002<\/p>\n<p>\uff08\u8a3b\uff1a\u7b2c\u4e00\u53f0\u53ef\u9304\u5f71\u7684 DSLR \u70ba APS-C \u5c3a\u5bf8\u7684 <a href=\"https:\/\/zh.wikipedia.org\/wiki\/%E5%B0%BC%E5%BA%B7D90\" target=\"_blank\">Nikon D90<\/a>\uff0c\u786c\u662f\u6bd4 5D2 \u65e9\u4e00\u5169\u500b\u6708\u3002\u7136\u800c Nikon&nbsp;D90 \u9304\u5f71\u898f\u683c\u624d 720 p \u672a\u9054\u7576\u6642\u4e3b\u6d41\u7684 FullHD \u6a19\u6e96\uff0c\u4e26\u4e14\u5e02\u9762\u4e0a\u5df2\u7d93\u6709 APS-C \u611f\u5149\u5c3a\u5bf8\u7684\u6d88\u8cbb\u7d1a\u9304\u5f71\u8a2d\u5099\uff0c\u56e0\u6b64 D90 \u4e26\u672a\u6210\u529f\u9032\u5165\u5f71\u97f3\u7522\u696d\u7684\u5de5\u4f5c\u6d41\u3002 5D2 \u4e0a\u5e02\u4e4b\u5f8c\uff0c\u662f\u7576\u6642\u7684\u5f71\u8996\u754c\u516c\u8a8d\u300c\u4fd7\u53c8\u5927\u7897\u300d\u7684\u9304\u5f71\u5229\u5668\uff0c\u4e26\u958b\u59cb\u63a1\u7528 5D2 \u9304\u88fd\u5546\u696d\u5f71\u7247\uff0c\u4f8b\u5982\uff1a<a href=\"https:\/\/www.imaging-resource.com\/NEWS\/1312234640.html\" target=\"_blank\">\u7f8e\u570b\u968a\u9577\u7b2c\u4e00\u96c6<\/a>\u3001<a href=\"https:\/\/www.us3c.com.tw\/news\/6219\/%E6%94%B6%E8%B3%BC%E4%BA%8C%E6%89%8B%E5%96%AE%E7%9C%BC-%E7%9B%B8%E6%A9%9F%E9%8F%A1%E9%A0%AD-5d2-used-lens\" target=\"_blank\">\u5fa9\u4ec7\u8005\u806f\u76df\u7b2c\u4e00\u96c6<\/a>&nbsp;\u7684\u90e8\u5206\u6253\u602a\u5834\u666f\uff0c5D2 \u5f88\u9069\u5408\u62cd\u651d\u4e00\u4e9b POV \u52d5\u4f5c\u8996\u89d2\u3001\u5927\u578b\u651d\u5f71\u6a5f\u96e3\u4ee5\u6df1\u5165\u7684\u53d6\u666f\u4f4d\u3001\u5bb9\u6613\u78b0\u649e\u7684\u8fd1\u666f\u5834\u5408\u7b49\uff0c\u7562\u7adf\u649e\u58de\u4e00\u53f0 5D2 \u6bd4\u649e\u58de\u4e00\u53f0\u767e\u842c\u7d1a\u651d\u5f71\u6a5f\u9084\u5212\u7b97&nbsp;\uff0c\u4ee5\u53ca<a href=\"https:\/\/nyfa.pixnet.net\/blog\/post\/10603104\" target=\"_blank\">\u8c6a\u65af\u91ab\u751f\u7b2c\u516d\u5b63\u6700\u7d42\u96c6\u5168\u90e8<\/a>\uff0c\u56e0\u6b64\u4e00\u822c\u4ecd\u9996\u63a8 5D2 \u70ba\u300c\u6539\u8b8a DSLR \u6b77\u53f2\u7684\u7d93\u5178\u7522\u54c1\u300d\uff09<\/p>\n<p>\u5982\u4eca Canon \u5df2\u88ab\u5169\u500b\u300c\u5c3c\u300d\u8d85\u8eca\u9818\u5148\uff1a\u5c3c\u5eb7\uff08Nikon\uff09\u548c\u7d22\u5c3c\uff08SONY\uff09\u3002\u5c24\u5176 SONY \u9019\u5e7e\u5e74\u4e0d\u65b7\u5275\u7d00\u9304\u8d85\u8eca\u7684\u9ed1\u79d1\u6280\uff0c\u6301\u7e8c\u6316\u8d70\u4e0d\u5c11 Canon \u539f\u6709\u7684\u65cf\u7fa4\uff0c\u51fa\u4f73\u70ba\u5c3c\u5df2\u7136\u662f\u5e38\u614b\u3002<\/p>\n<p>\u7136\u800c\u5728&nbsp;5D2 \u4e0a\u5e02\u521d\u671f\u6642\uff0c\u7576\u6642\u7684\u9304\u5f71\u529f\u80fd\u5be6\u5728\u5ee2\u5230\u7121\u529b\u5410\u69fd\uff0c\u5c31\u6211\u500b\u4eba\u7684\u56de\u61b6\u662f\uff0c\u5b83\u4e0d\u5141\u8a31\u7528\u6236\u624b\u52d5\u8abf\u6574\u5149\u5708\u3001\u5feb\u9580\u3001ISO \u503c\uff0c\u5c31\u8ddf\u73fe\u5728\u7684\u624b\u6a5f\u9304\u5f71\u4e00\u6a23\u662f\u5168\u81ea\u52d5\u5c0d\u61c9\uff0c\u81ea\u52d5\u5f37\u5236\u4ecb\u5165\u7684\u7d50\u679c\uff0c\u7b49\u540c\u65bc\u95b9\u5272 DSLR \u6700\u91cd\u8981\u7684\u5f37\u9805\uff1a\u5927\u5149\u5708\u6dfa\u666f\u6df1\u6548\u679c\u3002\u8a18\u5f97\u7576\u6642\u60f3\u5728\u767d\u5929\u53d6\u5f97\u6dfa\u666f\u6df1\u7684\u9304\u5f71\u6548\u679c\uff0c\u5f97\u906e\u65b7\u93e1\u982d\u7684\u96fb\u5b50\u63a5\u9ede\uff0c\u5f37\u8feb 5D2 \u6a5f\u8eab\u63a5\u6536\u6700\u5927\u5149\u5708\u53bb\u5c0d\u61c9\u5feb\u9580\u8207 ISO \u503c\uff0c\u6700\u7c21\u55ae\u7684\u65b9\u5f0f\u662f\u88dd\u93e1\u982d\u6642\u4e0d\u8981\u8f49\u5230\u5e95\uff0c\u4f46\u58de\u8655\u662f\u5c0f\u5fc3\u93e1\u982d\u4e0d\u8981\u6389\u4e0b\u4f86\u3002\u4f8b\u5982\u5728\u4ee5\u4e0b\u9019\u6bb5\u8a66\u9304\u5f71\u7247\u7b2c 27 \u79d2\u958b\u59cb\u7684\u6ce2\u65af\u83ca\uff0c\u5c31\u662f\u906e\u65b7 135mm F2<strong><span style=\"color:#ff0000\">L<\/span><\/strong> \u96fb\u5b50\u63a5\u9ede\uff0c\u642d\u914d\u4e00\u822c\u76f8\u6a5f\u8173\u67b6\u9304\u51fa\u4f86\u7684\u6548\u679c\u3002<\/p>\n<p><!-- more --><\/p>\n<p><iframe loading=\"lazy\" allowfullscreen=\"\" class=\"\" frameborder=\"0\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/M63FU-10Ct8?wmode=transparent\" title=\"YouTube video player\" width=\"640\"><\/iframe><\/p>\n<p>\u9019\u65b9\u6cd5\u5728\u906e\u65b7\u96fb\u5b50\u8a0a\u865f\u5f8c\u9084\u80fd\u624b\u52d5\u5c0d\u7126\u6642\u624d\u6709\u7528\u3002\u624b\u4e0a\u53e6\u5916\u4e00\u652f\u7d55\u7248\u93e1 Canon EF 200mm F1.8<strong><span style=\"color:#ff0000\">L<\/span><\/strong> \u53ef\u5c31\u884c\u4e0d\u901a\u4e86\uff0c\u906e\u65b7\u96fb\u5b50\u8a0a\u865f\u4e4b\u5f8c\u5c0d\u7126\u74b0\u5c31\u7f77\u5de5\u4e86\uff0c\u9664\u975e\u9078\u5728\u665a\u4e0a\uff0c\u5426\u5247\u5f88\u96e3\u4e00\u7aba\u7d55\u7248\u50b3\u8aaa&nbsp;200mm F1.8 \u8d85\u5927\u5149\u5708\u4e0b\u8ff7\u4eba\u6dfa\u666f\u6df1\u7684\u756b\u9762\u6548\u679c\u3002<\/p>\n<p>\u76f4\u5230 Canon \u5728 2.0 \u7248\u97cc\u9ad4\u4e4b\u5f8c\uff0c\u7e3d\u7b97\b\u89e3\u653e\u4e86 5D2 \u539f\u4f86\u7684\u9304\u5f71\u529f\u80fd\u9650\u5236\u3002\u5982\u4eca\u56de\u60f3\u8d77\u4f86\uff0c\u9019\u7a2e Hack \u9304\u5f71\u624b\u6bb5\u7684\u9ed1\u6b77\u53f2\u9084\u771f\u662f\u7b11\u8a71\u4e00\u5247\u3002<\/p>\n<p>\u4e5f\u56e0\u70ba\u7576\u6642\u7684\u9304\u5f71\u529f\u80fd\u592a\u5ee2\uff0c\u6709\u500b\u651d\u5f71\u5de5\u4f5c\u8005\u672c\u8eab\u4e5f\u5177\u5099\u8edf\u9ad4\u5de5\u7a0b\u80cc\u666f\u7684\u795e\u4eba&nbsp;Trammell Hudson\uff0c\u958b\u555f\u4e86 <a href=\"https:\/\/www.magiclantern.fm\/\" target=\"_blank\">MagicLantern<\/a>&nbsp;&#8211; \u4e00\u822c\u4fd7\u7a31\u300c\u9b54\u71c8\u300d\u7684\u8edf\u9ad4\u5c08\u6848\uff08\u4ee5\u4e0b\u7c21\u7a31 ML \uff09\uff0c\u4e26\u4e14\u4ee5\u958b\u653e\u539f\u59cb\u78bc\u7684\u578b\u614b\u767c\u8868\u3002\u5c08\u6848\u6700\u521d\u76ee\u7684\u5c31\u662f\u88dc\u8db3 Canon 5D2 \u6578\u4f4d\u55ae\u773c\u5728\u9304\u5f71\u529f\u80fd\u7684\u4e0d\u8db3\uff0c\u5982\u4eca ML \u65e9\u5df2\u8d85\u4e4e\u7576\u521d\u53ea\u70ba\u88dc\u8db3\u9304\u5f71\u529f\u80fd\u800c\u751f\u7684\u76ee\u7684\uff0c\u73fe\u5728\u4e0d\u50c5\u6709\u4e86 <a href=\"https:\/\/youtu.be\/WTr2L3uCYts\" target=\"_blank\">RAW Video\uff08\u7bc4\u4f8b\uff09<\/a> \uff0c\u5c31\u9023\u4e00\u822c\u7684\u62cd\u7167\u5c0d\u7126\u529f\u80fd\u4e5f\u6709\u5927\u5e45\u589e\u9032\uff08\u4f8b\u5982\u8b93 5D2 \u652f\u63f4\u7fa4\u7d44\u5c0d\u7126\u9ede<s>&lt;\u96d6\u7136 5D2 \u53ea\u6709 9+6 \u9ede\u505a\u7fa4\u7d44\u53ef\u80fd\u7528\u8655\u4e0d\u5927&gt;<\/s>\uff09\uff0c\u652f\u63f4\u7684\u76f8\u6a5f\u4e5f\u8d8a\u4f86\u8d8a\u591a\uff0c\u5230\u73fe\u5728 ML&nbsp; \u7684\u529f\u80fd\u82b1\u6a23\u591a\u5230\u8b93 5D2 \u4e0a\u9762\u8dd1\u8a08\u7b97\u6a5f\u3001\u73a9\u73a9\u904a\u6232\u6253\u767c\u6642\u9593\u4e5f\u5c31\u4e0d\u8db3\u70ba\u5947\u4e86\u3002<\/p>\n<p>MagicLantern ( ML ) \u672c\u8cea\u4e0a\u4e26\u4e0d\u662f\u4e00\u6b3e\u7834\u89e3\u8edf\u9ad4\uff0c\u800c\u662f\u5728\u539f\u5ee0\u97cc\u9ad4\u7684\u57fa\u790e\u4e0a\u53bb\u5be6\u73fe\u5176\u4ed6\u529f\u80fd\uff0c\u5dee\u4e0d\u591a\u662f\u5916\u639b\u7684\u5f62\u5f0f\u3002\u5b89\u88dd\u7684\u65b9\u5f0f\u5f88\u7c21\u55ae\uff1a<\/p>\n<ul>\n<li>\u5230\u9019\u88e1<a href=\"https:\/\/builds.magiclantern.fm\/\" target=\"_blank\">\u4e0b\u8f09\uff08\u7db2\u5740\uff09<\/a>\u5c0d\u61c9\u7684 DSLR \u6a5f\u7a2e\u3002(5D2 \u7684\u7528\u6236\u53ef\u4ee5\u5230 <a href=\"https:\/\/bitbucket.org\/reddeercity\/crop_rec_5d2_50d\/downloads\/\" target=\"_blank\">\u9019\u88e1\u4e0b\u8f09<\/a>\uff0c\u4f5c\u8005 reddeercity \u6709\u7279\u5225\u91dd\u5c0d 5D2 RAW Video \u512a\u5316\u7684\u7248\u672c &lt; crop_rec-5632x3124_3.8fps-5D2-eXperimental.9.42pm.2020Jan05.5D2212.zip &gt;)<\/li>\n<li>\u9023\u540c\u76ee\u9304\u7d50\u69cb\u89e3\u58d3\u7e2e\u5230\u76f8\u6a5f\u7684\u8a18\u61b6\u5361\u6839\u76ee\u9304\u4e4b\u5f8c\uff0c\u5c07\u8a18\u61b6\u5361\u5b89\u88dd\u5230\u76f8\u6a5f\u5167\u3002<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53481.14.22\" border=\"0\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530335718-890766738.png\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53481.14.22\">&nbsp;&nbsp;<\/p>\n<ul>\n<li>\u76f8\u6a5f\u5167\u57f7\u884c\u97cc\u9ad4\u66f4\u65b0\u7a0b\u5f0f\u3002<\/li>\n<li>\u82e5\u8981\u89e3\u9664 MagicLantern \uff0c\u518d\u57f7\u884c\u4e00\u6b21\u97cc\u9ad4\u66f4\u65b0\uff0c\u66f4\u65b0\u5b8c\u6210\u4e4b\u5f8c\u5148\u5225\u6025\u8457\u95dc\u6a5f\uff0c\u7b49\u4e0a\u9762\u63d0\u793a\u7684\u79d2\u6578\uff0860 \u79d2\uff09\u8b80\u5b8c\uff0c\u5c31\u6703\u81ea\u52d5\u89e3\u9664\uff0c\u4e4b\u5f8c\u91cd\u65b0\u958b\u6a5f\u5c31\u662f\u539f\u5ee0\u97cc\u9ad4\u529f\u80fd\u3002<\/li>\n<\/ul>\n<p>ML \u7684\u529f\u80fd\u5be6\u5728\u592a\u591a\uff0c\u4e0d\u662f\u672c\u6587\u8981\u8aaa\u7684\u5167\u5bb9\uff0c\u8b80\u8005\u53ef\u76f4\u63a5\u53c3\u8003\u624b\u518a\uff08<a href=\"https:\/\/drive.google.com\/file\/d\/0B25XnV4KjmtIWmlVYm1TZkZpeUE\/view\" target=\"_blank\">\u7db2\u5740<\/a>\uff09\u3002<\/p>\n<p>\u7531\u65bc ML \u662f\u958b\u653e\u539f\u59cb\u78bc\u7684\u5c08\u6848\uff0c\u9019\u610f\u5473\u8457\u6211\u5011\u5982\u679c\u6709\u80fd\u529b\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5df1\u7de8\u8b6f\u7522\u51fa\uff0c\u53b2\u5bb3\u4e00\u9ede\u9084\u53ef\u4ee5\u81ea\u5df1\u6539\u7a0b\u5f0f\u78bc\uff0c\u81ea\u88fd\u5145\u6eff\u500b\u4eba\u98a8\u683c\u7684 ML \u5916\u639b\u3002ML \u5c08\u6848\u5f9e 2009 \u5e74\u5c31\u958b\u59cb\u4e86\uff085D2 \u767c\u8868\u9694\u5e74\uff09\uff0c\u5728\u5f88\u591a\u5e74\u524d\u6211\u5c31\u5617\u8a66\u904e\u81ea\u884c\u7de8\u8b6f\uff0c\u7121\u5948\u7576\u6642\u5b78\u85dd\u4e0d\u7cbe\uff0c\u6240\u4ee5\u4e00\u76f4\u641e\u4e0d\u51fa\u4f86\u3002\u8fd1\u5e7e\u5e74\u7d93\u6b77\u4eba\u751f\u8207\u5de5\u4f5c\u4e0a\u7684\u98a8\u96e8\u6ce2\u6298\uff0c\u7121\u5948\u903c\u8feb\u6211\u53bb\u63a5\u89f8\u4e00\u4e9b\u8cc7\u8a0a\u9818\u57df\u4e2d\u76f8\u5c0d\u51b7\u9580\u7684\u8b70\u984c\uff0c\u4ee5\u671f\u5f85\u5c07\u4f86\u51b7\u9580\u8b70\u984c\u6709\u5929\u7a81\u7136\u767c\u5149\u767c\u71b1\uff0c\u63d0\u5347\u81ea\u5df1\u7684\u50f9\u503c\u3002\u4f8b\u5982 iOS App \u958b\u767c\uff0c\u6211\u5728\u5927\u5bb6\u624d\u5728\u89c0\u671b\u7684 iOS 3 \u5c31\u958b\u59cb\u5207\u5165\uff0c\u5f8c\u4f86\u8b93\u6211\u6709\u6a5f\u6703\u4ee5\u500b\u4eba\u958b\u767c\u7684\u898f\u6a21\uff0c<a href=\"http:\/\/benjenq.pixnet.net\/blog\/post\/27072901\" target=\"_blank\">\u4e00\u8209\u767b\u4e0a\u53f0\u7063\u4e0d\u5206\u5340\u6392\u884c\u7b2c\u4e00\u540d\u7684\u8f1d\u714c\u6210\u7e3e<\/a>\uff0c\u5982\u4eca\u60f3\u8981\u4ee5\u500b\u4eba\u958b\u767c\u4e4b\u59ff\u62ff\u4e0b\u4e0d\u5206\u5340 App \u699c\u55ae\uff0c\u5e7e\u4e4e\u662f\u4e0d\u53ef\u80fd\u7684\u4e8b&#8230;\u554a\uff5e\u8a71\u984c\u626f\u9060\u4e86\uff01<\/p>\n<p>\u9019\u5e7e\u5e74\u8d70\u5b8c\u4e00\u5708\uff08Windows \/ macOS \/ Linux\uff09\uff0c\u505a\u904e\u4e00\u4e9b\u8de8\u5e73\u53f0\u7684\u958b\u767c\u4e4b\u5f8c\uff0c\u5dee\u9ede\u907a\u5fd8\u6614\u65e5\u4e0d\u6703\u7de8\u8b6f ML \u7684\u907a\u61be\u3002\u5982\u4eca\u56de\u904e\u982d\u4f86\u770b\uff0c\u7de8\u8b6f ML \u4e26\u4e0d\u96e3\uff0c\u800c\u641e\u61c2\u9019\u500b ML \u5c08\u6848\u7684\u90e8\u5c6c\u65b9\u5f0f\u4e4b\u5f8c\uff0c\u9084\u53ef\u4ee5\u5728\u96fb\u8166\u4e0a\u5f04\u500b QEMU \u74b0\u5883\uff0c\u628a ML \u4e1f\u9032\u53bb\u6a21\u64ec\u4e00\u904d\uff0c\u5728\u96fb\u8166\u4e0a\u8dd1 5D2 \u7684\u97cc\u9ad4\u7cfb\u7d71\uff0c\u611f\u89ba\u5176\u5be6\u6eff\u597d\u73a9\u7684\u3002<\/p>\n<p>\u6240\u4ee5\u9019\u7bc7\u6587\u7ae0\u8981\u8aaa\u7684\uff0c\u5c31\u662f\u5982\u4f55\u7de8\u8b6f\u5c0d\u61c9 5D2 \u7684 ML \u97cc\u9ad4\uff0c\u4e26\u4e14\u5728\u96fb\u8166\u4e0a\u6a21\u64ec\u64cd\u4f5c 5D2 \u7684\u97cc\u9ad4\u7cfb\u7d71\u64cd\u4f5c\u3002<\/p>\n<p><strong><span style=\"font-size:12pt\">\u7de8\u8b6f Canon 5D Mark II \u7684 MagicLantern \u97cc\u9ad4\u3002<\/span><\/strong><\/p>\n<p>ML \u7de8\u8b6f\u74b0\u5883\u652f\u63f4 macOS \u8207 Linux\uff0c\u672c\u6587\u7528 macOS \uff0810.13\uff09\u8aaa\u660e\u3002\u8a0e\u8ad6\u5340\u4e2d\u6709\u4eba\u4e5f\u7528 Windows \u6210\u529f\u904e\uff0c\u64cd\u4f5c\u65b9\u5f0f\u4e5f\u4e0d\u5916\u4e4e\u662f\u7528 Windows \u6a21\u64ec Linux \u7684\u74b0\u5883\u3002<\/p>\n<p><span style=\"font-size:12pt\"><strong>\u96f6\u3001\u6e96\u5099\u5de5\u4f5c<\/strong><\/span><\/p>\n<p>\u786c\u9ad4\u90e8\u5206<\/p>\n<ul>\n<li>\u4e00\u53f0\u57f7\u884c macOS\uff08\u4ee5 macOS 10.13 High Sierra \u70ba\u4f8b\uff09\u3001\u53ef\u9023\u7db2\u969b\u7db2\u8def\u7684\u96fb\u8166\u3002<\/li>\n<li>\u3127\u53f0Canon 5D Mark II \u76f8\u6a5f\u8207\u8a18\u61b6\u5361\u3002<\/li>\n<\/ul>\n<p>\u8edf\u9ad4\u90e8\u5206\uff1a\u5b89\u88dd\u76f8\u95dc\u9700\u8981\u7684\u5957\u4ef6<\/p>\n<p>&#8211; \u5b89\u88dd Xcode Command Line Tools<\/p>\n<p>\u5169\u7a2e\u65b9\u5f0f\u3002\u5169\u7a2e\u64c7\u4e00\uff1a<\/p>\n<ul>\n<li>\u65b9\u6cd5 1\uff1a\u5b89\u88dd Xcode \u4e4b\u5f8c\uff0c\u9078\u55ae Xcode -&gt; Preferences -&gt; Locations \u9801\u7c64\uff0cCommand Line Tools \u9805\u76ee\u4e0b\u62c9\u9078\u64c7\u3002<\/li>\n<li>\u65b9\u6cd5 2\uff1a\u7d42\u7aef\u6a5f\u8996\u7a97\uff1a$&nbsp;xcode-select &#8211;install<\/li>\n<\/ul>\n<p>&#8211; \u5b89\u88dd HomeBrew\uff1a<\/p>\n<p>Homebrew \u662f macOS \u7d42\u7aef\u74b0\u5883\u4e0b\u7684\u5957\u4ef6\u7ba1\u7406\uff0c\u76f8\u7576\u65bc Linux \u7684 apt\u3002\u4e5f\u5c31\u662f\u8aaa\uff0c\u628a\u9019\u7bc7\u6587\u7ae0\u4e2d\u7684 brew \u63db\u6210 apt-get \uff0c\u5c31\u662f Linux \u4e0a\u9762\u7684\u64cd\u4f5c\u65b9\u5f0f\u3002\u958b\u555f\u7d42\u7aef\u6a5f\uff0c\u57f7\u884c\u4e00\u884c\u6307\u4ee4\uff1a<\/p>\n<p>$&nbsp;ruby -e &#8220;$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install)&#8221;<\/p>\n<p>\u53e6\u5916 Homebrew \u7981\u6b62\u5728 sudo \u6b0a\u9650\u4e0b\u57f7\u884c\uff0c\u4f46\u6709\u4e9b\u5957\u4ef6\u904b\u884c\u6307\u4ee4\u53c8\u9810\u8a2d\u5728 \/usr\/local\/bin \uff0c\u6240\u4ee5\u70ba\u6c42\u65e5\u5f8c\u4fdd\u5e73\u5b89\u514d\u53d7\u6b0a\u9650\u4e0d\u8db3\u9a37\u64fe\uff0c\u518d\u52a0\u4e0a\u4e00\u884c\u6307\u4ee4\uff1a<\/p>\n<p>$&nbsp;sudo chown $(whoami):admin \/usr\/local &amp;&amp; sudo chown -R $(whoami):admin \/usr\/local<\/p>\n<p>\u9019\u884c\u958b\u6b0a\u9650\u7684\u6307\u4ee4\uff0c\u53c8\u5fc5\u9808\u5728<a href=\"http:\/\/benjenq.pixnet.net\/blog\/post\/42662927\" target=\"_blank\">\u95dc\u9589 SIP \u7684\u72c0\u614b<\/a>\u4e0b\u904b\u4f5c\uff08\u860b\u679c\u5f9e 10.11 \u958b\u59cb\u641e\u4e00\u500b SIP \u6a5f\u5236\uff0c\u7c21\u76f4\u662f\u5de5\u7a0b\u5e2b\u75db\u8173\uff09\u3002\u5176\u4ed6\u8a73\u7d30\u5167\u5bb9\u53ef\u53c3\u8003\u9019\u88e1\uff08<a href=\"https:\/\/brew.sh\/index_zh-tw\" target=\"_blank\">\u7db2\u5740<\/a>\uff09\u3002<\/p>\n<p>&#8211; \u5b89\u88dd Python<\/p>\n<p>macOS \u5b89\u88dd\u7684\u65b9\u5f0f\u6709\u4e09\u7a2e\uff1amacOS \u5167\u5efa\uff0cPython \u5b98\u7db2\u5b89\u88dd\uff0cHomebrew \u5b89\u88dd\u3002\u9019\u88e1\u5efa\u8b70 Homebrew \u5b89\u88dd\u6bd4\u8f03\u7701\u4e8b\uff0c\u56e0\u70ba\u5f8c\u9762\u6709\u4e9b\u904e\u7a0b\u6703\u5075\u6e2c\u5957\u4ef6\u76f8\u4f9d\u6027\uff0c\u5075\u6e2c\u4e0d\u5230\u9084\u662f\u6703\u8dd1 Homebrew \u53bb\u5b89\u88dd\u76f8\u4f9d\u5957\u4ef6\u3002Homebrew \u90fd\u5728\u7d42\u7aef\u6a5f\u6a21\u5f0f\u4e0b\u64cd\u4f5c\u3002<\/p>\n<p>\u7528 Homebrew \u5b89\u88dd Python (\u9019\u88e1\u7684 Python \u6307\u7684\u662f Python2\uff0c\u800c\u975e Python3)<\/p>\n<p>$ brew install python<\/p>\n<p>\u57f7\u884c python \u770b\u770b\u662f\u54ea\u500b\u7248\u672c\uff0c\u5fc5\u9808\u662f Python2\uff0c\u5426\u5247\u5f8c\u9762\u7de8\u8b6f\u6703\u51fa\u932f<\/p>\n<p>Python 2.7.16 (default, Jun&nbsp;30 2018, 14:43:11)&nbsp;<br \/>\n[GCC Apple LLVM 12.0.5 (clang-1205.0.19.59.6) [+internal-os, ptrauth-isa=deploy on darwin<br \/>\nType &#8220;help&#8221;, &#8220;copyright&#8221;, &#8220;credits&#8221; or &#8220;license&#8221; for more information.<br \/>\n&gt;&gt;&gt;<\/p>\n<p>&#8211; \u5b89\u88dd docutils<\/p>\n<p>docutils \u662f python \u7684\u5957\u4ef6\uff0c\u5728\u9b54\u71c8\u5c08\u6848\u4e2d\u662f\u7528\u4f86\u5f9e module\/XXXX\/README.rst \u7522\u751f module_strings.h \u7684\u5de5\u5177\uff0c\u7528 pip \u5b89\u88dd\u5373\u53ef\u3002pip \u53c8\u662f python \u7684\u5957\u4ef6\u7ba1\u7406\u7a0b\u5f0f\uff0c\u5b89\u88dd python \u4e5f\u6703\u81ea\u52d5\u5b89\u88dd pip\u3002\u5b89\u88dd docutils \u7684\u6307\u4ee4<\/p>\n<p>$&nbsp;pip install docutils<\/p>\n<p>&#8211; \u5b89\u88dd&nbsp;Mercurial<\/p>\n<p>Mercurial \u662f\u8de8\u5e73\u53f0\u7684\u7a0b\u5f0f\u78bc\u7248\u672c\u7ba1\u7406\uff0c\u5c31\u8ddf Git \u6709 87% \u50cf\u3002\u8981\u5b89\u88dd Mercurial \u624d\u80fd\u4e0b\u8f09 ML \u539f\u59cb\u78bc\uff0c\u56e0\u70ba ML \u539f\u59cb\u78bc\u4e26\u4e0d\u5728 Github \u8a17\u7ba1\u3002&nbsp;<\/p>\n<p>$ brew install mercural<\/p>\n<p>Mercurial \u8ddf Git \u7684\u64cd\u4f5c\u65b9\u5f0f\u4e5f\u5f88\u50cf\uff0c\u6307\u4ee4\u662f hg \u3002<\/p>\n<p><strong><span style=\"font-size:12pt\">\u4e00\u3001\u7de8\u8b6f\u64cd\u4f5c<\/span><\/strong><\/p>\n<p>(1) \u4e0b\u8f09\u8207\u5b89\u88dd Toolchain<\/p>\n<p>&#8211; \u4e0b\u8f09 Toolchain\uff1a<\/p>\n<p>\u5728\u300c<a href=\"http:\/\/benjenq.pixnet.net\/blog\/post\/45332610\" target=\"_blank\">\u89aa\u624b\u6253\u9020\u4efb\u5929\u5802\u904a\u6a02\u5668<\/a>\u300d\u4e00\u6587\u4e2d\u63d0\u5230\uff0cToolchain \u662f\u7528\u4f86\u7de8\u8b6f\u53e6\u4e00\u7a2e\u8655\u7406\u5668\u67b6\u69cb\u7684\u5de5\u5177\u8edf\u9ad4\uff0c\u4e0d\u540c\u7684\u8655\u7406\u5668\u6709\u4e0d\u540c\u7684 Toolchain\u3002\u5728\u96fb\u8166\u4e0a\u7de8\u8b6f 5D2 \u97cc\u9ad4\u7684 Toolchain\uff1a<\/p>\n<p>\u4e0b\u8f09\u7db2\u5740\uff1a<a href=\"https:\/\/developer.arm.com\/open-source\/gnu-toolchain\/gnu-rm\/downloads\" target=\"_blank\">https:\/\/developer.arm.com\/open-source\/gnu-toolchain\/gnu-rm\/downloads<\/a><\/p>\n<p>\u9078\u300c5-2016-q3-update September 28, 2016\u300d\u9019\u500b\u7248\u672c\u3002\u6709\u5206 Windows 32-bit \/ OS X (macOS) 64-bit \/ Linux 32-bit. \u9078\u64c7 Mac OS X 64-bit \u9019\u500b\u7248\u672c \u3002<\/p>\n<p>\u5982\u679c\u7528\u7684\u662f Ubuntu x64 \u4f5c\u696d\u7cfb\u7d71\uff0c\u9664\u4e86\u8981\u4e0b\u8f09 Linux 32-bit \u9019\u500b\u7248\u672c\uff0c\u9084\u5f97\u5728\u7cfb\u7d71\u5167\u5b89\u88dd gcc-multilib \u5957\u4ef6\uff08 $ apt-get install gcc-multilib\uff09\uff0c\u624d\u80fd\u5728 [\u6b64\u5b57\u5143\u5df2\u906e\u853d] \u4f4d\u5143\u74b0\u5883\u4e2d\u4f7f\u7528 32-bit \u7684\u7a0b\u5f0f\u3002<\/p>\n<p>&#8211; \u5b89\u88dd Toolchain<\/p>\n<p>\u4e0b\u8f09\u5f8c\u89e3\u58d3\u7e2e\u5230 Home \u76ee\u9304\u4e0b\uff0c\u5373 ~\/gcc-arm-none-eabi-5_4-2016q3<\/p>\n<p>\u4e4b\u5f8c\u5728 ~\/.bash_profile \u589e\u52a0\u4e00\u884c\uff08 Ubuntu \u5c0d\u61c9\u7684\u662f ~\/.profile \uff09<\/p>\n<p>export PATH=$PATH:~\/gcc-arm-none-eabi-5_4-2016q3\/bin<\/p>\n<p>\u5c07 Toolchain \u52a0\u5165\u57f7\u884c\u641c\u5c0b\u76ee\u9304\u3002&nbsp;<\/p>\n<p>\u6e2c\u8a66\uff1a\u7d42\u7aef\u6a5f\u6a21\u5f0f\u4e0b\u8f38\u5165&nbsp;arm-none-eabi\uff0c\u9023\u6309\u5169\u6b21 tab \u9375\uff0c\u6703\u51fa\u73fe\u4e00\u5806&nbsp;arm-none-eabi \u7684\u6307\u4ee4\u6e05\u55ae\uff0c\u8868\u793a Toolchain \u5b89\u88dd\u5b8c\u6210\u3002<\/p>\n<p><img decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53481.03.44\" border=\"0\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530335057-346590768.png\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53481.03.44\"><\/p>\n<p>(2) \u4e0b\u8f09 ML \u539f\u59cb\u78bc<\/p>\n<p>$ cd ~<br \/>\n$ hg clone -u unified https:\/\/bitbucket.org\/hudson\/magic-lantern<br \/>\n$ cd ~\/magic-lantern<\/p>\n<p>\u5148 make clean \u4e00\u6b21<\/p>\n<p>$ make clean<\/p>\n<p><img decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53481.06.03\" border=\"0\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530335176-2073831712.png\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53481.06.03\"><\/p>\n<p>(3) \u7de8\u8b6f 5D2 \u7684 ML<\/p>\n<p>$ cd ~\/magic-lantern\/platform\/5D2.212\/<br \/>\n$ make clean &amp;&amp; make zip<\/p>\n<p>\u7d93\u904e\u4e00\u6bb5\u6f2b\u9577\u7684\u7de8\u8b6f\u904e\u7a0b\u5f8c\uff0c~\/magic-lantern\/platform\/5D2.212 \u76ee\u9304\u6703\u51fa\u73fe\u4e00\u500b&nbsp;magiclantern-Nightly.&lt;\u65e5\u671f&gt;.5D2212.zip \u7684\u58d3\u7e2e\u6a94\uff0c\u518d\u4f9d\u7167\u4e0a\u9762\u63d0\u5230\u7684\u65b9\u5f0f\u5b89\u88dd\u5728\u8a18\u61b6\u5361\u4e0a\u9762\u5373\u53ef\u3002&nbsp;<\/p>\n<p><span style=\"font-size:12pt\"><strong>\u4e8c\u3001\u7528 QEMU \u6a21\u64ec&nbsp;Canon 5D Mark II \u97cc\u9ad4\u529f\u80fd\u4ecb\u9762<\/strong><\/span><\/p>\n<p><span style=\"font-size:10pt\"><strong>(1) \u5b89\u88dd\u8207\u7de8\u8b6f QEMU<\/strong><\/span><\/p>\n<p>\u4e00\u6a23\u90fd\u662f\u5728\u7d42\u7aef\u6a5f\u6a21\u5f0f\u4e0b\u64cd\u4f5c<\/p>\n<p>&#8211; \u5b89\u88dd&nbsp;vncdotool<\/p>\n<p>$ brew install vncdotool<\/p>\n<p>&#8211; \u5b89\u88dd\u8a2d\u5b9a QEMU\uff1a\u958b\u555f\u7d42\u7aef\u6a5f\u8996\u7a97\uff0c\u57f7\u884c\u4e0b\u5217\u56db\u884c\u6307\u4ee4\uff1a<\/p>\n<p>$ cd ~\/magic-lantern<br \/>\n$ hg update qemu -C<br \/>\n$ cd contrib\/qemu<br \/>\n$ .\/install.sh<\/p>\n<p>\u51fa\u73fe<\/p>\n<p>This will setup QEMU for emulating Magic Lantern.<br \/>\nThou shalt not be afraid of compiling stuff on Linux \ud83d\ude09<br \/>\nContinue? [y\/n]<\/p>\n<p>\u6309 y \u958b\u59cb\u9032\u5165\u8a2d\u5b9a\u8207\u5b89\u88dd\u7a0b\u5e8f<\/p>\n<p>&#8230;[\u6f2b\u9577\u904e\u7a0b\uff0c\u7701\u7565]&#8230;<\/p>\n<p>\u82e5\u51fa\u73fe<br \/>\nError: Could not link:<br \/>\n\u4e26\u51fa\u73fe\u8a62\u554f\u8996\u7a97\uff08 y\/n \uff09\uff0c\u5247\u5148\u67e5\u770b\u8a0a\u606f\u8aaa\u660e\u662f\u5efa\u7acb\u54ea\u500b\u6377\u5f91\u51fa\u554f\u984c\uff0c\u6309 n \u96e2\u958b\u4e4b\u5f8c\uff0c\u8655\u7406\uff08\u522a\u9664\uff09\u6377\u5f91\u7684\u554f\u984c\u4e4b\u5f8c\uff0c\u518d\u91cd\u65b0\u57f7\u884c\u4e00\u6b21 .\/install.sh\u3002<\/p>\n<p>\u82e5\u51fa\u73fe<br \/>\n.\/install.sh: line ###: xxxxx command not found<br \/>\n\u8868\u793a\u5c11\u4e86 xxxxx \u547d\u4ee4\u3002\u518d\u7528 Homebrew \u5b89\u88dd\u8a72\u547d\u4ee4\u6240\u5c0d\u61c9\u7684\u5957\u4ef6 xxx\uff08\u7528 google \u67e5\u4e00\u4e0b\uff09\u5373\u53ef<br \/>\n$ brew install xxx<\/p>\n<p>\u518d\u91cd\u65b0\u57f7\u884c .\/install.sh \u547d\u53e6\u3002<\/p>\n<p>\u82e5\u4e4b\u5f8c\u90fd\u6c92\u554f\u984c\uff0c\u5247\u51fa\u73fe\u4ee5\u4e0b\u8a0a\u606f\uff1a<\/p>\n<p>*** Will compile gdb 8.1 from source and install it under your home directory.<\/p>\n<p>Continue? [y\/n] y<\/p>\n<p>\u6309 y \u958b\u59cb\u7de8\u8b6f\uff0c\u7a0b\u5e8f\u6703\u5728 Home \u76ee\u9304\uff08~\/\uff09\u5e95\u4e0b\u5efa\u7acb&nbsp;gdb-arm-none-eabi-8_1 \u76ee\u9304\u548c\u76f8\u95dc\u6a94\u6848\u3002<\/p>\n<p>&#8230;[\u6f2b\u9577\u904e\u7a0b\uff0c\u7701\u7565]&#8230;<\/p>\n<p>\u4e00\u5207\u6c92\u554f\u984c\u5f8c\u6703\u51fa\u73fe\uff1a<\/p>\n<p>*** Please add GDB binaries to your executable PATH, then run this script again.<br \/>\n*** Run this command, or paste it into your .profile and reopen the terminal:<br \/>\nexport PATH=\/Users\/administrator\/gdb-arm-none-eabi-8_1\/bin\/:$PATH<\/p>\n<p>\u7de8\u8f2f .bash_profile\uff1a nano ~\/.bash_profile \uff0c\u52a0\u5165\u4e00\u884c<\/p>\n<p>export PATH=\/Users\/administrator\/gdb-arm-none-eabi-8_1\/bin\/:$PATH<\/p>\n<p>\u5b58\u6a94\u96e2\u958b\uff0c\u4e26\u95dc\u9589\u9019\u500b\u7d42\u7aef\u6a5f\u8996\u7a97\u3002\u518d\u958b\u555f\u4e00\u500b\u65b0\u7684\u7d42\u7aef\u6a5f\u8996\u7a97\uff0c\u5f9e\u300c(2) \u5b89\u88dd\u8a2d\u5b9a QEMU\u300d\u6b65\u9a5f\u91cd\u4f86\u4e00\u6b21\u5373\u53ef\u3002<\/p>\n<p>\u4e0a\u8ff0\u82e5\u4e00\u5207\u90fd\u641e\u5b9a\u6c92\u554f\u984c\u4e4b\u5f8c\uff0c\u6703\u51fa\u73fe\uff1a<\/p>\n<p>Next steps:<br \/>\n===========<\/p>\n<p>1) Compile QEMU<\/p>\n<p>cd \/Users\/administrator\/qemu-eos\/qemu-2.5.0<br \/>\n..\/configure_eos.sh<br \/>\nmake -j8<\/p>\n<p>Shall this script attempt to compile QEMU now? [y\/n]<\/p>\n<p>\u9019\u908a\u56de\u61c9 y\uff0c\u7e7c\u7e8c\u51fa\u73fe<\/p>\n<p>Setting up QEMU on Darwin&#8230;<br \/>\nUsing clang \/ clang++ with -Wno-format-extra-args -Wno-format-zero-length<br \/>\nOptions: &#8211;disable-sdl<br \/>\nld: unknown option: &#8211;verbose<\/p>\n<p>&#8230;[\u6f2b\u9577\u7684 QEMU \u7de8\u8b6f\u7a0b\u5e8f\uff0c\u7701\u7565]&#8230;<\/p>\n<p>\u6700\u5f8c\u51fa\u73fe\u4ee5\u4e0b\u8a0a\u606f\u5c31\u8868\u793a\u5b8c\u6210\u4e86\u3002<\/p>\n<p>*** Done compiling.<\/p>\n<p>\nNext steps:<br \/>\n===========<\/p>\n<p>1) Go to QEMU directory<\/p>\n<p>cd \/Users\/\u4f7f\u7528\u8005\u540d\u7a31\/qemu-eos\/<\/p>\n<p>2) Grab a copy of the Canon firmware from your own camera<br \/>\n(don&#8217;t request one and don&#8217;t share it online &#8211; it&#8217;s copyrighted)<\/p>\n<p>Look on your SD card &#8211; you should find ML\/LOGS\/ROM0.BIN and ROM1.BIN<br \/>\nCopy them under your camera model&#8217;s subdirectory, for example:<br \/>\n\/Users\/\u4f7f\u7528\u8005\u540d\u7a31\/qemu-eos\/60D\/<\/p>\n<p>For models that use a serial flash, you may have to dump its contents<br \/>\nusing the sf_dump module, then copy SFDATA.BIN as well.<\/p>\n<p>3) Install Magic Lantern on your SD\/CF card image:<\/p>\n<p>make -C ..\/magic-lantern 60D_install_qemu<\/p>\n<p>The included card image is bootable and contains a small autoexec.bin<br \/>\nthat runs on all supported EOS cameras and prints some basic info.<\/p>\n<p>4) Start emulation with:<\/p>\n<p>cd \/Users\/[\u4f7f\u7528\u8005\u540d\u7a31]\/qemu-eos\/<br \/>\n.\/run_canon_fw.sh 60D<\/p>\n<p>This will recompile QEMU, but not ML.<\/p>\n<p>Note: Canon GUI emulation (menu navigation, no LiveView) only works on:<br \/>\n5D2 5D3 6D 40D 50D 60D 70D 450D 500D 550D 600D 650D 700D 100D 1000D 1100D 1200D 1300D EOSM EOSM2<\/p>\n<p>5) Tips &amp; tricks:<br \/>\n&#8211; to enable or disable the boot flag in ROM, use something like:<br \/>\n.\/run_canon_fw.sh 60D,firmware=&#8221;boot=1&#8243;<br \/>\n&#8211; to use multiple firmware versions, place the ROMs under e.g. 5D3\/113\/ROM*.BIN and run:<br \/>\n.\/run_canon_fw.sh 5D3,firmware=&#8221;113;boot=1&#8243;<br \/>\n&#8211; to show MMIO activity (registers) and interrupts, use:<br \/>\n.\/run_canon_fw.sh 60D -d io,int<br \/>\n&#8211; to show the executed ASM code, step by step, use:<br \/>\n.\/run_canon_fw.sh 60D -d exec,int -singlestep<br \/>\n&#8211; to trace debug messages and various functions in the firmware, use:<br \/>\n.\/run_canon_fw.sh 60D -d debugmsg -s -S &amp; arm-none-eabi-gdb -x 60D\/debugmsg.gdb<br \/>\n&#8211; some camera models require GDB patches to bypass tricky code sequences:<br \/>\n.\/run_canon_fw.sh EOSM -s -S &amp; arm-none-eabi-gdb -x EOSM\/patches.gdb<\/p>\n<p>\nOnline documentation:<\/p>\n<p>https:\/\/bitbucket.org\/hudson\/magic-lantern\/src\/qemu\/contrib\/qemu\/README.rst<br \/>\nhttps:\/\/bitbucket.org\/hudson\/magic-lantern\/src\/qemu\/contrib\/qemu\/HACKING.rst<\/p>\n<p>Enjoy!<\/p>\n<p>\u4e0a\u9762\u7684\u8a0a\u606f\u5df2\u7d93\u6e05\u695a\u8aaa\u660e\uff0c\u5982\u4f55\u7528 QEMU \u4f86\u904b\u884c Canon DSLR \u97cc\u9ad4\u4e86\u3002\u5e95\u4e0b\u7e7c\u7e8c\u8aaa\u660e\u5be6\u969b\u64cd\u4f5c\u65b9\u5f0f\u3002<\/p>\n<p><span style=\"font-size:10pt\"><strong>(2) \u7528 QEMU \u904b\u884c Canon 5D Mark II \u97cc\u9ad4<\/strong><\/span><\/p>\n<p>&#8211; \u5f9e 5D2 \u8a2d\u5099\u63d0\u53d6 ROM0.BIN \u8207 ROM1.BIN\u3002<\/p>\n<p>\u5148\u8b93 5D2 \u57f7\u884c\u4e00\u6b21 ML \u97cc\u9ad4\uff0c\u9019\u500b\u52d5\u4f5c\u6703\u63d0\u53d6 5D2 \u7684\u539f\u5ee0\u97cc\u9ad4\uff0c\u4e26\u5132\u5b58\u5728\u8a18\u61b6\u5361\u7684 \/LOGS \u76ee\u9304\u4e0b\u3002<\/p>\n<p><img decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.08.41\" border=\"0\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530346143-644865787.png?v=1530346144\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.08.41\"><\/p>\n<p>\u76f8\u6a5f\u95dc\u6a5f\u4e4b\u5f8c\uff0c\u628a \/LOGS \u76ee\u9304\u4e0b\u7684\u6a94\u6848\uff08\u6709\u5169\u500b\uff1aROM0.BIN\uff0cROM1.BIN\uff09\u62f7\u8c9d\u5230 ~\/qemu-eos\/5D2\/ \u5e95\u4e0b\uff1a<\/p>\n<p><img decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.10.23\" border=\"0\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530346245-581788747.png\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.10.23\"><\/p>\n<p>&nbsp;<\/p>\n<p>&#8211; \u7de8\u8b6f\u53ef\u8b93 QEMU \u904b\u884c\u7684 5D2 ML \u97cc\u9ad4\u7684\u78c1\u789f\u6620\u50cf\uff1a<\/p>\n<p>\u555f\u52d5 QEMU \u6642\u5fc5\u9808\u6307\u5b9a\u4e00\u500b\u88e1\u9762\u5305\u542b\u4f5c\u696d\u7cfb\u7d71\u7684\u78c1\u789f\u6620\u50cf\u3002\u6240\u4ee5\u6211\u5011\u5fc5\u9808\u7522\u751f\u4e00\u500b\u78c1\u789f\u6620\u50cf\u6a94\u3002<\/p>\n<p>$ cd ~\/qemu-eos<br \/>\n$ make -C ..\/magic-lantern\/platform\/5D2.212 install_qemu<\/p>\n<p><img decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.46.24\" border=\"0\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530348396-1594821033.png?v=1530348397\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.46.24\"><\/p>\n<p>\u5b8c\u6210\u6642\uff0c\u5728 ~\/qemu-eos \u76ee\u9304\u4e0b\u6703\u51fa\u73fe\u4e00\u500b cf.img \u78c1\u789f\u6620\u50cf\u3002\u5982\u679c\u628a\u9019\u500b\u6620\u50cf\u639b\u8f09\u8d77\u4f86\uff0c\u5c31\u53ef\u4ee5\u767c\u73fe\u76ee\u9304\u7d50\u69cb\u5167\u5bb9\u8207\u63d2\u5165\u76f8\u6a5f\u7684 CF \u5361\u5b8c\u5168\u76f8\u540c\u3002<\/p>\n<p><img decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.44.26\" border=\"0\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530348288-508592244.png\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.44.26\"><\/p>\n<p>\u770b\u5b8c\u8a18\u5f97\u8f09\u5378\uff0c\u4e0d\u7136\u5f85\u6703 qemu \u6703\u7121\u6cd5\u5b58\u53d6\u800c\u5c0e\u81f4\u555f\u52d5\u5931\u6557\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>&#8211; \u555f\u52d5 qemu \u904b\u884c Canon 5D Mark II \u7684 ML \u97cc\u9ad4\u3002<\/p>\n<p>$ cd ~\/qemu-eos<br \/>\n$ .\/run_canon_fw.sh 5D2,firmware=&#8221;boot=1&#8243;<\/p>\n<p>\u8aaa\u660e\uff1a<br \/>\n.\/run_canon_fw.sh 5D2,firmware=&#8221;boot=1&#8243; \u662f\u639b\u8f09 ML \u97cc\u9ad4\uff0c<br \/>\n.\/run_canon_fw.sh 5D2 \u662f\u639b\u8f09\u539f\u5ee0 5D2 \u97cc\u9ad4<\/p>\n<p>\u7b49\u500b\u5e7e\u5341\u79d2\uff0c\u898b\u8b49\u5947\u8e5f\u5427\uff01\u7136\u5f8c&#8230;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.53.04\" border=\"0\" height=\"278\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530348839-305413494_l.png?v=1530348840\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.53.04\" width=\"632\"><\/p>\n<p>\u9019\u662f\u5565\uff1f\uff1f\uff1f<\/p>\n<p>&#8230;\u70cf\u9d09\u98db\u904e\uff0c\u6eff\u6eff\u9ed1\u4eba\u554f\u865f&#8230;.<\/p>\n<p>\u9019\u6642\u5019\u6ed1\u9f20\u5728\u53f3\u908a\u7684\u7070\u8272\u7bc4\u570d\u9ede\u64ca\u4e00\u4e0b\uff0c\u518d\u6309\u9375\u76e4\u4e0a\u7684 M \u9215\uff1a<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.57.07\" border=\"0\" height=\"280\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530349053-947916346_l.png?v=1530349054\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53484.57.07\" width=\"641\"> &nbsp;<\/p>\n<p>5D2 \u7684\u9078\u55ae\u756b\u9762\u7d42\u65bc\u51fa\u4f86\u5566\uff01<\/p>\n<p>\u6309 F1 \u9215\u6709\u71b1\u9375\u8aaa\u660e\u3002<\/p>\n<p><img decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53485.00.14\" border=\"0\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530349227-506258616.png\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53485.00.14\"><\/p>\n<p>\u7c21\u55ae\u4f86\u8aaa\uff0c\u56e0\u70ba 5D2 \u96d6\u7136\u6c92\u6709\u9375\u76e4\u6ed1\u9f20\uff0c\u4f46\u6a5f\u8eab\u4e0a\u6709\u4e00\u5927\u5806\u7684\u6309\u9215\uff0c\u6240\u4ee5\u9375\u76e4\u71b1\u9375\u5927\u591a\u5c0d\u61c9 5D2 \u6a5f\u8eab\u4e0a\u7684\u67d0\u500b\u6309\u9215\u3002<\/p>\n<p>\u73fe\u5728\u53ef\u4ee5\u50cf\u662f\u64cd\u4f5c 5D2 \u7684\u9078\u55ae\u90a3\u6a23\uff0c\u5728\u96fb\u8166\u4e0a\u6a21\u64ec\u9019\u500b\u64cd\u4f5c\u74b0\u5883\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53485.00.52\" border=\"0\" height=\"445\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530349354-455895400.png\" title=\"\u87a2\u5e55\u5feb\u7167 2018-06-30 \u4e0b\u53485.00.52\" width=\"639\"><\/p>\n<p>\u770b\u5f97\u51fa\u4f86\u9664\u4e86\u555f\u7528 5D2 \u97cc\u9ad4\uff0c\u4e5f\u8f09\u5165 ML \u5916\u639b\u4e86\u3002<\/p>\n<p>\u5982\u679c\u4e00\u958b\u59cb\u57f7\u884c\u7684\u662f\uff1a<\/p>\n<p>$ .\/run_canon_fw.sh 5D2<\/p>\n<p>\u5247\u6703\u639b\u8f09\u539f\u5ee0\u97cc\u9ad4\uff0c\u4e0d\u6703\u639b\u8f09 ML \u5916\u639b\u3002<\/p>\n<p>\u81f3\u65bc\u8981\u600e\u9ebc\u53eb\u51fa ML \u7684\u529f\u80fd\u8868\u5462\uff1f\u628a\u5b83\u60f3\u6210\u8ddf 5D2 \u64cd\u4f5c\u65b9\u5f0f\u4e00\u6a23\u3002\u5148\u95dc\u9589 LCD \u756b\u9762\uff08 \u9375\u76e4 M \u9215\uff09\uff0c\u518d\u6309\u5783\u573e\u7d71\u7684\u6309\u9215\uff08\u9375\u76e4 DEL \u9215\uff09\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" border=\"0\" height=\"447\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530350196-396151378.png\" title=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" width=\"641\"><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" border=\"0\" height=\"444\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530350317-1904653143.png\" title=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" width=\"641\"><\/p>\n<p>\u53ef\u4ee5\u52a0\u639b lua \u6a21\u7d44\uff0c\u4f86\u57f7\u884c\u4e00\u4e9b\u4e82\u4e03\u516b\u7cdf\u7684\u529f\u80fd\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" border=\"0\" height=\"427\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530351374-4058201979.png\" title=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" width=\"642\"><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" border=\"0\" height=\"422\" src=\"https:\/\/pic.pimg.tw\/benjenq\/1530351463-1667977781.png?v=1530351465\" title=\"\u3010\u5668\u6750\u6539\u9020\u3011\u81ea\u7522\u9b54\u71c8 MagicLantern\uff1a\u5e6b\u4f60\u7684 Ca\" width=\"641\"><\/p>\n<p>\u7528 5D2 \u73a9 Pong \u904a\u6232\uff0c\u9817\u5475\u54a7\uff5e<\/p>\n<p><iframe loading=\"lazy\" allowfullscreen=\"\" class=\"\" frameborder=\"0\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/NF5n07hzayU?wmode=transparent\" title=\"YouTube video player\" width=\"640\"><\/iframe><\/p>\n<p>\u88dc\u5145\uff1a\u6709\u95dc Canon EOS 5D Makr II \u4f7f\u7528 Magic Lantern \u9304\u88fd&nbsp;RAW Video \u7684\u8cc7\u8a0a\uff1a<\/p>\n<ul>\n<li>\u9810\u8a2d\u503c\u70ba\u95dc\u9589\uff0c\u9700\u9032\u5165 Magic Lantern \u9078\u55ae\u5167\uff0c\u8a2d\u5b9a&nbsp;mlv_rec.mo \u70ba&nbsp;ON \u4e4b\u5f8c\u65b9\u80fd\u555f\u7528 RAW Video \u9304\u5f71\u3002&nbsp;<\/li>\n<li>RAW Video \u6a94\u6848\u7684\u526f\u6a94\u540d\u70ba .MLV\uff0c\u4e00\u822c\u5f71\u7247\u7de8\u8f2f\u8edf\u9ad4\u7121\u6cd5\u76f4\u63a5\u8655\u7406\uff0c\u53ef\u7528\u514d\u8cbb\u5de5\u5177&nbsp;<a href=\"https:\/\/mlv.app\" target=\"_blank\">MLV app<\/a> \u8f49\u6a94\u81f3\u5176\u4ed6\u76f8\u5bb9\u683c\u5f0f\uff08\u5982 Apple ProRes 422 HQ\uff09\u3002<\/li>\n<li>\u500b\u4eba\u5be6\u6e2c\uff0c\u9304\u88fd&nbsp;1880 \u00d7 1058 \/ 29.97fps \u7684 RAW VIDEO \u4e14\u624b\u908a\u6700\u5feb\u7684 CF \u5361\u5beb\u5165\u901f\u5ea6\u53ea\u6709&nbsp;30MB\/s \u6642\uff0c\u50c5\u53ea\u80fd\u9304\u88fd 229 \u5e40\uff087.6409&nbsp;\u79d2\uff09\u5f8c\u81ea\u52d5\u505c\u6b62\uff0c\u7522\u751f\u6a94\u6848\u5927\u5c0f\u70ba&nbsp;574,567,424 byte\bs\u3002\u7d93\u63db\u7b97\u70ba\u6bcf\u79d2 75.19557 MB\/s\uff0c\u4f4d\u5143\u7387&nbsp;601.56456 Mbit\/s\uff0c\u4e5f\u5c31\u662f\u8aaa\uff0c5D2 \u9304\u88fd RAW&nbsp;Video \u6642\uff0cCF \u5361\u5beb\u5165\u901f\u5ea6\u81f3\u5c11\u5fc5\u9808\u8d85\u904e&nbsp;75MB\/s \u9580\u6abb\u3002<\/li>\n<li>\u5176\u4ed6\u7d30\u7bc0\u53ef\u53c3\u8003\u6b64\u8aaa\u660e<a href=\"https:\/\/www.youtube.com\/watch?v=UQHPUMQQJx8\" target=\"_blank\">\u5f71\u7247<\/a>\uff08\u82f1\u8a9e\u767c\u97f3\uff09\u3002\u5f71\u7247\u4e2d\u5916\u570b\u4eba\u5efa\u8b70 5D2 \u9304\u88fd RAW Video \u7684 CF \u5361\u70ba <a href=\"https:\/\/www.amazon.com\/-\/zh_TW\/gp\/product\/B00ECEVGN0\/ref=ox_sc_act_title_1?smid=ATVPDKIKX0DER&amp;th=1\" target=\"_blank\">SanDisk&nbsp;Extreme Pro 64\/128GB<\/a>\uff08\u8d85\u904e\u5bb9\u91cf\u5247 5D2 \u4e0d\u652f\u63f4\uff09\uff0c\u8b80\u5beb\u901f\u5ea6\u70ba 160MB\/150MB\u3002<\/li>\n<li>\u5f8c\u7e8c\u8cfc\u5165 SanDisk Extreme Pro 128GB\uff0c\u7d93\u5be6\u6e2c\u6b64\u5361\u5728 5D2 \u7684\u6700\u5927\u5beb\u5165\u901f\u5ea6\u7d04\u70ba 80MB\/s\uff08\u61c9\u8a72\u662f 5D2 \u9023\u7e8c\u5beb\u5165\u7684\u901f\u5ea6\u6975\u9650\uff09\uff0c\u53ef\u9023\u7e8c\u9304\u88fd\u6700\u9ad8 1600 x 900 29.97fps \u7684 RAW Video\u3002<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Canon \u6578\u4f4d\u55ae\u773c\u7684\u7528\u6236\u6216\u8a31\u90fd\u807d\u904e\u9019\u500b\u6771\u897f\uff1aMagicLantern\uff08\u4ee5\u4e0b\u7c21\u7a31 ML \uff09\uff0c\u4e2d\u6587 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[37],"tags":[],"class_list":["post-3833","post","type-post","status-publish","format-standard","hentry","category-37"],"_links":{"self":[{"href":"http:\/\/benjenq.ddns.net\/blog\/wp-json\/wp\/v2\/posts\/3833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/benjenq.ddns.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/benjenq.ddns.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/benjenq.ddns.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/benjenq.ddns.net\/blog\/wp-json\/wp\/v2\/comments?post=3833"}],"version-history":[{"count":0,"href":"http:\/\/benjenq.ddns.net\/blog\/wp-json\/wp\/v2\/posts\/3833\/revisions"}],"wp:attachment":[{"href":"http:\/\/benjenq.ddns.net\/blog\/wp-json\/wp\/v2\/media?parent=3833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/benjenq.ddns.net\/blog\/wp-json\/wp\/v2\/categories?post=3833"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/benjenq.ddns.net\/blog\/wp-json\/wp\/v2\/tags?post=3833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}