推荐设置:本地Linux PC |
目录
[隐藏]1 目的[edit]
本文介绍并描述了激活和运行STM32 MPU平台所需的硬件配置。
2 推荐的PC配置[edit]
PC要求取决于要使用的软件包。
下表为根据目标软件包选择和配置主机PC环境提供了指导:
主机环境 | 入门包 | 开发者软件包 | 分发软件包 |
---|---|---|---|
Windows(64位) 使用Windows7和Windows10进行测试 首选版本Windows 10 |
本地 | 虚拟机 | 虚拟机 |
Linux(64位) 使用Ubuntu 18.04 和 16.04进行测试 |
本地 | 本地 + 其他软件包(参见Linux PC章节) | 本地 + 其他软件包(参见Linux PC章节) |
尽管对PC硬件配置没有绝对的最低要求,但意法半导体建议在使用开发者软件包或分发软件包时满足或超过以下硬件配置要求。
下表与经过验证的最低配置对应:
硬件项目 | 经过验证的最低配置 | 意见/建议 |
---|---|---|
CPU |
酷睿i5-2540M @ 2.6GHz 双核(4线程) 3MB缓存 |
必须采用64位指令集 8核/线程或更高配置为开发者软件包和分发软件包更进一步的良好配置。 |
RAM | 8GB | 建议采用16GB或更大的内存,尤其是对于虚拟机设置、开发者软件包and分发软件包。 |
硬盘驱动器 | 320GB | 使用分发软件包分发软件包时,1TB可能为更好的配置。 |
3 Linux PC[edit]
采用Ubuntu 18.04的Linux PC为建议设置。还应支持其他Ubuntu版本,请参阅Yocto手册[1]。
意法半导体解决方案已在运行Ubuntu 18.04 LTS(和Ubuntu 16.04 LTS)的Linux PC上进行过测试和验证。 |
3.1 检查Internet访问[edit]
- 必须提供通过http和https协议进行的Internet访问。
至少对于开发者软件包和分发软件包是必须的。
以下命令允许检查借助http/https协议的Internet访问:
PC $> wget -q www.google.com && echo "Internet access over HTTP/HTTPS is OK !" || echo "No internet access over HTTP/HTTPS ! You may need to set up a proxy."
如果返回“OK”消息,则说明网络配置正确。在这种情况下,请跳过该部分的其他选项,然后跳至下一个部分(安装其他软件包)。
任何其他情况均可能表明需要http/https协议代理。
为http/https协议设置代理的最佳解决方案为通过shell变量http_proxy和https_proxy:
PC $> export http_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort> PC $> export https_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort>
因为您的密码可能包含“特殊字符”,所以您需要将密码转换为ASCII十六进制代码。通过这种方式,您可以使用以下命令将<MyProxyPassword>转换为十六进制代码:
- PC $> echo -n " <MyProxyPassword>" | od -A n -t x1 -w128 | head -1 | tr " " "%"
使用以下命令再次检查Internet访问:
PC $> wget -q www.google.com && echo "Internet access over HTTP/HTTPS is OK !" || echo "No internet access over HTTP/HTTPS ! You may need to set up a proxy."
- sudoInternet访问命令
对于分发包是必须的。
sudo命令在root用户环境中执行;默认情况下,未将Internet代理设置应用于root用户。
在创建通过sudo命令传递代理设置的别名后,Root用户应能够浏览互联网:
PC $> alias sudo='sudo http_proxy=$http_proxy'
检查sudo命令是否成功(需要Internet访问):
PC $> sudo apt-get update
- 通过git://、ssh://以及其他特定协议来访问互联网
对于分发包分发包是必须的。
除了http/https协议外(用于90%的Internet流量),可能需要一些其他协议,如git://或ssh://。
例如,在分发软件包的上下文中,某些“git fetch”命令可能需要“git://协议”。
为了通过代理来支持这些协议,最佳方法为直接在$HOME/.gitconfig文件(core.gitproxy)中设置代理,并使用诸如 cockscrew[2] 的工具将git://流量转换为http流量:
PC $> sudo apt-get update PC $> sudo apt-get install corkscrew PC $> git config --replace-all --global core.gitproxy "$HOME/bin/git-proxy.sh" PC $> git config --add --global core.gitproxy "none for <MyPrivateNetworkDomain>" (optionnal and for example .st.com, localhost, ...) PC $> echo 'exec corkscrew <MyProxyServerUrl> <MyProxyPort> $* $HOME/.git-proxy.auth' > $HOME/bin/git-proxy.sh PC $> chmod 700 $HOME/bin/git-proxy.sh PC $> echo '<MyProxyLogin>:<MyProxyPassword>' > $HOME/.git-proxy.auth PC $> chmod 600 $HOME/.git-proxy.auth
以下是用于测试该代理设置的命令:
PC $> git ls-remote git://git.openembedded.org/openembedded-core > /dev/null && echo OK || echo KO
该命令应返回“OK”,否则代理设置错误。
3.2 安装额外的软件包[edit]
对于开发者软件包和分发软件包是必须的。
为执行基础开发任务、基础交叉编译(通过开发者软件包)或如OpenEmbedded进行的更复杂的交叉编译(通过分发软件包),应安装一些额外的Ubuntu软件包:
- OpenEmbedded/Yocto所需的软件包(此处为详细信息):
PC $> sudo apt-get update PC $> sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping PC $> sudo apt-get install libsdl1.2-dev xterm PC $> sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto PC $> sudo apt-get install python-git
- 一些“开发者软件包”用例所需的软件包:
PC $> sudo apt-get install ncurses-dev libncurses5-dev libncursesw5-dev lib32ncurses5 libssl-dev linux-headers-generic u-boot-tools device-tree-compiler bison flex g++
- 存储库软件包(用于下载“分发软件包”源代码):
PC $> sudo apt-get install repo
For Ubuntu 16.04 you should use the legacy repo, procedure to install 这里
- 一些有用的工具:
PC $> sudo apt-get install coreutils bsdmainutils sed curl bc lrzsz corkscrew cvs subversion mercurial nfs-common nfs-kernel-server libarchive-zip-perl dos2unix texi2html diffstat libxml2-utils
您也可以安装Java Runtime Engine,这对于STM32CubeMX和STM32CubeProgrammer是必须的。
PC $> sudo apt-get install default-jre
3.2.1 安装额外的Android软件包[edit]
以下信息与Android™发行版有关 在下载和安装STM32MPU distribution for Android™之前,确保您的系统满足以下要求:
有关更多详细信息,请参见AOSP网站的要求页面。
sudo apt-get update sudo apt-get install chrpath curl libxml2-utils gdisk pv python-pycryptopp python-crypto autotools-dev automake libusb-1.0-0-dev
在该阶段:您的环境已准备好用于Android构建、调试和测试。
|
3.3 其他配置[edit]
- 每个mmc最多允许16个分区
默认情况下,在Linux系统上,mmc最多允许8个分区。所有程序包(入门包...)均需要10个以上的存储设备分区。为了将每个设备的分区数扩展到16,必须将以下选项添加到modprobe:
PC $> echo 'options mmc_block perdev_minors=16' > /tmp/mmc_block.conf PC $> sudo mv /tmp/mmc_block.conf /etc/modprobe.d/mmc_block.conf
- 检查区域设置
对于分发包是必须的。
区域设置用于某些应用程序/命令(包括分发软件包应用程序/命令)。
验证区域设置是否如下:
PC $> locale LANG=en-US.UTF-8
如果locale命令返回与上面显示的配置不同的配置,则必须按以下方式重新配置:
PC $> sudo update-locale LANG=en_US.UTF-8
- 将用户添加到基本组中
用户登录应属于基本Linux组,如disk、tty、dialout或plugdev
使用groups命令来列出当前用户的组:
PC $> groups
如果需要,将用户添加到缺失的<组>:
PC $> sudo adduser $USER <group>
然后,重新启动PC。
3.4 设置Git用户信息[edit]
对于开发者软件包和分发软件包是必须的。
如果正在使用commit和/或push命令,则git[3]需要用户信息:
PC $> git config --global user.name "Your Name" PC $> git config --global user.email "you@example.com"
4 Windows PC[edit]
入门包可在Windows上运行。
开发者软件包和分发软件包需要Linux环境。
尽管根据报告,意法半导体解决方案在Linux虚拟机上运行时能够正常工作,但只根据Linux本地设置进行过验证... |
有几种方法可在Windows主机PC上运行Linux系统,意法半导体建议使用虚拟机系统:
- 装虚拟机,如VMWare[4]
- 设置与您的虚拟机兼容的64位Ubuntu映像
意法半导体还以实验方式在WSL2(Linux 2的Windows子系统)上运行了开发者软件包与分发软件包,参见WSL2章节。
4.1 虚拟机系统[edit]
4.1.1 虚拟机安装[edit]
意法半导体已选择VMWare作为Linux虚拟机解决方案。
VMWare是一家专门从事虚拟化解决方案的商业公司。支持在Windows PC上运行Linux虚拟机的可用解决方案包括:
请继续安装虚拟机。
在运行虚拟机之前,确保已在BIOS中激活虚拟化(对于任何零售PC,默认情况下应该已激活虚拟化)。
4.1.2 下载虚拟机的Ubuntu映像[edit]
"osboxes.org"[7]网站提供了与VMWare(*.vmdk)兼容的虚拟机映像。
已在Ubuntu 18.04(64位) 和Ubuntu 16.04(64位)上验证并测试安装程序。
在[8]上下载可用的64位Ubuntu映像,并执行以下操作:
- 解压下载的文件
- 在VMware中,使用从osboxes.org下载的Ubuntu虚拟磁盘创建虚拟机。
建议至少将主机的一半专用于虚拟机:
- CPU: 2 cores at least, - RAM: 6 Gbytes or more is a good choice (the more RAM allocated to Virtual Machine the better - the RAM allocated to Virtual Machine must be 2GB minimum), - Network: NAT is good and an easy way to benefit form a network connection within the virtual machine.
从osboxes.org下载的虚拟磁盘的虚拟大小约为500GB。即使虚拟磁盘文件的实际大小在开始时较小,但在编译分发软件包或开发者软件包后,大小可能增加到500GB。
对于VMware,您需要先创建默认虚拟机,然后添加以前下载的.vmdk文件。 |
4.1.3 启动Ubuntu映像[edit]
Ubuntu的默认登录名和密码的默认凭据均为“osboxes.org”。
调整屏幕分辨率: 虚拟机使用的(默认)分辨率为800x600(最小可用分辨率)。无法自动调整为显示器分辨率。为调整分辨率,请单击“设置”图标(屏幕顶部/右侧的“齿轮”),然后单击“系统设置...”。>“显示”并为显示器选择适当的分辨率(不要忘记单击“屏幕分辨率设置”窗口底部/左侧的“应用”按钮)。 |
为更好地使用VMware虚拟机,请安装“vmware-tools”,以便能够使用剪贴板在VMware和Windows之间拖放和复制/粘贴文件。以下文档提供了vmware-tools的分步安装过程:PreRequisite-Vmware-tools.pdf
虚拟机已启动并运行!
必须根据Linux PC章节中提供的建议来完成Ubuntu设置
4.2 WSL2(实验性)[edit]
管意法半导体强烈建议使用Linux®环境,开发者软件包和分发软件包仍可以在WSL2(Windows的Linux 2子系统)环境中工作。WSL是Windows 10®提供的功能。
意法半导体在WSL上未成功运行开发者软件包和分发软件包,但在WSL2上成功运行。WSL2自18917版开始在Windows 10®上可用。
WSL 2是该架构的新版本,它使Windows的Linux子系统能够在Windows上运行ELF64 Linux二进制文件(更多详情请访问aka.ms/wsl2)。
-
WSL2 - 安装 :
- 要安装WSL2,请阅读以下网页:https://docs.microsoft.com/fr-fr/windows/wsl/wsl2-install
- 安装WSL2后,请跳至#Linux_PC章节,以使WSL2准备好运行开发者软件包和/或分发软件包。
-
WSL2 - 限制 :
- 截止目前(09/2019),WSL2尚不支持USB设备、串口等硬件(更多详情)。
- 这意味着,应通过本地Windows使用STM32CubeProgrammer
- 无法通过Windows本地文件浏览器来浏览WSL2文件。
- 要在WSL2和Windows之间共享文件,首选方法为使用WSL2的挂载点/mnt/c并进行复制。
- 截止目前(09/2019),WSL2尚不支持USB设备、串口等硬件(更多详情)。
- WSL2 - 建议 :
4.3 参考[edit]
- 跳转 ↑ https://www.yoctoproject.org/docs/2.4.3/ref-manual/ref-manual.html#detailed-supported-distros
- 跳转 ↑ https://en.wikipedia.org/wiki/Corkscrew_(program)
- 跳转 ↑ Git
- 跳转 ↑ http://vmware.com
- 跳转 ↑ https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/15_0
- 跳转 ↑ https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html
- 跳转 ↑ http://osboxes.org
- 跳转 ↑ https://www.osboxes.org/ubuntu/#ubuntu-1804-vmware