74 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			74 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# $Id: INSTALL,v 1.8 2002/04/12 23:12:21 troth Exp $
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This file documents how to build and install simulavr on a unix-like system
							 | 
						||
| 
								 | 
							
								using the provided configure script.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Although it is not required, you should have already built and installed
							 | 
						||
| 
								 | 
							
								binutils for avr, avr-gcc, uisp and possibly avr-gdb. In order to build and
							 | 
						||
| 
								 | 
							
								use the test programs in test_asm/ and test_c/ directories, you must have
							 | 
						||
| 
								 | 
							
								avr gcc and avr binutils properly installed and in your PATH. If you don't
							 | 
						||
| 
								 | 
							
								have them installed, you should pass configure the "--disable-tests" option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If you want to use simulavr as a backend to gdb, see the README.gdb file in
							 | 
						||
| 
								 | 
							
								the simulavr source.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								To build simulavr, run this command in the top level directory:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $ ./configure
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This will configure simulavr to be installed in the default "/usr/local/"
							 | 
						||
| 
								 | 
							
								location. If you wish to install it in another location, use the
							 | 
						||
| 
								 | 
							
								"--prefix=<dir>" option to configure. It is posible to install in your home
							 | 
						||
| 
								 | 
							
								directory if you don't have root access to the "/usr/local/". For instance, I
							 | 
						||
| 
								 | 
							
								like to install software like this:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $ ./configure --prefix=$HOME/local/simulavr
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In this case, if you think that simulavr is crappy software, you can easily
							 | 
						||
| 
								 | 
							
								remove it by removing the "$HOME/local/simulavr" directory. If you wish to
							 | 
						||
| 
								 | 
							
								keep it, you might need to add "$HOME/local/simulavr/bin" to your PATH
							 | 
						||
| 
								 | 
							
								environment variable so that you can run it by just typing `simulavr` instead
							 | 
						||
| 
								 | 
							
								of the full path. Theoretically, you should be able to uninstall the installed
							 | 
						||
| 
								 | 
							
								files using the 'make uninstall' command.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If you wish to include more agressive build optimizations, do this:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   $ my_CFLAGS='-g -O2 -Wall -fomit-frame-pointer -finline-functions \
							 | 
						||
| 
								 | 
							
								   > -march=i686 -mcpu=i686"
							 | 
						||
| 
								 | 
							
								   $ CFLAGS=$my_CFLAGS ./configure
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								I have seen significant speedups using the above optimizations on my Pentium
							 | 
						||
| 
								 | 
							
								Pro development system. You may have better luck with other CFLAGS values. See
							 | 
						||
| 
								 | 
							
								`man gcc` for other compiler flags. Of course, if you aren't using gcc, your
							 | 
						||
| 
								 | 
							
								CFLAGS choices may be quite different.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Once you have run the configure script, you can build and install the
							 | 
						||
| 
								 | 
							
								simulator.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $ make
							 | 
						||
| 
								 | 
							
								    $ make install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If the build fails while trying to build the programs in the test_c directory
							 | 
						||
| 
								 | 
							
								complaining about not being able to find the avr libc header files, you will
							 | 
						||
| 
								 | 
							
								have to tell the build system where those files are located. This is done by
							 | 
						||
| 
								 | 
							
								passing an option to configure:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $ ./configure --with-avr-include=<your path to avr include files>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								To view all the available configure options, use the "--help" configure
							 | 
						||
| 
								 | 
							
								option:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $ ./configure --help
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If you wish to verify that your build of the simulator works, run the
							 | 
						||
| 
								 | 
							
								regression tests like this:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									$ make check
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This will automatically build simulavr if needed. The regression test engine
							 | 
						||
| 
								 | 
							
								automatically starts up an instance of simulavr to run the tests. If any test
							 | 
						||
| 
								 | 
							
								fails, I want to hear about it, so send me an email.
							 | 
						||
| 
								 | 
							
								
							 |