<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.ethernut.de/nutwiki/index.php?action=history&amp;feed=atom&amp;title=UnixEmulationInstallation</id>
		<title>UnixEmulationInstallation - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.ethernut.de/nutwiki/index.php?action=history&amp;feed=atom&amp;title=UnixEmulationInstallation"/>
		<link rel="alternate" type="text/html" href="http://www.ethernut.de/nutwiki/index.php?title=UnixEmulationInstallation&amp;action=history"/>
		<updated>2026-04-28T22:49:07Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.ethernut.de/nutwiki/index.php?title=UnixEmulationInstallation&amp;diff=288&amp;oldid=prev</id>
		<title>Harald: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://www.ethernut.de/nutwiki/index.php?title=UnixEmulationInstallation&amp;diff=288&amp;oldid=prev"/>
				<updated>2016-10-27T16:03:02Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 16:03, 27 October 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='en'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Harald</name></author>	</entry>

	<entry>
		<id>http://www.ethernut.de/nutwiki/index.php?title=UnixEmulationInstallation&amp;diff=287&amp;oldid=prev</id>
		<title>Mmueller: fixes for NutOS 4.4</title>
		<link rel="alternate" type="text/html" href="http://www.ethernut.de/nutwiki/index.php?title=UnixEmulationInstallation&amp;diff=287&amp;oldid=prev"/>
				<updated>2008-07-03T14:46:28Z</updated>
		
		<summary type="html">&lt;p&gt;fixes for NutOS 4.4&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Install instructions for Unix Emulation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Software versions tested: &lt;br /&gt;
* GCC 4.03 (Ubuntu Dapper) or GCC 4.1.2 (Ubuntu Feisty) &lt;br /&gt;
* Ethernut 4.2.1&lt;br /&gt;
* Mac OS X 10.5 (GCC 4.0)&lt;br /&gt;
* Ethernut 4.4.1&lt;br /&gt;
&lt;br /&gt;
=== Extract the source code of the Ethernut OS ===&lt;br /&gt;
   tar xvfj ethernut-4.2.1.tar.bz2&lt;br /&gt;
&lt;br /&gt;
=== Enter the new folder and prepare the system for Unix emulation ===&lt;br /&gt;
   cd ethernut-4.2.1&lt;br /&gt;
   ./nutsetup&lt;br /&gt;
Enter 5 for Unix Emulation&lt;br /&gt;
&lt;br /&gt;
=== Fix some troublemakers ===&lt;br /&gt;
&lt;br /&gt;
The 4.x version of the GCC compiler seems to be more sensitive to C-Code&lt;br /&gt;
correctness than former versions. This results in error messages while &lt;br /&gt;
trying to compile the NutOS directly.&lt;br /&gt;
&lt;br /&gt;
Found issues in the sourcecode and fixes to make it run:&lt;br /&gt;
&lt;br /&gt;
* arch/unix/dev/ostimer.c&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Ethernut 4.4 needs following line to be commented out (please explain it to me - seems useless on the one hand to declare function with attribute noreturn and on the other hand have the returntype void *)&lt;br /&gt;
&lt;br /&gt;
 //void *NutTimerEmulation(void *) __attribute__ ((noreturn));&lt;br /&gt;
&lt;br /&gt;
missing return at the end of function NutTimerEmulation - solution:&lt;br /&gt;
&lt;br /&gt;
add &lt;br /&gt;
 return(NULL);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
at the end of this function&lt;br /&gt;
&lt;br /&gt;
* arch/unix/os/nutinit.c&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Ethernut 4.4 needs following line to be commented out again&lt;br /&gt;
&lt;br /&gt;
 //void *NutInterruptEmulation(void *) __attribute__ ((noreturn));&lt;br /&gt;
&lt;br /&gt;
another missing return at the end of function NutInterruptEmulation - solution:&lt;br /&gt;
&lt;br /&gt;
again add &lt;br /&gt;
&lt;br /&gt;
    return(NULL);&lt;br /&gt;
&lt;br /&gt;
at the end of this function&lt;br /&gt;
&lt;br /&gt;
* the missing return at some functions error also appears at some&lt;br /&gt;
example applications. Eg. with many THREAD definitions it is &lt;br /&gt;
necessary to add a - useless because actually never reached - &lt;br /&gt;
return value to the end of concerning functions.&lt;br /&gt;
&lt;br /&gt;
* error messages at different device drivers with unsupported direct &lt;br /&gt;
hardware access - quick and dirty solution:&lt;br /&gt;
&lt;br /&gt;
remove the following files (line beginning with SRCS = )from the &lt;br /&gt;
makefile in the dev/ folder and prevent the compilation of the - &lt;br /&gt;
in this environment - useless drivers &lt;br /&gt;
 twbbif.c npl.c nplmmc.c sbimmc.c&lt;br /&gt;
&lt;br /&gt;
* some of the file system drivers cause trouble. So remove them out of the Makefile:&lt;br /&gt;
&lt;br /&gt;
fs/Makefile :&lt;br /&gt;
&lt;br /&gt;
 #SRCS = pathops.c dirent.c fat.c uromfs.c pnutfs.c \&lt;br /&gt;
 #       phatfs.c phatvol.c phatdir.c phatio.c \&lt;br /&gt;
 #       phat12.c phat16.c phat32.c phatutil.c phatdbg.c&lt;br /&gt;
 &lt;br /&gt;
 SRCS = uromfs.c &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Compile the sources and install the libraries ===&lt;br /&gt;
&lt;br /&gt;
 cd lib&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Adaptations at the example applications ===&lt;br /&gt;
&lt;br /&gt;
By default hex-files for usage with mikrocontroller hardware &lt;br /&gt;
are built. For Unix emulation this hardly makes sense so &lt;br /&gt;
change the target definition of the application Makefile &lt;br /&gt;
from .hex to .elf&lt;br /&gt;
&lt;br /&gt;
 TARG =  $(PROJ).elf&lt;br /&gt;
&lt;br /&gt;
If the application directory is not inside the default example &lt;br /&gt;
directory some Makefile variables of the application have to&lt;br /&gt;
be adapted. &lt;br /&gt;
&lt;br /&gt;
The Path /opt/ethernut-4.2.1_unixEmul/ has to be changed &lt;br /&gt;
accordingly&lt;br /&gt;
&lt;br /&gt;
Eg.:&lt;br /&gt;
&lt;br /&gt;
 top_srcdir = /opt/ethernut-4.2.1_unixEmul/&lt;br /&gt;
 LIBDIR = /opt/ethernut-4.2.1_unixEmul/lib/gcc/unix&lt;br /&gt;
 NUTPATH = /opt/ethernut-4.2.1_unixEmul/&lt;br /&gt;
&lt;br /&gt;
=== Run the application ===&lt;br /&gt;
&lt;br /&gt;
The built application can directly be executed&lt;br /&gt;
 ./application.elf&lt;br /&gt;
and should be debuggable this way more easily than with the&lt;br /&gt;
embedded hardware.&lt;/div&gt;</summary>
		<author><name>Mmueller</name></author>	</entry>

	</feed>