嵌入式


环境搭建

<h3>Windows</h3> <ol> <li>若有公司防火墙,则设置访问internet代理 <pre><code>set HTTP_PROXY=http://user:password@proxy.mycompany.com:1234 set HTTPS_PROXY=http://user:password@proxy.mycompany.com:1234</code></pre></li> <li> <p>安装<code>Chocolatey</code>包管理器 参考<a href="https://chocolatey.org/install"><a href="https://chocolatey.org/install">https://chocolatey.org/install</a></a> 在<code>cmd.exe</code>执行</p> <pre><code>@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" &amp;&amp; SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"</code></pre> </li> <li> <p>关闭全局确认来避免安装过程需要确认安装的程序</p> <pre><code>choco feature enable -n allowGlobalConfirmation</code></pre> </li> <li> <p>安装<code>CMAKE</code></p> <pre><code>choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'</code></pre> </li> <li> <p>安装其他工具</p> <pre><code>choco install ninja dtc-msys2 gperf</code></pre> <blockquote> <p>git,python3已经安装了不用再安装</p> </blockquote> </li> <li> <p>关闭管理员命令行窗口</p> </li> <li> <p>下载Zephyr仓库</p> <pre><code>git clone https://github.com/zephyrproject-rtos/zephyr</code></pre> </li> <li> <p>安装python依赖</p> <pre><code># Linux pip3 install --user -r zephyr/scripts/requirements.txt # macOS and Windows pip3 install -r zephyr/scripts/requirements.txt</code></pre> <blockquote> <p>使用<code>--user</code>安装在基于Debian-based发行版中是默认的,在Linux系统中使用它可以防止与系统包管理器安装的python包产生冲突.</p> <p><code>linux</code>系统中<code>python user</code>安装目录在<code>~/.local/bin</code>下,并且<code>~/.local/bin</code>必须在PATH变量最前面</p> <p>升级setuptools,<code>pip install -U setuptools</code></p> <p><code>pyocd</code>使用最新版本</p> </blockquote> </li> <li> <p>配置工具链 <code>Windows</code>系统将<code>set</code>放到%userprofile%\zephyrrc.cmd.</p> <ul> <li><a href="https://developer.arm.com/open-source/gnu-toolchain/gnu-rm" title="GNU ARM工具链">GNU ARM工具链</a> 下载工具将其放到无空格的目录下如<code>C:\gnu_arm_embedded</code>,设置环境变量</li> </ul> <pre><code># Linux or macOS export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb export GNUARMEMB_TOOLCHAIN_PATH="~/gnu_arm_embedded" # Windows in cmd.exe set ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb set GNUARMEMB_TOOLCHAIN_PATH=C:\gnu_arm_embedded</code></pre> </li> </ol> <ul> <li> <p>其他交叉编译器</p> <ol> <li>安装交叉编译器 <pre><code># On Debian or Ubuntu sudo apt-get install gcc-arm-none-eabi # On Fedora or Red Hat sudo dnf install arm-none-eabi-newlib</code></pre></li> <li>配置环境变量 <pre><code>export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile export CROSS_COMPILE=/usr/bin/arm-none-eabi-</code></pre></li> </ol> </li> <li> <p>自定义<code>CMake</code>工具链</p> <pre><code># Linux and macOS export ZEPHYR_TOOLCHAIN_VARIANT=&lt;toolchain name&gt; export TOOLCHAIN_ROOT=&lt;path to toolchain&gt; # Windows set ZEPHYR_TOOLCHAIN_VARIANT=&lt;toolchain name&gt; set TOOLCHAIN_ROOT=&lt;path to toolchain&gt;</code></pre> <p><code>Zephry</code>将包含<code>&lt;path to toolchain&gt;/cmake/toolchain/&lt;toolchain name&gt;.cmake</code>.</p> </li> </ul>

页面列表

ITEM_HTML