Template:ArticleMainWriter Template:ArticleApprovedVersion
1. Purpose[edit | edit source]
This article explains and describes the hardware configuration required to be able to activate and run the STM32 MPU platforms.
2. Recommended PC configurations[edit | edit source]
The PC requirements depend on the Package you want to use.
The table below guides through the selection and configuration of the host PC environment according the targeted Package:
Host Environment | Starter Package | Developer Package | Distribution Package |
---|---|---|---|
Windows (64 bits) Tested with Windows7 and Windows10 Prefered version Windows 10 |
native | Virtual Machine | Virtual Machine |
Linux (64 bits) Tested with Ubuntu 16.04 |
native | native + additional packages (see Linux PC chapter ) | native + additional packages (see Linux PC chapter ) |
There are no absolute minimal requirements regarding the PC hardware configuration, however ST recommends to meet or exceed the following hardware configurations when using Developer Package or Distribution Package.
The table below correspond to the minimal validated configuration:
Hardware item | Minimal validated configuration | Comments / Recommandations |
---|---|---|
CPU | core i5-2540M @ 2.6GHz 2 cores (4 threads) 3MB cache |
64 bits instruction set is mandatory 8 cores/threads or more is a good config moreover for Developer Package and Distribution Package. |
RAM | 8GB | 16GB or more is recommended especially for Virtual Machine setup , Developer Package and Distribution Package. |
Hard Drive | 320GB | 1TB is probably a better config when using Distribution Package |
3. Linux PC[edit | edit source]
A Linux PC with Ubuntu 16.04 is the recommended setup. Other Ubuntu revisions should also be supported, please refer to Yocto Manual[1] .
Template:Info
3.1. Check Internet access[edit | edit source]
- An Internet access through http and https protocols must be provided.
Required for Developer Package and Distribution Package at least.
The command below allows to check for Internet access through http/https protocols:
Template: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."
If a 'OK' message is returned, the network is well configured. In such case, skip the rest of this section and jump to next one (Install extra packages).
Any other situation likely indicates the need for a proxy for http/https protocols.
The best solution to set a proxy for http/https protocols is via the shell variables http_proxy and https_proxy:
Template:PC$ export http_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort> Template:PC$ export https_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort>
Check again the Internet access with command:
Template: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."
- Internet access for sudo commands
Required for Distribution Package.
Template:InternalInfo
sudo commands are executed in the root user environment; by default, no Internet proxy settings are applied for root user.
Root user should be able to browse Internet, after creation of an alias passing the proxy settings on sudo command:
Template:PC$ alias sudo='sudo http_proxy=$http_proxy'
Check that the sudo commands is successful (requires Internet access):
Template:PC$ sudo apt-get update
- Internet over git://, ssh:// and others specifics protocols
Required for Distribution Package.
In addition to http/https protocols (used in 90% of the Internet traffic), some other protocols like git:// or ssh:// may be required.
For example in the context of the Distribution Package, some "git fetch" commands could require "git:// protocols".
In order to support these protocols through a proxy, the best way is to directly setup the proxy in the $HOME/.gitconfig file (core.gitproxy) and use a tool like cockscrew[2] in order to tunnel the git:// flow into the http flow:
Template:PC$ sudo apt-get update Template:PC$ sudo apt-get install corkscrew Template:PC$ git config --replace-all --global core.gitproxy "$HOME/bin/git-proxy.sh" Template:PC$ git config --add --global core.gitproxy "none for <MyPrivateNetworkDomain>" (optionnal and for example .st.com, localhost, ...) Template:PC$ echo 'exec corkscrew <MyProxyServerUrl> <MyProxyPort> $* $HOME/.git-proxy.auth' > $HOME/bin/git-proxy.sh Template:PC$ chmod 700 $HOME/bin/git-proxy.sh Template:PC$ echo '<MyProxyLogin>:<MyProxyPassword>' > $HOME/.git-proxy.auth Template:PC$ chmod 600 $HOME/.git-proxy.auth
Here is a command to test this proxy settings:
Template:PC$ git ls-remote git://git.openembedded.org/openembedded-core > /dev/null && echo OK || echo KO
The command should return 'OK', else proxy settings are wrong.
3.2. Install extra packages[edit | edit source]
Required for Developer Package and Distribution Package.
In order to do basic development tasks, basic cross-compilation (via Developer Package) or more complex cross-compilation as OpenEmbedded does (via Distribution Package), some extra Ubuntu packages should be installed:
Template:PC$ sudo apt-get update Template:PC$ sudo apt-get install sed wget curl cvs subversion git-core coreutils unzip texi2html texinfo docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ desktop-file-utils chrpath libxml2-utils xmlto docbook bsdmainutils iputils-ping cpio python-wand python-pycryptopp python-crypto
Template:PC$ sudo apt-get install libsdl1.2-dev xterm corkscrew nfs-common nfs-kernel-server device-tree-compiler mercurial u-boot-tools libarchive-zip-perl Template:PC$ sudo apt-get install ncurses-dev bc linux-headers-generic gcc-multilib libncurses5-dev libncursesw5-dev lrzsz dos2unix lib32ncurses5 repo libssl-dev
3.2.1. Install extra packages for Android[edit | edit source]
3.3. Additionnal configurations[edit | edit source]
- Allow up to 16 partitions per mmc
By default, on Linux system, a maximum of 8 partitions are allowed on mmc. All Packages (Starter Package, ...) need more than 10 partitons for the storage device. In order to extend the number of partitions per device to 16, the following options must be added to modprobe:
Template:PC$ echo 'options mmc_block perdev_minors=16' > /tmp/mmc_block.conf Template:PC$ sudo mv /tmp/mmc_block.conf /etc/modprobe.d/mmc_block.conf
- Check for locale setup
Required for Distribution Package.
The locale setting is used by some applications/commands (including by Distribution Package applications/commands).
Verify that the locale settings are as follows:
Template:PC$ locale LANG=en-US.UTF-8
In case the locale command returns a different configuration than the one shown above, it must be reconfigured as follows:
Template:PC$ sudo update-locale LANG=en_US.UTF-8
Then reboot the PC.
- Add user in basics groups
The user login should belong to the basic Linux groups such as disk, tty, dialout or plugdev
Use the command groups to list groups for the current user:
Template:PC$ groups
If needed add user to the missing <groups>:
Template:PC$ sudo adduser $USER <group>
3.4. Setup Git user information[edit | edit source]
Required for Developer Package and Distribution Package.
The User Information is needed by git[3] in case commit and/or push commands are being used :
Template:PC$ git config --global user.name "Your Name" Template:PC$ git config --global user.email "you@example.com"
4. Windows PC[edit | edit source]
Starter Package may run on Windows.
Developer Package and Distribution Package require a Linux environment.
There are several ways to run Linux system on top of a Windows host PC, ST recommends to use a Virtual Machine System:
- Install a virtual machine such as VMWare [4]
- Setup a 64 bits Ubuntu image compatible with your virtual machine
4.1. Virtual Machine installation[edit | edit source]
ST has selected VMWare as Linux virtual machine solution.
VMWare is a commercial company specialized in virtualization solutions. The available solutions to support a virtual Linux machine on a Windows PC are: Template:ReviewsComments
- VMWare Workstation (paid solution) for commercial use (download here [5])
- VMWare Workstation (free solution) for home use (download here [6])
Please proceed with the installation of the virtual machine.
4.2. Download the Ubuntu image for the virtual machine[edit | edit source]
The "osboxes.org" [7] website provides virtual machine images compatible with VMWare(*.vmdk).
Download the 64 bits Ubuntu image available at [8] and:
- Unzip the downloaded file
- In VMware create a virtual machine using the Ubuntu virtual disk downloaded from osboxes.org.
The recommended usage is to dedicate, at least, half of the host machine to the virtual machine:
- 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.
Template:ReviewsComments Template:Highlight Template:Info
4.3. Launch of Ubuntu image[edit | edit source]
Template:Warning Default Credentials of the Ubuntu are set to "osboxes.org" for both login and password.
For a better experience with the VMware virtual machine, install "vmware-tools" in order to be able to use the clipboard to drag-and-drop and copy/paste files between VMware and Windows. A step-by-step installation procedure of vmware-tools is available in the document: PreRequisite-Vmware-tools.pdf
The virtual machine is up and running!
4.4. References[edit | edit source]
- ↑ 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
- ↑ http://www.vmware.com/products/workstation.html
- ↑ http://www.vmware.com/products/player/playerpro-evaluation.html
- ↑ http://osboxes.org
- ↑ http://www.osboxes.org/ubuntu/#ubuntu-16-04-vmware