{"id":313,"date":"2023-03-26T20:43:16","date_gmt":"2023-03-26T12:43:16","guid":{"rendered":"https:\/\/vm1.go2see.me\/?p=313"},"modified":"2023-03-29T17:08:39","modified_gmt":"2023-03-29T09:08:39","slug":"wsl2%e9%96%8b%e7%99%bc%e7%92%b0%e5%a2%83%e5%85%a8%e8%a8%98%e9%8c%845","status":"publish","type":"post","link":"https:\/\/vm1.go2see.me\/?p=313","title":{"rendered":"WSL2\u958b\u767c\u74b0\u5883\u5168\u8a18\u9304(5) \u5d4c\u5165\u5f0f\u5de5\u7a0b- Zephyr\u7bc7"},"content":{"rendered":"<h1>5. WSL2 \u5d4c\u5165\u5f0f\u5de5\u7a0b-<a class=\"wp-editor-md-post-content-link\" href=\"https\uff1a\/\/docs.zephyrproject.org\/3.2.0\/develop\/getting_started\/installation_linux.html#installation-linux\">Zephyr\u7bc7<\/a><\/h1>\n<p>\u96d6\u7136\u5b98\u7db2\u8aaa WSL\u56e0\u7232 \u88dd\u7f6e\u7121\u6cd5\u71d2\u9304\u4e0d\u5efa\u8b70\u7528 WSL\uff0c\u4f46\u6211\u5011\u53ef\u4ee5\u7528 usbipd\u9023\u63a5 USB \u88dd\u7f6e\u4e86\uff0c\u5269\u4e0b\u7684\u5de5\u4f5c\u540c Ubuntu\uff0c\u4e0d\u5fc5\u518d\u70ba Windows\u5b89\u88dd\u5947\u5947\u602a\u602a\u7684\u6771\u897f\u4e86\u3002\u3002\u3002<\/p>\n<h2>22.04 \u524d\u7684 Ubuntu \u8981\u6dfb\u52a0 apt \u6e90\uff1a<\/h2>\n<pre><code class=\"language-sh line-numbers\">wget https\uff1a\/\/apt.kitware.com\/kitware-archive.sh\nsudo bash kitware-archive.sh\n<\/code><\/pre>\n<h2>\u7de8\u8b6f\u74b0\u5883\uff1a<\/h2>\n<pre><code class=\"language-sh line-numbers\">sudo apt-get install --no-install-recommends git cmake ninja-build gperf \\\n  ccache dfu-util device-tree-compiler wget \\\n  python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file libpython3.8-dev \\\n  make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1\n<\/code><\/pre>\n<h2>\u5b89\u88dd cmake\uff1a<\/h2>\n<pre><code class=\"language-sh line-numbers\">sudo snap install cmake --classic\n<\/code><\/pre>\n<h2>\u53d6\u5f97 zephyrSDK\uff1a<\/h2>\n<p>(current stable version\uff1a v0.15.2)\uff1a <span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u6211\u653e\u5728 ~\/.local \u4e0b\uff08\u53c3\u8003\u5b98\u7db2\u5efa\u8b70notes\uff09\u3002<\/span><\/p>\n<pre><code class=\"language-sh line-numbers\">cd ~\/.local\n# (see notes)\nwget https\uff1a\/\/github.com\/zephyrproject-rtos\/sdk-ng\/releases\/download\/v0.15.2\/zephyr-sdk-0.15.2_linux-x86_64.tar.gz\nwget -O - https\uff1a\/\/github.com\/zephyrproject-rtos\/sdk-ng\/releases\/download\/v0.15.2\/sha256.sum | shasum --check --ignore-missing\n\ntar xvf zephyr-sdk-0.15.2_linux-x86_64.tar.gz\n\ncd zephyr-sdk-0.15.2\n.\/setup.sh\n# If you want to uninstall the SDK\uff0c remove the directory where you installed it\u3002If you relocate the SDK directory\uff0c you need to re-run the setup script.\n<\/code><\/pre>\n<blockquote><p>\n  It is recommended to extract the Zephyr SDK bundle at one of the following locations\uff1a<\/p>\n<ul>\n<li><code>$HOME<\/code><\/li>\n<li><code>$HOME\/.local<\/code><\/li>\n<li><code>$HOME\/.local\/opt<\/code><\/li>\n<li><code>$HOME\/bin<\/code><\/li>\n<li><code>\/opt<\/code><\/li>\n<li><code>\/usr\/local<\/code><\/li>\n<\/ul>\n<p>  The Zephyr SDK bundle archive contains the <code>zephyr-sdk-0.15.2<\/code> directory and\uff0cwhen extracted under <code>$HOME<\/code>\uff0cthe resulting installation path will be `$HOME\/zephyr-sdk-0.15.2.<\/p>\n<p>  <strong>If you install the Zephyr SDK outside any of these locations\uff0cyou must register the Zephyr SDK in the CMake package registry by running the setup script\uff0cor set <a class=\"wp-editor-md-post-content-link\" href=\"https\uff1a\/\/docs.zephyrproject.org\/3.2.0\/develop\/env_vars.html#envvar-ZEPHYR_SDK_INSTALL_DIR\"><code>ZEPHYR_SDK_INSTALL_DIR<\/code><\/a> to point to the Zephyr SDK installation directory.<\/strong>\n<\/p><\/blockquote>\n<h2>\u5b89\u88dd West\u8207 Zephyr Source Code\uff1a<\/h2>\n<ol>\n<li>Install west\uff0cand make sure <code>~\/.local\/bin<\/code> is on your <a class=\"wp-editor-md-post-content-link\" href=\"https\uff1a\/\/docs.zephyrproject.org\/3.2.0\/develop\/env_vars.html#envvar-PATH\"><code>PATH<\/code><\/a> <a class=\"wp-editor-md-post-content-link\" href=\"https\uff1a\/\/docs.zephyrproject.org\/3.2.0\/develop\/env_vars.html#env-vars\">environment variable<\/a>\uff1a\n<pre><code class=\"language-sh line-numbers\">pip3 install --user -U west\necho 'export PATH=~\/.local\/bin\uff1a\"$PATH\"' &gt;&gt; ~\/.bashrc\nsource ~\/.bashrc\n<\/code><\/pre>\n<\/li>\n<li>Get the Zephyr source code\uff1a\n<pre><code class=\"language-sh line-numbers\">west init ~\/zephyrproject\ncd ~\/zephyrproject\nwest update\n<\/code><\/pre>\n<\/li>\n<li>Export a <a class=\"wp-editor-md-post-content-link\" href=\"https\uff1a\/\/docs.zephyrproject.org\/3.2.0\/build\/zephyr_cmake_package.html#cmake-pkg\">Zephyr CMake package<\/a>\u3002This allows CMake to automatically load boilerplate code required for building Zephyr applications.\n<pre><code class=\"language-sh line-numbers\">west zephyr-export\n<\/code><\/pre>\n<\/li>\n<li>Zephyr\u2019s <code>scripts\/requirements.txt<\/code> file declares additional Python dependencies\u3002Install them with <code>pip3<\/code>.\n<pre><code class=\"line-numbers\">pip3 install --user -r ~\/zephyrproject\/zephyr\/scripts\/requirements.txt\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>\u3010\u672a\u6574\u7406\u5b8c\uff0c\u5f85\u4fee\u6539\u3002\u3002\u3002\u3011<\/p>\n","protected":false},"excerpt":{"rendered":"<p>5. WSL2 \u5d4c\u5165\u5f0f\u5de5\u7a0b-Zephyr\u7bc7 \u96d6\u7136\u5b98\u7db2\u8aaa WSL\u56e0\u7232 \u88dd\u7f6e\u7121\u6cd5\u71d2\u9304\u4e0d\u5efa\u8b70\u7528 WSL\uff0c\u4f46\u6211\u5011\u53ef\u4ee5\u7528&#8230; &raquo; <a class=\"read-more-link\" href=\"https:\/\/vm1.go2see.me\/?p=313\">\u95b1\u8b80\u5168\u6587<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,13],"tags":[],"class_list":["post-313","post","type-post","status-publish","format-standard","hentry","category-embedded","category-wsl"],"_links":{"self":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts\/313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=313"}],"version-history":[{"count":5,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts\/313\/revisions"}],"predecessor-version":[{"id":343,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts\/313\/revisions\/343"}],"wp:attachment":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}