<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.elphel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Skinkie</id>
		<title>ElphelWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.elphel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Skinkie"/>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/wiki/Special:Contributions/Skinkie"/>
		<updated>2026-05-12T09:45:29Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8845</id>
		<title>FFT Cuda</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8845"/>
				<updated>2010-11-05T01:23:38Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Input ===&lt;br /&gt;
* Image is presented in TIFF file structure&lt;br /&gt;
* Array of, FFT of kernels (64x64)&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Take a windows 128x128, step by 32 pixels&lt;br /&gt;
* Make a FFT (DFT_2D)&lt;br /&gt;
* Get nth-kernel, pad 32px zero's to each side&lt;br /&gt;
* Multiply FFT with kernel&lt;br /&gt;
* Inverse FFT of the result&lt;br /&gt;
* Save 128x128 window to the n'th position in the TIFF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Knowledge required ===&lt;br /&gt;
CuFFT is modeled after FFTW. To create a new operation we start with cufftPlan2d. The actual operation happens wth cufftExecC2C. cufftExecC2C takes input and output data, respectivily idata and odata in GPU memory.&lt;br /&gt;
&lt;br /&gt;
To use the GPU memory use cudaMalloc.&lt;br /&gt;
&lt;br /&gt;
=== How to copy from 'CPU' memory to 'GPU' memory? ===&lt;br /&gt;
&lt;br /&gt;
cudaMemcpy(dstcudaMallocLocation, srchostTiffLocation, counthost, cudaMemcpyHostToDevice)&lt;br /&gt;
&lt;br /&gt;
=== How to open a TIFF file? ===&lt;br /&gt;
Start with:&lt;br /&gt;
* TIFFOpen&lt;br /&gt;
* TIFFReadRGBAImage&lt;br /&gt;
* Copy Host memory to GPU memory&lt;br /&gt;
&lt;br /&gt;
=== How to write a new TIFF file? ===&lt;br /&gt;
Start with:&lt;br /&gt;
* Copy GPU memory to Hostmemory&lt;br /&gt;
* TIFFOpen&lt;br /&gt;
* TIFFWriteTile&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8844</id>
		<title>FFT Cuda</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8844"/>
				<updated>2010-11-05T01:18:59Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Input ===&lt;br /&gt;
* Image is presented in TIFF file structure&lt;br /&gt;
* Array of, FFT of kernels (64x64)&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Take a windows 128x128, step by 32 pixels&lt;br /&gt;
* Make a FFT (DFT_2D)&lt;br /&gt;
* Get nth-kernel, pad 32px zero's to each side&lt;br /&gt;
* Multiply FFT with kernel&lt;br /&gt;
* Inverse FFT of the result&lt;br /&gt;
* Save 128x128 window to the n'th position in the TIFF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Knowledge required ===&lt;br /&gt;
CuFFT is modeled after FFTW. To create a new operation we start with cufftPlan2d. The actual operation happens wth cufftExecC2C. cufftExecC2C takes input and output data, respectivily idata and odata in GPU memory.&lt;br /&gt;
&lt;br /&gt;
To use the GPU memory use cudaMalloc.&lt;br /&gt;
&lt;br /&gt;
=== How to copy from 'CPU' memory to 'GPU' memory? ===&lt;br /&gt;
&lt;br /&gt;
cudaMemcpy(dstcudaMallocLocation, srchostTiffLocation, counthost, cudaMemcpyHostToDevice)&lt;br /&gt;
&lt;br /&gt;
=== How to open a TIFF file? ===&lt;br /&gt;
Start with:&lt;br /&gt;
* TIFFOpen&lt;br /&gt;
* TIFFReadRGBAImage&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8843</id>
		<title>FFT Cuda</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8843"/>
				<updated>2010-11-05T01:13:44Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Input ===&lt;br /&gt;
* Image is presented in TIFF file structure&lt;br /&gt;
* Array of, FFT of kernels (64x64)&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Take a windows 128x128, step by 32 pixels&lt;br /&gt;
* Make a FFT (DFT_2D)&lt;br /&gt;
* Get nth-kernel, pad 32px zero's to each side&lt;br /&gt;
* Multiply FFT with kernel&lt;br /&gt;
* Inverse FFT of the result&lt;br /&gt;
* Save 128x128 window to the n'th position in the TIFF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Knowledge required ===&lt;br /&gt;
CuFFT is modeled after FFTW. To create a new operation we start with cufftPlan2d. The actual operation happens wth cufftExecC2C. cufftExecC2C takes input and output data, respectivily idata and odata in GPU memory.&lt;br /&gt;
&lt;br /&gt;
To use the GPU memory use cudaMalloc.&lt;br /&gt;
&lt;br /&gt;
=== How to copy from 'CPU' memory to 'GPU' memory? ===&lt;br /&gt;
&lt;br /&gt;
cudaMemcpy(dstcudaMallocLocation, srchostTiffLocation, counthost, cudaMemcpyHostToDevice)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8842</id>
		<title>FFT Cuda</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8842"/>
				<updated>2010-11-05T01:02:46Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Input ===&lt;br /&gt;
* Image is presented in TIFF file structure&lt;br /&gt;
* Array of, FFT of kernels (64x64)&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Take a windows 128x128, step by 32 pixels&lt;br /&gt;
* Make a FFT (DFT_2D)&lt;br /&gt;
* Get nth-kernel, pad 32px zero's to each side&lt;br /&gt;
* Multiply FFT with kernel&lt;br /&gt;
* Inverse FFT of the result&lt;br /&gt;
* Save 128x128 window to the n'th position in the TIFF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Knowledge required ===&lt;br /&gt;
CuFFT is modeled after FFTW. To create a new operation we start with cufftPlan2d. The actual operation happens wth cufftExecC2C. cufftExecC2C takes input and output data, respectivily idata and odata in GPU memory.&lt;br /&gt;
&lt;br /&gt;
To use the GPU memory use cudaMalloc.&lt;br /&gt;
&lt;br /&gt;
How to copy from 'CPU' memory to 'GPU' memory?&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8841</id>
		<title>FFT Cuda</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8841"/>
				<updated>2010-11-05T00:46:02Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Input ===&lt;br /&gt;
* Image is presented in TIFF file structure&lt;br /&gt;
* Array of, FFT of kernels (64x64)&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Take a windows 128x128, step by 32 pixels&lt;br /&gt;
* Make a FFT (DFT_2D)&lt;br /&gt;
* Get nth-kernel, pad 32px zero's to each side&lt;br /&gt;
* Multiply FFT with kernel&lt;br /&gt;
* Inverse FFT of the result&lt;br /&gt;
* Save 128x128 window to the n'th position in the TIFF&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8840</id>
		<title>FFT Cuda</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=FFT_Cuda&amp;diff=8840"/>
				<updated>2010-11-05T00:45:38Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FFT Cuda ==&lt;br /&gt;
&lt;br /&gt;
=== Input ===&lt;br /&gt;
* Image is presented in TIFF file structure&lt;br /&gt;
* Array of, FFT of kernels (64x64)&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Take a windows 128x128, step by 32 pixels&lt;br /&gt;
* Make a FFT (DFT_2D)&lt;br /&gt;
* Get nth-kernel, pad 32px zero's to each side&lt;br /&gt;
* Multiply FFT with kernel&lt;br /&gt;
* Inverse FFT of the result&lt;br /&gt;
* Save 128x128 window to the n'th position in the TIFF&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Sensors_table&amp;diff=8757</id>
		<title>Talk:Sensors table</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Sensors_table&amp;diff=8757"/>
				<updated>2010-09-08T12:22:52Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;What about the Samsung BSI-CMOS sensors?&lt;br /&gt;
&lt;br /&gt;
S5K4E5 5MP @ 60fps Full-HD&lt;br /&gt;
S5K2N1 14.6MP&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7180</id>
		<title>373/Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7180"/>
				<updated>2009-10-31T02:00:09Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 373 camera root and kernel will be compiled using [http://www.openembedded.org/ OpenEmbedded] on this wikipage we document some good to remember hints that most likely can be used for new development later. Babysteps ;)&lt;br /&gt;
&lt;br /&gt;
=== Minicom ===&lt;br /&gt;
We are doing serial uploading in modemy file transfermode for Minicom this is ctrl-a s, modemy. Because browsing in Minicom is bad, it is good to set a default root directory in the configuration. Once you found your file, press Space and Enter.&lt;br /&gt;
&lt;br /&gt;
In order to transfer with Minicom you will require the package '''lrzsz''', without it nothing happens.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel Config ===&lt;br /&gt;
The defkernel in OpenEmbedded has an option: CONFIG_INITRAMFS_SOURCE, this should get the '''full path''' to the rootfs we want to serve. In order to get a new rootfs into the kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bitbake -c clean virtual/kernel&lt;br /&gt;
bitbake virtual/kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This really sucks, because it takes a '''long''' time.&lt;br /&gt;
&lt;br /&gt;
Additionally, disable CONFIG_RD_GZIP, for some smaller kernel replace it with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_KERNEL_LZMA=y&lt;br /&gt;
CONFIG_RD_LZMA=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Making uImages as Ramdisk ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pundit:~/10373/angstrom-2008# ./staging/x86_64-linux/usr/bin/uboot-mkimage -n 'Simple Ramdisk Image' -A arm \&lt;br /&gt;
-O linux -T ramdisk -C gzip -d ./deploy/glibc/images/dm6467-evm/minimalist-image-dm6467-evm.jffs2 \&lt;br /&gt;
./deploy/glibc/images/dm6467-evm/test.gz&lt;br /&gt;
Image Name:   Simple Ramdisk Image&lt;br /&gt;
Created:      Fri Oct 30 19:42:12 2009&lt;br /&gt;
Image Type:   ARM Linux RAMDisk Image (gzip compressed)&lt;br /&gt;
Data Size:    5767168 Bytes = 5632.00 kB = 5.50 MB&lt;br /&gt;
Load Address: 0x00000000&lt;br /&gt;
Entry Point:  0x00000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7179</id>
		<title>373/Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7179"/>
				<updated>2009-10-31T01:59:46Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 373 camera root and kernel will be compiled using [http://www.openembedded.org/ OpenEmbedded] on this wikipage we document some good to remember hints that most likely can be used for new development later. Babysteps ;)&lt;br /&gt;
&lt;br /&gt;
=== Minicom ===&lt;br /&gt;
We are doing serial uploading in modemy file transfermode for Minicom this is ctrl-a s, modemy. Because browsing in Minicom is bad, it is good to set a default root directory in the configuration. Once you found your file, press Space and Enter.&lt;br /&gt;
&lt;br /&gt;
In order to transfer with Minicom you will require the package '''lrzsz''', without it nothing happens.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel Config ===&lt;br /&gt;
The defkernel in OpenEmbedded has an option: CONFIG_INITRAMFS_SOURCE, this should get the '''full path''' to the rootfs we want to serve. In order to get a new rootfs into the kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bitbake -c clean virtual/kernel&lt;br /&gt;
bitbake virtual/kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This really sucks, because it takes a '''long''' time.&lt;br /&gt;
&lt;br /&gt;
Additionally, disable CONFIG_RD_GZIP, for some smaller kernel replace it with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_KERNEL_LZMA=y&lt;br /&gt;
CONFIG_RD_LZMA=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Making uImages as Ramdisk ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pundit:~/10373/angstrom-2008# ./staging/x86_64-linux/usr/bin/uboot-mkimage -n 'Simple Ramdisk Image' -A arm -O linux -T ramdisk -C gzip -d ./deploy/glibc/images/dm6467-evm/minimalist-image-dm6467-evm.jffs2 ./deploy/glibc/images/dm6467-evm/test.gz&lt;br /&gt;
Image Name:   Simple Ramdisk Image&lt;br /&gt;
Created:      Fri Oct 30 19:42:12 2009&lt;br /&gt;
Image Type:   ARM Linux RAMDisk Image (gzip compressed)&lt;br /&gt;
Data Size:    5767168 Bytes = 5632.00 kB = 5.50 MB&lt;br /&gt;
Load Address: 0x00000000&lt;br /&gt;
Entry Point:  0x00000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7178</id>
		<title>373/Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7178"/>
				<updated>2009-10-31T01:59:21Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: mkimage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 373 camera root and kernel will be compiled using [http://www.openembedded.org/ OpenEmbedded] on this wikipage we document some good to remember hints that most likely can be used for new development later. Babysteps ;)&lt;br /&gt;
&lt;br /&gt;
=== Minicom ===&lt;br /&gt;
We are doing serial uploading in modemy file transfermode for Minicom this is ctrl-a s, modemy. Because browsing in Minicom is bad, it is good to set a default root directory in the configuration. Once you found your file, press Space and Enter.&lt;br /&gt;
&lt;br /&gt;
In order to transfer with Minicom you will require the package '''lrzsz''', without it nothing happens.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel Config ===&lt;br /&gt;
The defkernel in OpenEmbedded has an option: CONFIG_INITRAMFS_SOURCE, this should get the '''full path''' to the rootfs we want to serve. In order to get a new rootfs into the kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bitbake -c clean virtual/kernel&lt;br /&gt;
bitbake virtual/kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This really sucks, because it takes a '''long''' time.&lt;br /&gt;
&lt;br /&gt;
Additionally, disable CONFIG_RD_GZIP, for some smaller kernel replace it with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_KERNEL_LZMA=y&lt;br /&gt;
CONFIG_RD_LZMA=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Making uImages as Ramdisk ===&lt;br /&gt;
pundit:~/10373/angstrom-2008# ./staging/x86_64-linux/usr/bin/uboot-mkimage -n 'Simple Ramdisk Image' -A arm -O linux -T ramdisk -C gzip -d ./deploy/glibc/images/dm6467-evm/minimalist-image-dm6467-evm.jffs2 ./deploy/glibc/images/dm6467-evm/test.gz&lt;br /&gt;
Image Name:   Simple Ramdisk Image&lt;br /&gt;
Created:      Fri Oct 30 19:42:12 2009&lt;br /&gt;
Image Type:   ARM Linux RAMDisk Image (gzip compressed)&lt;br /&gt;
Data Size:    5767168 Bytes = 5632.00 kB = 5.50 MB&lt;br /&gt;
Load Address: 0x00000000&lt;br /&gt;
Entry Point:  0x00000000&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7175</id>
		<title>373/Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7175"/>
				<updated>2009-10-28T00:57:11Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* Kernel Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 373 camera root and kernel will be compiled using [http://www.openembedded.org/ OpenEmbedded] on this wikipage we document some good to remember hints that most likely can be used for new development later. Babysteps ;)&lt;br /&gt;
&lt;br /&gt;
=== Minicom ===&lt;br /&gt;
We are doing serial uploading in modemy file transfermode for Minicom this is ctrl-a s, modemy. Because browsing in Minicom is bad, it is good to set a default root directory in the configuration. Once you found your file, press Space and Enter.&lt;br /&gt;
&lt;br /&gt;
In order to transfer with Minicom you will require the package '''lrzsz''', without it nothing happens.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel Config ===&lt;br /&gt;
The defkernel in OpenEmbedded has an option: CONFIG_INITRAMFS_SOURCE, this should get the '''full path''' to the rootfs we want to serve. In order to get a new rootfs into the kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bitbake -c clean virtual/kernel&lt;br /&gt;
bitbake virtual/kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This really sucks, because it takes a '''long''' time.&lt;br /&gt;
&lt;br /&gt;
Additionally, disable CONFIG_RD_GZIP, for some smaller kernel replace it with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_KERNEL_LZMA=y&lt;br /&gt;
CONFIG_RD_LZMA=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7174</id>
		<title>373/Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=373/Development&amp;diff=7174"/>
				<updated>2009-10-28T00:38:40Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The 373 camera root and kernel will be compiled using [http://www.openembedded.org/ OpenEmbedded] on this wikipage we document some good to remember hints that most likely can be used for new development later. Babysteps ;)&lt;br /&gt;
&lt;br /&gt;
=== Minicom ===&lt;br /&gt;
We are doing serial uploading in modemy file transfermode for Minicom this is ctrl-a s, modemy. Because browsing in Minicom is bad, it is good to set a default root directory in the configuration. Once you found your file, press Space and Enter.&lt;br /&gt;
&lt;br /&gt;
In order to transfer with Minicom you will require the package '''lrzsz''', without it nothing happens.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kernel Config ===&lt;br /&gt;
The defkernel in OpenEmbedded has an option: CONFIG_INITRAMFS_SOURCE, this should get the '''full path''' to the rootfs we want to serve. In order to get a new rootfs into the kernel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bitbake -c clean virtual/kernel&lt;br /&gt;
bitbake virtual/kernel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This really sucks, because it takes a '''long''' time.&lt;br /&gt;
&lt;br /&gt;
Additionally, disable CONFIG_RD_GZIP, and replace it with CONFIG_RD_LZMA=y, this gives better compression.&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Q_and_A&amp;diff=6309</id>
		<title>Q and A</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Q_and_A&amp;diff=6309"/>
				<updated>2009-03-30T03:08:42Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* Answers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Q&amp;amp;A page ==&lt;br /&gt;
Hello, I have a question about the best way to set up the camera as a server, to assign IP's to clients that access the camera. Our application is in a medical lab, where the camera is looking at Petri dishes. The clients will access the camera, to execute a vision based system which determines antibiotic sensitivities for bacteria. &lt;br /&gt;
&lt;br /&gt;
I could run the camera through a wireless router, and have the router assign IP's to the clients. Would it be simple to install a dhcp daemon on the camera to serve incoming requests?&lt;br /&gt;
&lt;br /&gt;
Thank you,&lt;br /&gt;
&lt;br /&gt;
Per Bj. Bro&lt;br /&gt;
&lt;br /&gt;
== Answers ==&lt;br /&gt;
&lt;br /&gt;
* I think the quickest way is to compile DNSMasq for Etrax (udhcpd is not installed by default), this will give you all what your 'clients' want. DNS, DHCP, etc. If you want more info just reply here or come to IRC. --[[User:Skinkie|Skinkie]] 22:08, 29 March 2009 (CDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Q_and_A&amp;diff=6308</id>
		<title>Q and A</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Q_and_A&amp;diff=6308"/>
				<updated>2009-03-30T03:08:22Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: DNSMasq&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Q&amp;amp;A page ==&lt;br /&gt;
Hello, I have a question about the best way to set up the camera as a server, to assign IP's to clients that access the camera. Our application is in a medical lab, where the camera is looking at Petri dishes. The clients will access the camera, to execute a vision based system which determines antibiotic sensitivities for bacteria. &lt;br /&gt;
&lt;br /&gt;
I could run the camera through a wireless router, and have the router assign IP's to the clients. Would it be simple to install a dhcp daemon on the camera to serve incoming requests?&lt;br /&gt;
&lt;br /&gt;
Thank you,&lt;br /&gt;
&lt;br /&gt;
Per Bj. Bro&lt;br /&gt;
&lt;br /&gt;
== Answers ==&lt;br /&gt;
&lt;br /&gt;
* I think the quickest way is to compile DNSMasq for Etrax (udhcpd is not installed by default), this will give you all what your 'clients' want. DNS, DHCP, etc. If you want more info just reply here or come to IRC.&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Compass_Widget&amp;diff=6306</id>
		<title>Compass Widget</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Compass_Widget&amp;diff=6306"/>
				<updated>2009-03-29T11:55:35Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Use Case ==&lt;br /&gt;
&lt;br /&gt;
You would like to see the direction your camera is heading.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
The widget is implemented as SVG, Javascript and a php script to expose the exif data.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Svgcompass.png]]&lt;br /&gt;
&lt;br /&gt;
== Finished this task ==&lt;br /&gt;
http://elphelcommunity.cvs.sourceforge.net/viewvc/elphelcommunity/elphel353-7.1-community/apps/widgets/compass/&lt;br /&gt;
&lt;br /&gt;
== Wishlist ==&lt;br /&gt;
* Adding widgets voor rolling and pitch.&lt;br /&gt;
* Smooth animation&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=User:Skinkie&amp;diff=6289</id>
		<title>User:Skinkie</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=User:Skinkie&amp;diff=6289"/>
				<updated>2009-03-28T10:14:25Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* Timeline */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Stefan de Konink, I live in The Netherlands and study Artificial Intelligence at the University of Amsterdam. Almost heading for writing a MSc thesis. I noticed Elphel years ago when they first made an implementation of Theora in hardware. Later I found that they made cameras that also did Geo. Personally I would really like to have a professional still camera that is able to be scripted. Canon is a solution for that, but annoying as I am... all my lenses are Nikon based ;)&lt;br /&gt;
&lt;br /&gt;
I'm active in the OpenStreetMap community and because of adding GPS features our project [[OSMCAM]] is selection to get a 'free' developer camera there is work to do. At this page I'll keep a diary what I am doing so my conscious is clean and I'm really using this device in a way that it has been offered to me.&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
* '''DONE''' [http://wiki.elphel.com/index.php?title=Elphel_Software_Kit_for_Ubuntu#Packages_requirement_for_Ubuntu Getting the etrax toolkit to work]&lt;br /&gt;
* [[Gentoo embedded]]... (yeah right!)&lt;br /&gt;
* '''DONE''' [[Cherokee]]&lt;br /&gt;
* '''DONE''' [[Implement calibration]]&lt;br /&gt;
* '''DONE''' [[Compass Widget|AJAX Compass]] + Calibration&lt;br /&gt;
* OpenLayers tayormade for the Elphel&lt;br /&gt;
* Making some use-cases for the GPS tools and interface&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Compass_Widget&amp;diff=6288</id>
		<title>Compass Widget</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Compass_Widget&amp;diff=6288"/>
				<updated>2009-03-28T10:11:10Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* Screenshots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Use Case ==&lt;br /&gt;
&lt;br /&gt;
You would like to see the direction your camera is heading.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
The widget is implemented as SVG, Javascript and a php script to expose the exif data.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Svgcompass.png]]&lt;br /&gt;
&lt;br /&gt;
== Wishlist ==&lt;br /&gt;
* Adding widgets voor rolling and pitch.&lt;br /&gt;
* Smooth animation&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=File:Svgcompass.png&amp;diff=6287</id>
		<title>File:Svgcompass.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=File:Svgcompass.png&amp;diff=6287"/>
				<updated>2009-03-28T10:10:05Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: SVG Compass screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SVG Compass screenshot&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Compass_Widget&amp;diff=6286</id>
		<title>Compass Widget</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Compass_Widget&amp;diff=6286"/>
				<updated>2009-03-28T10:09:38Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Use Case ==&lt;br /&gt;
&lt;br /&gt;
You would like to see the direction your camera is heading.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
The widget is implemented as SVG, Javascript and a php script to expose the exif data.&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wishlist ==&lt;br /&gt;
* Adding widgets voor rolling and pitch.&lt;br /&gt;
* Smooth animation&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=User:Skinkie&amp;diff=6285</id>
		<title>User:Skinkie</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=User:Skinkie&amp;diff=6285"/>
				<updated>2009-03-28T10:03:25Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* Timeline */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Stefan de Konink, I live in The Netherlands and study Artificial Intelligence at the University of Amsterdam. Almost heading for writing a MSc thesis. I noticed Elphel years ago when they first made an implementation of Theora in hardware. Later I found that they made cameras that also did Geo. Personally I would really like to have a professional still camera that is able to be scripted. Canon is a solution for that, but annoying as I am... all my lenses are Nikon based ;)&lt;br /&gt;
&lt;br /&gt;
I'm active in the OpenStreetMap community and because of adding GPS features our project [[OSMCAM]] is selection to get a 'free' developer camera there is work to do. At this page I'll keep a diary what I am doing so my conscious is clean and I'm really using this device in a way that it has been offered to me.&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
* '''DONE''' [http://wiki.elphel.com/index.php?title=Elphel_Software_Kit_for_Ubuntu#Packages_requirement_for_Ubuntu Getting the etrax toolkit to work]&lt;br /&gt;
* [[Gentoo embedded]]... (yeah right!)&lt;br /&gt;
* '''DONE''' [[Cherokee]]&lt;br /&gt;
* '''DONE''' [[Implement calibration]]&lt;br /&gt;
* '''DONE''' [[Compass Widget|AJAX Compass]] + Calibration&lt;br /&gt;
* Making some use-cases for the GPS tools and interface&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=6284</id>
		<title>Implement calibration</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=6284"/>
				<updated>2009-03-28T10:01:38Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* Working on this task */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
In order to reliably use the compass it needs to calibrated by the user. This process can be initiated by accessing the compass module, and providing it the required commands. Sadly only one daemon can access the information of a serial port and it is thus required to make it available to multiple applications concurrently.&lt;br /&gt;
&lt;br /&gt;
== Calibration Procedure ==&lt;br /&gt;
The callibration can only happen if the module is leveled, hence the pitch and roll are less than one degree off, and the camera is slowely spinned around while doing this. Other forms of calibration, for example by providing magnetic field strength should be open for the user.&lt;br /&gt;
&lt;br /&gt;
This would require an application that must be:&lt;br /&gt;
* Allowed to write to the module&lt;br /&gt;
* Able to initiate the command sequence&lt;br /&gt;
* Able to detect pitch/roll&lt;br /&gt;
* Able to detect end of calibration sequence&lt;br /&gt;
* Available to the user in a user friendly way&lt;br /&gt;
&lt;br /&gt;
The application could:&lt;br /&gt;
* Fetch field strength for its GPS position from an information source on the internet (if available)&lt;br /&gt;
&lt;br /&gt;
== Finished this task ==&lt;br /&gt;
http://elphelcommunity.cvs.sourceforge.net/viewvc/elphelcommunity/elphel353-7.1-community/apps/compass-calibration/&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
http://www.ocean-server.com/download/OS5000_Compass_Manual.pdf&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Fast_Boot&amp;diff=5932</id>
		<title>Talk:Fast Boot</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Fast_Boot&amp;diff=5932"/>
				<updated>2008-12-29T04:42:54Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have played with things like uboot and lzma compression for embedded routers recently. I wonder if it wouldn't be possible to shrink the basics of the firmware enormously. To a predefined set of functionalities. Bootup time of 2 secs is nice. But what can one expect after 2 seconds? --[[User:Skinkie|Skinkie]] 22:42, 28 December 2008 (CST)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=User:Skinkie&amp;diff=5397</id>
		<title>User:Skinkie</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=User:Skinkie&amp;diff=5397"/>
				<updated>2008-09-21T23:44:42Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Stefan de Konink, I live in The Netherlands and study Artificial Intelligence at the University of Amsterdam. Almost heading for writing a MSc thesis. I noticed Elphel years ago when they first made an implementation of Theora in hardware. Later I found that they made cameras that also did Geo. Personally I would really like to have a professional still camera that is able to be scripted. Canon is a solution for that, but annoying as I am... all my lenses are Nikon based ;)&lt;br /&gt;
&lt;br /&gt;
I'm active in the OpenStreetMap community and because of adding GPS features our project [[OSMCAM]] is selection to get a 'free' developer camera there is work to do. At this page I'll keep a diary what I am doing so my conscious is clean and I'm really using this device in a way that it has been offered to me.&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
* '''DONE''' [http://wiki.elphel.com/index.php?title=Elphel_Software_Kit_for_Ubuntu#Packages_requirement_for_Ubuntu Getting the etrax toolkit to work]&lt;br /&gt;
* [[Gentoo embedded]]... (yeah right!)&lt;br /&gt;
* '''DONE''' [[Cherokee]]&lt;br /&gt;
* '''DONE''' [[Implement calibration]]&lt;br /&gt;
* AJAX Compass + Calibration&lt;br /&gt;
* Making some use-cases for the GPS tools and interface&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Firefox_Resize_Bug&amp;diff=5385</id>
		<title>Firefox Resize Bug</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Firefox_Resize_Bug&amp;diff=5385"/>
				<updated>2008-09-19T22:56:48Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Problem ===&lt;br /&gt;
When a user starts the webinterface by clicking on the Ok button in the Firefox webbrowser, Firefox will add a popup bar in the new window. This bar causes the webinterface to rescale down.&lt;br /&gt;
&lt;br /&gt;
=== Workaround ===&lt;br /&gt;
* Don't press OK, just cancel&lt;br /&gt;
* Allow popups from 192.168.0.9&lt;br /&gt;
* Quickly remove the popup bar by pressing the cross on the right&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Known_Bugs&amp;diff=5384</id>
		<title>Known Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Known_Bugs&amp;diff=5384"/>
				<updated>2008-09-19T22:47:54Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page we will collect the bugs users have observed using the camera or the embedded software running on top of it. If you have an issue, please look at the list here. If not present add it here.&lt;br /&gt;
&lt;br /&gt;
=== Webinterface ===&lt;br /&gt;
&lt;br /&gt;
* [[Firefox Resize Bug]] when the popup blockline is present in the webinterface, by launching the popup after pressing ok, the webinterface resizes down to an absolute minimum.&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Known_Bugs&amp;diff=5383</id>
		<title>Known Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Known_Bugs&amp;diff=5383"/>
				<updated>2008-09-19T22:47:20Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: Firefox&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page we will collect the bugs users have observed using the camera or the embedded software running on top of it. If you have an issue, please look at the list here. If not present add it here.&lt;br /&gt;
&lt;br /&gt;
=== Webinterface ===&lt;br /&gt;
&lt;br /&gt;
[*] [Firefox Resize Bug]; when the popup blockline is present in the webinterface, by launching the popup after pressing ok, the webinterface resizes down to an absolute minimum.&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Wishlist&amp;diff=5355</id>
		<title>Wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Wishlist&amp;diff=5355"/>
				<updated>2008-09-18T23:39:15Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today I received a development sample of the 353 camera. As ''user'' I noticed some things I wanted to have, I hope anyone that has ideas can write them on a central place and make a new page on the wiki to it. If a project has been completed just add the developer that did it, or is busy on it.&lt;br /&gt;
&lt;br /&gt;
=== Sensor ===&lt;br /&gt;
* [[Dead/Hot pixel correction]]&lt;br /&gt;
&lt;br /&gt;
=== Compass ===&lt;br /&gt;
* '''DONE''' [[Implement calibration]]&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
* [[DHCP (timeouted) and DNS-SD]]&lt;br /&gt;
&lt;br /&gt;
=== Fastest Boot ===&lt;br /&gt;
* [[Fast Boot]]&lt;br /&gt;
&lt;br /&gt;
=== C API ===&lt;br /&gt;
* [[C API]]&lt;br /&gt;
&lt;br /&gt;
=== UDMA support ===&lt;br /&gt;
* Enable [[UDMA]] in the Axis kernel. Needed to support most fast CF cards, will also boost speed on SATA.&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=5354</id>
		<title>Implement calibration</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=5354"/>
				<updated>2008-09-18T23:38:42Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* Working on this task */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
In order to reliably use the compass it needs to calibrated by the user. This process can be initiated by accessing the compass module, and providing it the required commands. Sadly only one daemon can access the information of a serial port and it is thus required to make it available to multiple applications concurrently.&lt;br /&gt;
&lt;br /&gt;
== Calibration Procedure ==&lt;br /&gt;
The callibration can only happen if the module is leveled, hence the pitch and roll are less than one degree off, and the camera is slowely spinned around while doing this. Other forms of calibration, for example by providing magnetic field strength should be open for the user.&lt;br /&gt;
&lt;br /&gt;
This would require an application that must be:&lt;br /&gt;
* Allowed to write to the module&lt;br /&gt;
* Able to initiate the command sequence&lt;br /&gt;
* Able to detect pitch/roll&lt;br /&gt;
* Able to detect end of calibration sequence&lt;br /&gt;
* Available to the user in a user friendly way&lt;br /&gt;
&lt;br /&gt;
The application could:&lt;br /&gt;
* Fetch field strength for its GPS position from an information source on the internet (if available)&lt;br /&gt;
&lt;br /&gt;
== Working on this task ==&lt;br /&gt;
Implemented GPSd driver for the compass, now going to test. --[[User:Skinkie|Skinkie]] 14:34, 9 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
[http://kinkrsoftware.nl/contrib/elphel/compass_calibration.c]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
http://www.ocean-server.com/download/OS5000_Compass_Manual.pdf&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=5353</id>
		<title>Implement calibration</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=5353"/>
				<updated>2008-09-18T23:37:37Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
In order to reliably use the compass it needs to calibrated by the user. This process can be initiated by accessing the compass module, and providing it the required commands. Sadly only one daemon can access the information of a serial port and it is thus required to make it available to multiple applications concurrently.&lt;br /&gt;
&lt;br /&gt;
== Calibration Procedure ==&lt;br /&gt;
The callibration can only happen if the module is leveled, hence the pitch and roll are less than one degree off, and the camera is slowely spinned around while doing this. Other forms of calibration, for example by providing magnetic field strength should be open for the user.&lt;br /&gt;
&lt;br /&gt;
This would require an application that must be:&lt;br /&gt;
* Allowed to write to the module&lt;br /&gt;
* Able to initiate the command sequence&lt;br /&gt;
* Able to detect pitch/roll&lt;br /&gt;
* Able to detect end of calibration sequence&lt;br /&gt;
* Available to the user in a user friendly way&lt;br /&gt;
&lt;br /&gt;
The application could:&lt;br /&gt;
* Fetch field strength for its GPS position from an information source on the internet (if available)&lt;br /&gt;
&lt;br /&gt;
== Working on this task ==&lt;br /&gt;
Implemented GPSd driver for the compass, now going to test. --[[User:Skinkie|Skinkie]] 14:34, 9 September 2008 (CDT)&lt;br /&gt;
A [http://kinkrsoftware.nl/contrib/elphel/compass_calibration.c|Tool] has been made, needs some minor updates for being a CGI program, after that is done it will be in the Elphel CVS.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
http://www.ocean-server.com/download/OS5000_Compass_Manual.pdf&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=5306</id>
		<title>Implement calibration</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=5306"/>
				<updated>2008-09-09T19:34:38Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: gpsd work in process&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
In order to reliably use the compass it needs to calibrated by the user. This process can be initiated by accessing the compass module, and providing it the required commands. Sadly only one daemon can access the information of a serial port and it is thus required to make it available to multiple applications concurrently.&lt;br /&gt;
&lt;br /&gt;
== Calibration Procedure ==&lt;br /&gt;
The callibration can only happen if the module is leveled, hence the pitch and roll are less than one degree off, and the camera is slowely spinned around while doing this. Other forms of calibration, for example by providing magnetic field strength should be open for the user.&lt;br /&gt;
&lt;br /&gt;
This would require an application that must be:&lt;br /&gt;
* Allowed to write to the module&lt;br /&gt;
* Able to initiate the command sequence&lt;br /&gt;
* Able to detect pitch/roll&lt;br /&gt;
* Able to detect end of calibration sequence&lt;br /&gt;
* Available to the user in a user friendly way&lt;br /&gt;
&lt;br /&gt;
The application could:&lt;br /&gt;
* Fetch field strength for its GPS position from an information source on the internet (if available)&lt;br /&gt;
&lt;br /&gt;
== Working on this task ==&lt;br /&gt;
Implemented GPSd driver for the compass, now going to test. --[[User:Skinkie|Skinkie]] 14:34, 9 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
http://www.ocean-server.com/download/OS5000_Compass_Manual.pdf&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=5303</id>
		<title>Implement calibration</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Implement_calibration&amp;diff=5303"/>
				<updated>2008-09-09T02:47:40Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: Real update with todo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem ==&lt;br /&gt;
In order to reliably use the compass it needs to calibrated by the user. This process can be initiated by accessing the compass module, and providing it the required commands. Sadly only one daemon can access the information of a serial port and it is thus required to make it available to multiple applications concurrently.&lt;br /&gt;
&lt;br /&gt;
== Calibration Procedure ==&lt;br /&gt;
The callibration can only happen if the module is leveled, hence the pitch and roll are less than one degree off, and the camera is slowely spinned around while doing this. Other forms of calibration, for example by providing magnetic field strength should be open for the user.&lt;br /&gt;
&lt;br /&gt;
This would require an application that must be:&lt;br /&gt;
* Allowed to write to the module&lt;br /&gt;
* Able to initiate the command sequence&lt;br /&gt;
* Able to detect pitch/roll&lt;br /&gt;
* Able to detect end of calibration sequence&lt;br /&gt;
* Available to the user in a user friendly way&lt;br /&gt;
&lt;br /&gt;
The application could:&lt;br /&gt;
* Fetch field strength for its GPS position from an information source on the internet (if available)&lt;br /&gt;
&lt;br /&gt;
== Working on this task ==&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 21:47, 8 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
http://www.ocean-server.com/download/OS5000_Compass_Manual.pdf&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Implement_calibration&amp;diff=5302</id>
		<title>Talk:Implement calibration</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Implement_calibration&amp;diff=5302"/>
				<updated>2008-09-09T00:49:36Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You are using the ocean server compass? &lt;br /&gt;
&lt;br /&gt;
Are you using the depth sensor as well?&lt;br /&gt;
&lt;br /&gt;
There is no calibration SW? or just no linux SW?&lt;br /&gt;
Would you know if there is depth calibration SW?&lt;br /&gt;
&lt;br /&gt;
I would guess that the elphel should just be able to parse NMEA-0183, then it&lt;br /&gt;
can work with most compass modules (KVH, PNI TCM-2, etc.)  &lt;br /&gt;
&lt;br /&gt;
--[[User:Aegdss|aegdss]] 18:19:40, 2008-09-05 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On IRC I heared there is no calibration on the compass. So probably it only gives lets say the rotation it makes like a gyro does.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 21:32, 5 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FWIW, the compass does support hard-iron calibration via simple serial commands plus manual rotation of the compass.  See [http://www.ocean-server.com/download/OS5000_Compass_Manual.pdf ocean server compass manual].  This is similar to other compass modules.  It would seem that this is an application level procedure and not really suitable for embedding in the camera.  It would be nice if the camera did allow for a redirect of the serial comms to a network socket or something.  &lt;br /&gt;
&lt;br /&gt;
--[[User:Aegdss|aegdss]] 13:38:42, 2008-09-08 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why not doing it from the camera ? It's what we did the first time we got the compass. We calibrate it via the serial port with some special commands. It is possible I think to build a PHP app that will launch compass calibration on request from the browser. So the user will only have to manually rotate the camera.&lt;br /&gt;
&lt;br /&gt;
--[[User:Polto|Alexandre.Poltorak]] 14:10, 8 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You guys love PHP don't ya ;) I'll see what I can come up with.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 15:13, 8 September 2008 (CDT)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
No reason you couldn't do it in the camera, and using PHP if you wanted, but in some situations it would be nice to be able to get high update rate (10 Hz or whatever) from the compass without having to transmit images as well.  If the camera could bridge the net interface to the serial port this would be trivial.  But that's the really nice thing about open source, people can implement many different methods.&lt;br /&gt;
&lt;br /&gt;
--[[User:Aegdss|aegdss]] 18:27:21, 2008-09-08 (CDT)&lt;br /&gt;
&lt;br /&gt;
I'll take a look into the documentation. I think the main point is to write a small server (maybe compass is already this) that allows multiple sources to query the actual input at a certain time or a continuous flow. And is able to do the calibration effort by some simple input commands.&lt;br /&gt;
&lt;br /&gt;
Just read the entire documentation again, it seems to be trival (if direct access to the module is possible) to make a neat callibration procedure. Basically instruct the user with some pictures what to do. It requires some AJAX to get it life, but I guess the code for that must be somewhere around.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 19:49, 8 September 2008 (CDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=User_talk:Bnewbold&amp;diff=5301</id>
		<title>User talk:Bnewbold</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=User_talk:Bnewbold&amp;diff=5301"/>
				<updated>2008-09-09T00:19:47Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* ROV */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi.&lt;br /&gt;
&lt;br /&gt;
The problem with VLC is due to RTP/RTSP implementation with live555. Our patches for mplayer solve this problem, you can try to modify the patch to work with VLC.&lt;br /&gt;
&lt;br /&gt;
For lenses: try the Fujinon DF6HA-1B&lt;br /&gt;
&lt;br /&gt;
ccam.cgi: we are working now on rewriting it with PHP. for the interface: yes camvc is something standard, you need something more adapted to your needs. Why not use Pure-Data to build a real hardware control unit? (with buttons, cross faders etc..)&lt;br /&gt;
&lt;br /&gt;
== ROV ==&lt;br /&gt;
&lt;br /&gt;
What is the maximum pressure you expect the Elphel to be handling? I see a possibility to use an Elphel as ROV too, but I wonder if the pressure it must handle could break it (especially when surfacing again).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zook&lt;br /&gt;
&lt;br /&gt;
We have made several housings for the camera. our latest housing will go 1000M deep. We only plan on going 300M this year but in the future we hope to go 2500M with this camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Of course it must be understood that the camera is in a pressure housing.  The actual pressure that the camera parts (electronics boards 10353, 10359, sensors, and cables) will experience is only 1 atm (14.7 psi)&lt;br /&gt;
&lt;br /&gt;
--[[User:Aegdss|aegdss]] 16:39:00, 2008-09-05 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this case you have a box in a box, how do you handle the optics in that respect? Is your ''hardware design'' also ''open'' I would really like to see how you have solved this.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 19:19, 8 September 2008 (CDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Implement_calibration&amp;diff=5300</id>
		<title>Talk:Implement calibration</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Implement_calibration&amp;diff=5300"/>
				<updated>2008-09-09T00:16:36Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You are using the ocean server compass? &lt;br /&gt;
&lt;br /&gt;
Are you using the depth sensor as well?&lt;br /&gt;
&lt;br /&gt;
There is no calibration SW? or just no linux SW?&lt;br /&gt;
Would you know if there is depth calibration SW?&lt;br /&gt;
&lt;br /&gt;
I would guess that the elphel should just be able to parse NMEA-0183, then it&lt;br /&gt;
can work with most compass modules (KVH, PNI TCM-2, etc.)  &lt;br /&gt;
&lt;br /&gt;
--[[User:Aegdss|aegdss]] 18:19:40, 2008-09-05 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On IRC I heared there is no calibration on the compass. So probably it only gives lets say the rotation it makes like a gyro does.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 21:32, 5 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FWIW, the compass does support hard-iron calibration via simple serial commands plus manual rotation of the compass.  See [http://www.ocean-server.com/download/OS5000_Compass_Manual.pdf ocean server compass manual].  This is similar to other compass modules.  It would seem that this is an application level procedure and not really suitable for embedding in the camera.  It would be nice if the camera did allow for a redirect of the serial comms to a network socket or something.  &lt;br /&gt;
&lt;br /&gt;
--[[User:Aegdss|aegdss]] 13:38:42, 2008-09-08 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why not doing it from the camera ? It's what we did the first time we got the compass. We calibrate it via the serial port with some special commands. It is possible I think to build a PHP app that will launch compass calibration on request from the browser. So the user will only have to manually rotate the camera.&lt;br /&gt;
&lt;br /&gt;
--[[User:Polto|Alexandre.Poltorak]] 14:10, 8 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You guys love PHP don't ya ;) I'll see what I can come up with.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 15:13, 8 September 2008 (CDT)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
No reason you couldn't do it in the camera, and using PHP if you wanted, but in some situations it would be nice to be able to get high update rate (10 Hz or whatever) from the compass without having to transmit images as well.  If the camera could bridge the net interface to the serial port this would be trivial.  But that's the really nice thing about open source, people can implement many different methods.&lt;br /&gt;
&lt;br /&gt;
--[[User:Aegdss|aegdss]] 18:27:21, 2008-09-08 (CDT)&lt;br /&gt;
&lt;br /&gt;
I'll take a look into the documentation. I think the main point is to write a small server (maybe compass is already this) that allows multiple sources to query the actual input at a certain time or a continuous flow. And is able to do the calibration effort by some simple input commands.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 19:16, 8 September 2008 (CDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Implement_calibration&amp;diff=5298</id>
		<title>Talk:Implement calibration</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Implement_calibration&amp;diff=5298"/>
				<updated>2008-09-08T20:13:54Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You are using the ocean server compass? &lt;br /&gt;
&lt;br /&gt;
Are you using the depth sensor as well?&lt;br /&gt;
&lt;br /&gt;
There is no calibration SW? or just no linux SW?&lt;br /&gt;
Would you know if there is depth calibration SW?&lt;br /&gt;
&lt;br /&gt;
I would guess that the elphel should just be able to parse NMEA-0183, then it&lt;br /&gt;
can work with most compass modules (KVH, PNI TCM-2, etc.)  &lt;br /&gt;
&lt;br /&gt;
--[[User:Aegdss|aegdss]] 18:19:40, 2008-09-05 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On IRC I heared there is no calibration on the compass. So probably it only gives lets say the rotation it makes like a gyro does.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 21:32, 5 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FWIW, the compass does support hard-iron calibration via simple serial commands plus manual rotation of the compass.  See [http://www.ocean-server.com/download/OS5000_Compass_Manual.pdf ocean server compass manual].  This is similar to other compass modules.  It would seem that this is an application level procedure and not really suitable for embedding in the camera.  It would be nice if the camera did allow for a redirect of the serial comms to a network socket or something.  &lt;br /&gt;
&lt;br /&gt;
--[[User:Aegdss|aegdss]] 13:38:42, 2008-09-08 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why not doing it from the camera ? It's what we did the first time we got the compass. We calibrate it via the serial port with some special commands. It is possible I think to build a PHP app that will launch compass calibration on request from the browser. So the user will only have to manually rotate the camera.&lt;br /&gt;
&lt;br /&gt;
--[[User:Polto|Alexandre.Poltorak]] 14:10, 8 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You guys love PHP don't ya ;) I'll see what I can come up with.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 15:13, 8 September 2008 (CDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=UDMA&amp;diff=5294</id>
		<title>UDMA</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=UDMA&amp;diff=5294"/>
				<updated>2008-09-08T17:25:37Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Is this just a standard kernel setting?&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Wishlist&amp;diff=5293</id>
		<title>Wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Wishlist&amp;diff=5293"/>
				<updated>2008-09-08T17:25:16Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* UDMA support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today I received a development sample of the 353 camera. As ''user'' I noticed some things I wanted to have, I hope anyone that has ideas can write them on a central place and make a new page on the wiki to it. If a project has been completed just add the developer that did it, or is busy on it.&lt;br /&gt;
&lt;br /&gt;
=== Sensor ===&lt;br /&gt;
* [[Dead/Hot pixel correction]]&lt;br /&gt;
&lt;br /&gt;
=== Compass ===&lt;br /&gt;
* [[Implement calibration]]&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
* [[DHCP (timeouted) and DNS-SD]]&lt;br /&gt;
&lt;br /&gt;
=== Fastest Boot ===&lt;br /&gt;
* [[Fast Boot]]&lt;br /&gt;
&lt;br /&gt;
=== C API ===&lt;br /&gt;
* [[C API]]&lt;br /&gt;
&lt;br /&gt;
=== UDMA support ===&lt;br /&gt;
* Enable [[UDMA]] in the Axis kernel. Needed to support most fast CF cards, will also boost speed on SATA.&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Gentoo_embedded&amp;diff=5288</id>
		<title>Talk:Gentoo embedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Gentoo_embedded&amp;diff=5288"/>
				<updated>2008-09-08T03:02:21Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why don't you try to make an ebuild for Axis' cris-dist-glibc ?&lt;br /&gt;
&lt;br /&gt;
--[[User:Polto|Alexandre.Poltorak]] 13:24, 6 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
I have created a crossdev crisv32-axis-linux-uclibc. Glibc was broken on another point in the middle of compilation. Now I'm trying to actually get a normal program to compile with the toolchain just made.&lt;br /&gt;
And to answer your question, to get the axis compilation to work is trivial, I made a hello world with that, but it is not trivial is to compile things with an old GCC ;) So if this works it gives me an uclibc system, I can run the camera from and a cross compiler to make software. And I presume crisv32 is more optimal than cris.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 13:52, 6 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
As far as I know cris and crisv32 are different arch. EtraxFS is crisv32.&lt;br /&gt;
&lt;br /&gt;
About testing the rootfs... It's safe. The camera is unkillable. :) You can boot in a network boot mode and reflash the camera.&lt;br /&gt;
&lt;br /&gt;
The network boot loader is build in to the EtraxFS SoC. To put the camera in this mode you have to power-up-down-up the camera 6 times with a 3 second delay between each operation. More on this in the beginning of http://linuxdevices.com/articles/AT5102023409.html&lt;br /&gt;
&lt;br /&gt;
--[[User:Polto|Alexandre.Poltorak]] 20:07, 6 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
...I really think I should connect the serial cable and become a professional embedded user ;) Does it do TFTP? Or is the network boot something proprietary?&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 11:15, 7 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
Are you sure you need uclibc? As I understand this library is used for the processors w/o MMU. ETRAX (and camera) uses regular libc ( http://192.168.0.9/admin-bin/editcgi.cgi?file=/lib )--[[User:Andrey.filippov|Andrey.filippov]] 20:18, 7 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
''Need'' is a big word, Axis supports newlib. But I ''needed'' a supported libc version for crosscompiling, and a ''newer'' GCC. That uClibc is also smaller could be considered beneficial.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 22:02, 7 September 2008 (CDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Gentoo_embedded&amp;diff=5286</id>
		<title>Talk:Gentoo embedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Gentoo_embedded&amp;diff=5286"/>
				<updated>2008-09-07T16:15:53Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why don't you try to make an ebuild for Axis' cris-dist-glibc ?&lt;br /&gt;
&lt;br /&gt;
--[[User:Polto|Alexandre.Poltorak]] 13:24, 6 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
I have created a crossdev crisv32-axis-linux-uclibc. Glibc was broken on another point in the middle of compilation. Now I'm trying to actually get a normal program to compile with the toolchain just made.&lt;br /&gt;
And to answer your question, to get the axis compilation to work is trivial, I made a hello world with that, but it is not trivial is to compile things with an old GCC ;) So if this works it gives me an uclibc system, I can run the camera from and a cross compiler to make software. And I presume crisv32 is more optimal than cris.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 13:52, 6 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
As far as I know cris and crisv32 are different arch. EtraxFS is crisv32.&lt;br /&gt;
&lt;br /&gt;
About testing the rootfs... It's safe. The camera is unkillable. :) You can boot in a network boot mode and reflash the camera.&lt;br /&gt;
&lt;br /&gt;
The network boot loader is build in to the EtraxFS SoC. To put the camera in this mode you have to power-up-down-up the camera 6 times with a 3 second delay between each operation. More on this in the beginning of http://linuxdevices.com/articles/AT5102023409.html&lt;br /&gt;
&lt;br /&gt;
--[[User:Polto|Alexandre.Poltorak]] 20:07, 6 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
...I really think I should connect the serial cable and become a professional embedded user ;) Does it do TFTP? Or is the network boot something proprietary?&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 11:15, 7 September 2008 (CDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5284</id>
		<title>Gentoo embedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5284"/>
				<updated>2008-09-07T01:47:24Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* Howto do it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In order to get Embedded support somethings obviously need to be compiled. Now this is not yet going smoothly but I'll give some indication what can be done to fix it and where I am struggling.&lt;br /&gt;
&lt;br /&gt;
Currently I have compiled a toolchain with gcc 4.3.1, uclibc-2008-09-06, a patch and patience. I am able to run code on the camera, if it is statically linked. Technically I could try to make a rootfs and see what happens. But currently I don't have the time to test that (and I don't want to break my cam before [http://www.softwarefreedomday.eu/ SoftwareFreedomDay].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the 'native' cris memcpy.c is broken, I am positive I can get it into shape :) Please validate the code I write, I'm not an embedded professional :)&lt;br /&gt;
&lt;br /&gt;
== Howto do it ==&lt;br /&gt;
* export USE=&amp;quot;-iconv -nls -userlocales -fortran -mudflap -openmp nocxx minimal savedconfig&amp;quot;&lt;br /&gt;
* crossdev --target crisv32-axis-linux-uclibc&lt;br /&gt;
&lt;br /&gt;
However due to screwups in linux-headers you have to:&lt;br /&gt;
* manually copy the linux kernel includes (gentoo has amnesia!)&lt;br /&gt;
* symlink asm/arch-v32 to asm/arch&lt;br /&gt;
* use the latest uclibc, patch it&lt;br /&gt;
&lt;br /&gt;
* use your own config of uclibc, for now disable platform specific strings&lt;br /&gt;
* hope it works automatically, trust me it won't&lt;br /&gt;
&lt;br /&gt;
In that case:&lt;br /&gt;
* emerge crisv32-axis-linux-uclibc/gcc&lt;br /&gt;
* emerge crisv32-axis-linux-uclibc/uclibc&lt;br /&gt;
* emerge crisv32-axis-linux-uclibc/gcc&lt;br /&gt;
&lt;br /&gt;
== Output first tests ==&lt;br /&gt;
[http://developer.axis.com/wiki/doku.php?id=axis:gdb-debug-threads]&lt;br /&gt;
&lt;br /&gt;
 crisv32-axis-linux-uclibc-gcc --static -o /tmp/test2 /tmp/test2.c /mnt/dv/elphel/uClibc/lib/libpthread.a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [root@Elphel353 /mnt/flash/root/test]1157# ./test2 &lt;br /&gt;
 Hello World from 0!&lt;br /&gt;
 Hello World from 1!&lt;br /&gt;
 Hello World from 2!&lt;br /&gt;
 Hello World from 3!&lt;br /&gt;
 Hello World from 4!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== uclibc patch ==&lt;br /&gt;
 --- libc/sysdeps/linux/cris/crti.S.orig 2008-09-06 23:51:14.017004350 +0200&lt;br /&gt;
 +++ libc/sysdeps/linux/cris/crti.S      2008-09-06 23:54:28.477004350 +0200&lt;br /&gt;
 @@ -10,8 +10,7 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
         .align  1&lt;br /&gt;
  &lt;br /&gt;
         .section        .fini&lt;br /&gt;
 @@ -24,6 +23,5 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
        .align  1&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5283</id>
		<title>Gentoo embedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5283"/>
				<updated>2008-09-07T01:46:44Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In order to get Embedded support somethings obviously need to be compiled. Now this is not yet going smoothly but I'll give some indication what can be done to fix it and where I am struggling.&lt;br /&gt;
&lt;br /&gt;
Currently I have compiled a toolchain with gcc 4.3.1, uclibc-2008-09-06, a patch and patience. I am able to run code on the camera, if it is statically linked. Technically I could try to make a rootfs and see what happens. But currently I don't have the time to test that (and I don't want to break my cam before [http://www.softwarefreedomday.eu/ SoftwareFreedomDay].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the 'native' cris memcpy.c is broken, I am positive I can get it into shape :) Please validate the code I write, I'm not an embedded professional :)&lt;br /&gt;
&lt;br /&gt;
== Howto do it ==&lt;br /&gt;
 * export USE=&amp;quot;-iconv -nls -userlocales -fortran -mudflap -openmp nocxx minimal savedconfig&amp;quot;&lt;br /&gt;
 * crossdev --target crisv32-axis-linux-uclibc&lt;br /&gt;
&lt;br /&gt;
However due to screwups in linux-headers you have to:&lt;br /&gt;
 * manually copy the linux kernel includes (gentoo has amnesia!)&lt;br /&gt;
 * symlink asm/arch-v32 to asm/arch&lt;br /&gt;
 * use the latest uclibc, patch it&lt;br /&gt;
&lt;br /&gt;
 * use your own config of uclibc, for now disable platform specific strings&lt;br /&gt;
 * hope it works automatically, trust me it won't&lt;br /&gt;
&lt;br /&gt;
In that case:&lt;br /&gt;
 * emerge crisv32-axis-linux-uclibc/gcc&lt;br /&gt;
 * emerge crisv32-axis-linux-uclibc/uclibc&lt;br /&gt;
 * emerge crisv32-axis-linux-uclibc/gcc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Output first tests ==&lt;br /&gt;
[http://developer.axis.com/wiki/doku.php?id=axis:gdb-debug-threads]&lt;br /&gt;
&lt;br /&gt;
 crisv32-axis-linux-uclibc-gcc --static -o /tmp/test2 /tmp/test2.c /mnt/dv/elphel/uClibc/lib/libpthread.a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [root@Elphel353 /mnt/flash/root/test]1157# ./test2 &lt;br /&gt;
 Hello World from 0!&lt;br /&gt;
 Hello World from 1!&lt;br /&gt;
 Hello World from 2!&lt;br /&gt;
 Hello World from 3!&lt;br /&gt;
 Hello World from 4!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== uclibc patch ==&lt;br /&gt;
 --- libc/sysdeps/linux/cris/crti.S.orig 2008-09-06 23:51:14.017004350 +0200&lt;br /&gt;
 +++ libc/sysdeps/linux/cris/crti.S      2008-09-06 23:54:28.477004350 +0200&lt;br /&gt;
 @@ -10,8 +10,7 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
         .align  1&lt;br /&gt;
  &lt;br /&gt;
         .section        .fini&lt;br /&gt;
 @@ -24,6 +23,5 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
        .align  1&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Cherokee&amp;diff=5282</id>
		<title>Talk:Cherokee</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Cherokee&amp;diff=5282"/>
				<updated>2008-09-07T01:37:06Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Currently cherokee-worker works for me, but cherokee itself (the guardian) doesn't. This is a bug. --[[User:Skinkie|Skinkie]] 20:37, 6 September 2008 (CDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Main_Page&amp;diff=5281</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Main_Page&amp;diff=5281"/>
				<updated>2008-09-07T01:33:48Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: /* Wishlist */  == done&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ilya, that seems correct. We should probably remove 10331/332/334, RTC from user docs - it is for debvelopers now. When there will be lens control and USB we will make user documentation for these features.&lt;br /&gt;
&lt;br /&gt;
User documentattion should probably target needs of a camera _user_ - how to operate it (with ...) How to upgrade software? How to install client software on ... What to do if you see no image, distorted image. Why camera does not respond etc.&lt;br /&gt;
&lt;br /&gt;
Andrey&lt;br /&gt;
----&lt;br /&gt;
OK, I will correct the pages you say about.&lt;br /&gt;
&lt;br /&gt;
Ilya&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Roadmap is not for developers only.&lt;br /&gt;
It can contain an information about future of the user interface too.&lt;br /&gt;
&lt;br /&gt;
Sergey&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Sure, not only for developers and curious users are welcome to read that section too. I was just suggesting to keep [[User Documentation]] exactly as a prototype for the static pages to be included with the cameras.&lt;br /&gt;
&lt;br /&gt;
[[User:Andrey.filippov|Andrey.filippov]] 01:58, 24 September 2005 (MDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ups, I don't know the delete page procedure. How I can do it?&lt;br /&gt;
&lt;br /&gt;
Ilya&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Me too - need to read documentation. Or just remove links to it, mark it on top as deleted and leave it there - maybe we will later use it (at list the name).&lt;br /&gt;
BTW - there is a &amp;quot;signature&amp;quot; button above the text area field that inserts you login name and timestamp.&lt;br /&gt;
--[[User:Andrey.filippov|Andrey.filippov]] 11:50, 24 September 2005 (MDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I read documentation, but I not find the information about that.&lt;br /&gt;
&lt;br /&gt;
P.S. Signature test.&lt;br /&gt;
&lt;br /&gt;
But I'm stupid, I don't understand the applicability, sorry ;)&lt;br /&gt;
&lt;br /&gt;
OK, I did it ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Ilya|Ilya]] 05:39, 4 October 2005 (MDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Cherokee&amp;diff=5280</id>
		<title>Cherokee</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Cherokee&amp;diff=5280"/>
				<updated>2008-09-07T01:32:56Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With the right toolchain everything gets more easy this is how you get cherokee on your cam:&lt;br /&gt;
&lt;br /&gt;
 export CC=crisv32-axis-linux-uclibc-gcc&lt;br /&gt;
 export LD=crisv32-axis-linux-uclibc-ld&lt;br /&gt;
 export AR=crisv32-axis-linux-uclibc-ar&lt;br /&gt;
&lt;br /&gt;
 ac_cv_func_malloc_0_nonnull=yes \&lt;br /&gt;
 ac_cv_func_realloc_0_nonnull=yes \&lt;br /&gt;
 ./autogen.sh \&lt;br /&gt;
 --host=crisv32-axis-linux-uclibc \&lt;br /&gt;
 --prefix=/mnt/flask/root/cherokee \&lt;br /&gt;
 --enable-static \&lt;br /&gt;
 --enable-shared=no \&lt;br /&gt;
 --enable-static-module=all \&lt;br /&gt;
 --disable-tls \&lt;br /&gt;
 --enable-beta \&lt;br /&gt;
 --enable-trace \&lt;br /&gt;
 CC=crisv32-axis-linux-uclibc-gcc&lt;br /&gt;
 make -j2&lt;br /&gt;
&lt;br /&gt;
Since we want it to make ''real'' static.&lt;br /&gt;
&lt;br /&gt;
 cd cherokee&lt;br /&gt;
 crisv32-axis-linux-uclibc-gcc -g -O2 -o cherokee main.o -static&lt;br /&gt;
 crisv32-axis-linux-uclibc-gcc -g -O2 -o cherokee-worker main_worker.o -D_XOPEN_SOURCE=500  ./.libs/libcherokee-base.a ./.libs/libcherokee-server.a -lcrypt /mnt/dv/elphel/cherokee/cherokee/.libs/libcherokee-client.a /mnt/dv/elphel/cherokee/cherokee/.libs/libcherokee-base.a -lpthread -ldl -static&lt;br /&gt;
 cd ..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now install it&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You could remove useless stuff now, such as documentation, includes. After this, copy it to your device.&lt;br /&gt;
&lt;br /&gt;
 scp -r /mnt/flash/root/cherokee root@192.168.0.9:/mnt/flash/root/.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see from the above everything is still compiled with debugging on, and even -O2. You could shrink it more if you specify:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS=-Os&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And strip the binaries afterward.&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=User:Skinkie&amp;diff=5279</id>
		<title>User:Skinkie</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=User:Skinkie&amp;diff=5279"/>
				<updated>2008-09-07T01:23:44Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Stefan de Konink, I live in The Netherlands and study Artificial Intelligence at the University of Amsterdam. Almost heading for writing a MSc thesis. I noticed Elphel years ago when they first made an implementation of Theora in hardware. Later I found that they made cameras that also did Geo. Personally I would really like to have a professional still camera that is able to be scripted. Canon is a solution for that, but annoying as I am... all my lenses are Nikon based ;)&lt;br /&gt;
&lt;br /&gt;
I'm active in the OpenStreetMap community and because of adding GPS features our project [[OSMCAM]] is selection to get a 'free' developer camera there is work to do. At this page I'll keep a diary what I am doing so my conscious is clean and I'm really using this device in a way that it has been offered to me.&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
* '''DONE''' [http://wiki.elphel.com/index.php?title=Elphel_Software_Kit_for_Ubuntu#Packages_requirement_for_Ubuntu Getting the etrax toolkit to work]&lt;br /&gt;
* [[Gentoo embedded]]... (yeah right!)&lt;br /&gt;
* '''DONE''' [[Cherokee]]&lt;br /&gt;
* Making some use-cases for the GPS tools and interface&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5277</id>
		<title>Gentoo embedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5277"/>
				<updated>2008-09-07T00:29:09Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In order to get Embedded support somethings obviously need to be compiled. Now this is not yet going smoothly but I'll give some indication what can be done to fix it and where I am struggling.&lt;br /&gt;
&lt;br /&gt;
Currently I have compiled a toolchain with gcc 4.3.1, uclibc-2008-09-06, a patch and patience. I am able to run code on the camera, if it is statically linked. Technically I could try to make a rootfs and see what happens. But currently I don't have the time to test that (and I don't want to break my cam before [http://www.softwarefreedomday.eu/ SoftwareFreedomDay].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the 'native' cris memcpy.c is broken, I am positive I can get it into shape :) Please validate the code I write, I'm not an embedded professional :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Output first tests ==&lt;br /&gt;
[http://developer.axis.com/wiki/doku.php?id=axis:gdb-debug-threads]&lt;br /&gt;
&lt;br /&gt;
 crisv32-axis-linux-uclibc-gcc --static -o /tmp/test2 /tmp/test2.c /mnt/dv/elphel/uClibc/lib/libpthread.a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [root@Elphel353 /mnt/flash/root/test]1157# ./test2 &lt;br /&gt;
 Hello World from 0!&lt;br /&gt;
 Hello World from 1!&lt;br /&gt;
 Hello World from 2!&lt;br /&gt;
 Hello World from 3!&lt;br /&gt;
 Hello World from 4!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== uclibc patch ==&lt;br /&gt;
 --- libc/sysdeps/linux/cris/crti.S.orig 2008-09-06 23:51:14.017004350 +0200&lt;br /&gt;
 +++ libc/sysdeps/linux/cris/crti.S      2008-09-06 23:54:28.477004350 +0200&lt;br /&gt;
 @@ -10,8 +10,7 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
         .align  1&lt;br /&gt;
  &lt;br /&gt;
         .section        .fini&lt;br /&gt;
 @@ -24,6 +23,5 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
        .align  1&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5276</id>
		<title>Gentoo embedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5276"/>
				<updated>2008-09-06T23:55:30Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In order to get Embedded support somethings obviously need to be compiled. Now this is not yet going smoothly but I'll give some indication what can be done to fix it and where I am struggling.&lt;br /&gt;
&lt;br /&gt;
Currently I have compiled a toolchain with gcc 4.3.1, uclibc-2008-09-06, a patch and patience. I am able to run code on the camera, if it is statically linked. Technically I could try to make a rootfs and see what happens. But currently I don't have the time to test that (and I don't want to break my came before [http://www.softwarefreedomday.eu/ SoftwareFreedomDay].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the 'native' cris memcpy.c is broken, I am positive I can get it into shape :) Please validate the code I write, I'm not an embedded professional :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Output first tests ==&lt;br /&gt;
[http://developer.axis.com/wiki/doku.php?id=axis:gdb-debug-threads]&lt;br /&gt;
&lt;br /&gt;
 crisv32-axis-linux-uclibc-gcc --static -o /tmp/test2 /tmp/test2.c /mnt/dv/elphel/uClibc/lib/libpthread.a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [root@Elphel353 /mnt/flash/root/test]1157# ./test2 &lt;br /&gt;
 Hello World from 0!&lt;br /&gt;
 Hello World from 1!&lt;br /&gt;
 Hello World from 2!&lt;br /&gt;
 Hello World from 3!&lt;br /&gt;
 Hello World from 4!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== uclibc patch ==&lt;br /&gt;
 --- libc/sysdeps/linux/cris/crti.S.orig 2008-09-06 23:51:14.017004350 +0200&lt;br /&gt;
 +++ libc/sysdeps/linux/cris/crti.S      2008-09-06 23:54:28.477004350 +0200&lt;br /&gt;
 @@ -10,8 +10,7 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
         .align  1&lt;br /&gt;
  &lt;br /&gt;
         .section        .fini&lt;br /&gt;
 @@ -24,6 +23,5 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
        .align  1&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5275</id>
		<title>Gentoo embedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5275"/>
				<updated>2008-09-06T23:41:27Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In order to get Embedded support somethings obviously need to be compiled. Now this is not yet going smoothly but I'll give some indication what can be done to fix it and where I am strugling.&lt;br /&gt;
&lt;br /&gt;
I am able to compile uclibc-0.29 with gcc-4.3.1, but out of the box glibc or uclibc is not possible. I'll try to get the ebuild of uclibc-0.29 and see if I can make some changes to it so it will leave us a successful uclibc. (That will still lack pthreads...)&lt;br /&gt;
&lt;br /&gt;
Also the 'native' cris memcpy.c is broken :(&lt;br /&gt;
&lt;br /&gt;
== Output first tests ==&lt;br /&gt;
[http://developer.axis.com/wiki/doku.php?id=axis:gdb-debug-threads]&lt;br /&gt;
&lt;br /&gt;
 crisv32-axis-linux-uclibc-gcc --static -o /tmp/test2 /tmp/test2.c /mnt/dv/elphel/uClibc/lib/libpthread.a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [root@Elphel353 /mnt/flash/root/test]1157# ./test2 &lt;br /&gt;
 Hello World from 0!&lt;br /&gt;
 Hello World from 1!&lt;br /&gt;
 Hello World from 2!&lt;br /&gt;
 Hello World from 3!&lt;br /&gt;
 Hello World from 4!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== uclibc patch ==&lt;br /&gt;
 --- libc/sysdeps/linux/cris/crti.S.orig 2008-09-06 23:51:14.017004350 +0200&lt;br /&gt;
 +++ libc/sysdeps/linux/cris/crti.S      2008-09-06 23:54:28.477004350 +0200&lt;br /&gt;
 @@ -10,8 +10,7 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
         .align  1&lt;br /&gt;
  &lt;br /&gt;
         .section        .fini&lt;br /&gt;
 @@ -24,6 +23,5 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
        .align  1&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5274</id>
		<title>Gentoo embedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Gentoo_embedded&amp;diff=5274"/>
				<updated>2008-09-06T23:41:15Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: big change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In order to get Embedded support somethings obviously need to be compiled. Now this is not yet going smoothly but I'll give some indication what can be done to fix it and where I am strugling.&lt;br /&gt;
&lt;br /&gt;
I am able to compile uclibc-0.29 with gcc-4.3.1, but out of the box glibc or uclibc is not possible. I'll try to get the ebuild of uclibc-0.29 and see if I can make some changes to it so it will leave us a successful uclibc. (That will still lack pthreads...)&lt;br /&gt;
&lt;br /&gt;
Also the 'native' cris memcpy.c is broken :(&lt;br /&gt;
&lt;br /&gt;
== Output first tests ==&lt;br /&gt;
[[http://developer.axis.com/wiki/doku.php?id=axis:gdb-debug-threads]]&lt;br /&gt;
&lt;br /&gt;
 crisv32-axis-linux-uclibc-gcc --static -o /tmp/test2 /tmp/test2.c /mnt/dv/elphel/uClibc/lib/libpthread.a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [root@Elphel353 /mnt/flash/root/test]1157# ./test2 &lt;br /&gt;
 Hello World from 0!&lt;br /&gt;
 Hello World from 1!&lt;br /&gt;
 Hello World from 2!&lt;br /&gt;
 Hello World from 3!&lt;br /&gt;
 Hello World from 4!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== uclibc patch ==&lt;br /&gt;
 --- libc/sysdeps/linux/cris/crti.S.orig 2008-09-06 23:51:14.017004350 +0200&lt;br /&gt;
 +++ libc/sysdeps/linux/cris/crti.S      2008-09-06 23:54:28.477004350 +0200&lt;br /&gt;
 @@ -10,8 +10,7 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
         .align  1&lt;br /&gt;
  &lt;br /&gt;
         .section        .fini&lt;br /&gt;
 @@ -24,6 +23,5 @@&lt;br /&gt;
         move    $srp,$r1&lt;br /&gt;
         subq    4,$sp&lt;br /&gt;
         move.d  $r0,[$sp]&lt;br /&gt;
 -       move.d  $pc,$r0&lt;br /&gt;
 -       sub.d   .:GOTOFF,$r0&lt;br /&gt;
 +       lapc _GLOBAL_OFFSET_TABLE_,$r0&lt;br /&gt;
        .align  1&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	<entry>
		<id>https://wiki.elphel.com/index.php?title=Talk:Gentoo_embedded&amp;diff=5273</id>
		<title>Talk:Gentoo embedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.elphel.com/index.php?title=Talk:Gentoo_embedded&amp;diff=5273"/>
				<updated>2008-09-06T18:52:20Z</updated>
		
		<summary type="html">&lt;p&gt;Skinkie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why don't you try to make an ebuild for Axis' cris-dist-glibc ?&lt;br /&gt;
&lt;br /&gt;
--[[User:Polto|Alexandre.Poltorak]] 13:24, 6 September 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
I have created a crossdev crisv32-axis-linux-uclibc. Glibc was broken on another point in the middle of compilation. Now I'm trying to actually get a normal program to compile with the toolchain just made.&lt;br /&gt;
And to answer your question, to get the axis compilation to work is trivial, I made a hello world with that, but it is not trivial is to compile things with an old GCC ;) So if this works it gives me an uclibc system, I can run the camera from and a cross compiler to make software. And I presume crisv32 is more optimal than cris.&lt;br /&gt;
&lt;br /&gt;
--[[User:Skinkie|Skinkie]] 13:52, 6 September 2008 (CDT)&lt;/div&gt;</summary>
		<author><name>Skinkie</name></author>	</entry>

	</feed>