User Tools

Site Tools


installing_gnu_on_osx

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
installing_gnu_on_osx [2010/11/30 20:08]
philetaylor
installing_gnu_on_osx [2011/05/21 20:52] (current)
admin moved page
Line 1: Line 1:
-====How to set up the toolchain for coding MIOS32 apps with OS X==== +Now located under [[macos_mios32_toolchain_core]]
- +
-You have probably already installed the developper tools provided by apple. You need them before going further. (if you have installed XCode, that's fine). +
- +
-===steps:​=== +
-0- about the terminal\\ +
-1- get the mios32 files from the repository server\\  +
-2- install the STM32 toolchain\\  +
-3- configure the paths\\  +
- +
-===0- about the terminal=== +
- +
-Most of the things now will be done with the Terminal, if you don't know anything about it here are the basic commands you need:\\  +
-Launch it from your "​utilities"​ folder.\\  +
-After each command, press "​enter"​ to validate it. +
- +
-Type "​pwd"​ to show the actual path of where you are.\\  +
-Type "​ls"​ to list all the files and directories in your current directory\\  +
-Type "cd aDirectoryName"​ to go inside that directory\\  +
-Type "cd aPath" to go to a particular path\\  +
-Type "cd .." to go to the parent directory\\  +
-Type "cd ~" to go to your home directory +
- +
-A nice shortcut if you want to go to a particular folder without having to type the full path is to type "cd " in the terminal, then open the parent directory of the one you want to go in with the finder, and drag and drop the folder icon inside the terminal. It's path will appear by magic, press "​enter"​.  +
- +
-===1- get the files from the repository server=== +
- +
-The simplest way to do this is to get the "​svnX"​ software, launch it, in the "​repositories"​ window click on the "​+"​ sign, give a name to the repository, put the repository path in the path field: [[svn://​svnmios.midibox.org/​mios32|svn://​svnmios.midibox.org/​mios32]] and double clic on the repository name to get a connexion.\\  +
-Then you are able to drag and drop the "​trunk"​ folder from the server to wherever you want on your computer. I suggest that you create an "​snv"​ folder in your home directory, then a "​mios32"​ folder and to put the dragged "​trunk"​ folder inside that folder. +
-Now the Unix path of your mios32 files is "​~/​svn/​mios32/​trunk"​ ( "​~"​ stands for "home directory"​). +
- +
-You can also do this from Xcode itself:\\  +
-In the "​SCM"​ menu choose "​configure SCM repositories"​.\\  +
-Under the repositories list clic on the "​+"​ button to add a repository. Give it a name (mios32 for example), and change the "SCM system"​ to "​Subversion"​.\\  +
-Then in the "​path"​ field put the repository server path: [[svn://​svnmios.midibox.org/​mios32|svn://​svnmios.midibox.org/​mios32]] and clic "​OK"​.\\  +
-In the "​SCM"​ menu choose "​repositories",​ you now have the repository window where you can access to the mios32 files. +
- +
-===2- install the STM32 toolchain=== +
- +
-The MIDIbox community have created a modified GNU Compiler Collection, ready for use with the ARM Cortex M3 platform. The toolchain contains all of the tools required to build MIOS32 applications including GCC and NEWLIB.  +
- +
-The Toolchain has currently been compiled for Windows (2000+), Mac OS X (Leopard or newer) and Linux x86 (built on Ubuntu 10.10). +
- +
-The download directory for the toolchain is ftp://​ftp.lansystems.co.uk/​pub/​midibox +
- +
-Download the latest "​macos"​ file and unzip into your favorite directory, If you unzip into /usr/local the toolchain will create /​usr/​local/​mios32_toolchain and various sub-directories containing the toolchain files. +
- +
-You now need to set the path variable for the toolchain bin directory (/​usr/​local/​mios32_toolchain/​bin),​ see the next section about this +
- +
-===3- set up the paths variables=== +
- +
-For those who don't know anything about Unix like me a few days ago, here's a quick explanation:​\\  +
-In Unix we call a shell the piece of software that provides an interface for users. For example, when you use the terminal in OS X, you are talking to the computer through the "​bash"​ shell.\\  +
-Your compiler also uses the shell to access to the different files involved. Thus, it has to know where to find these files. ​ For this, we set up variables in the shell. For example, we will put the path of your mios32 folder in the variable "​MIOS32_PATH"​ so that when the compiler will want to check inside your "​mios32"​ folder, it will just call this variable. +
- +
-Setting up path variables in the shell is quite easy: in a terminal window just type\\  +
-''​export VARIABLE_NAME=something''​\\  +
-and if you want to check to what the variable has been assigned, type:\\  +
-''​echo $VARIABLE_NAME''​\\  +
-this will print what's inside the variable.\\  +
-For example, type\\  +
-''​export MIOS32_PATH=~/​svn/​mios32/​trunk''​\\  +
-to set up the mios32 folder path, then type\\  +
-''​echo $MIOS32_PATH''​\\  +
-to check that the path variable has been assigned. +
- +
-In our case, we need to set up the path variable for the STM32 toolchain:​ +
-type in the terminal\\  +
-''​export PATH=$PATH:/​usr/​local/​stm32/​bin''​\\  +
-and then we need to set up variables for mios32 itself:\\  +
-''​export MIOS32_PATH=~/​svn/​mios32/​trunk\\  +
-export MIOS32_BIN_PATH=$MIOS32_PATH/​bin\\  +
-export MIOS32_GCC_PREFIX=arm-none-eabi\\  +
-export MIOS32_FAMILY=STM32F10x\\  +
-export MIOS32_PROCESSOR=STM32F103RE\\  +
-export MIOS32_BOARD=MBHP_CORE_STM32\\  +
-export MIOS32_LCD=clcd''​\\  +
-Here I considered that you have put all the files downloaded from the svn server in the directory "​~/​svn/​mios32/​trunk"​ but up to you to put them elsewhere if you want and change the "​MIOS32_PATH"​ variable accordingly. +
- +
-Now everything is set up to compile properly your projects. Test if everything is OK, open a terminal window, type\\  +
-''​cd $MIOS32_PATH/​apps/​tutorials/​001_forwarding_midi''​\\  +
-to go to the "​forwarding_midi"​ tutorial folder and type\\  +
-''​make -s''​\\  +
-you should have a return looking like this:\\  +
-''​-------------------------------------------------------------------------------\\  +
-Application successfully built for:\\  +
-Processor: STM32F103RE\\  +
-Family: ​   STM32F10x\\  +
-Board: ​    ​MBHP_CORE_STM32\\  +
-LCD:       ​clcd\\  +
--------------------------------------------------------------------------------''​\\  +
-and with the finder, go to this tutorial folder, you should have now a .hex file uploadable to your core32 with "​MIOSStudio beta 9". +
- +
-The annoying point there is that the variables you set up in the shell just disappear when you shut down or log off your computer. That means you have to set them up again when you power on your computer again. There'​s a way to avoid this annoying stuff:\\  +
-The shell will always read particular files before starting up. If you put these variables there they will always be set up. I didn't really understood if the proper file was    "​~/​.bash_profile"​ "​~/​.bash_login"​ "​~/​.profile"​ or "/​etc/​profile"​ to do that, it looks like they all do the job.\\  +
-Moreover, all these files are hidden from the finder, so the best way to edit them is to open a terminal window and edit them with the "​pico"​ editor.\\  +
-If you don't understand what's going on, here's what I did: +
- +
-in a terminal window, type:\\  +
-''​pico ~/​.profile''​\\  +
-then copy and paste these lines inside the pico editor:\\  +
- +
-''​export PATH=$PATH:/​usr/​local/​stm32/​bin\\  +
-export MIOS32_PATH=~/​svn/​mios32/​trunk\\  +
-export MIOS32_BIN_PATH=$MIOS32_PATH/​bin\\  +
-export MIOS32_GCC_PREFIX=arm-none-eabi\\  +
-export MIOS32_FAMILY=STM32F10x\\  +
-export MIOS32_PROCESSOR=STM32F103RE\\  +
-export MIOS32_BOARD=MBHP_CORE_STM32\\  +
-export MIOS32_LCD=clcd\\ +
-echo MIOS32 variables initialized.''​\\  +
- +
-do "​ctrl-O"​ to save the file\\  +
-do "​ctrl-X"​ to exit\\  +
- +
-Once you open a new terminal, the variables will be set automatically,​ and you should see the "​MIOS32 variables initialized"​ message.\\ +
-It isn't required to log off or shut down your computer to test this.\\  +
-Open a terminal window and check if the variables are all set up by typing:\\  +
-''​echo $MIOS32_PATH''​ for example.\\  +
-If you don't see the messages (and MIOS32 variables don't exist), that's probably because a .bash_login or .bash_profile already exists (edit only an already existing file - of none exists, use .profile).\\  +
-Useful info about bash and initialisation files here:\\  +
-[[http://​johnnywey.wordpress.com/​2008/​04/​17/​fixing-bash-profile-in-os-x/​|http://​johnnywey.wordpress.com/​2008/​04/​17/​fixing-bash-profile-in-os-x/​]]\\  +
-and here:\\  +
-[[http://​macdevcenter.com/​pub/​a/​mac/​2004/​02/​24/​bash.html|http://​macdevcenter.com/​pub/​a/​mac/​2004/​02/​24/​bash.html]]\\  +
  
installing_gnu_on_osx.1291147725.txt.gz · Last modified: 2010/11/30 20:08 by philetaylor