It's been a long time since I wrote my last piece of blog here. Reason was my 7 day of holiday in Portugal. Just before my holiday I tested as much as possible of the previous indicated points:
Writing a test for the DAC (also i2c driven) :
Succeeded but I must take the other supply to have the right levels.
Add interrupt masking to the pca input :
Succeeded but I saw contact glitches to take care off.
Writing a test to catch the interrupt in user space :
Succeeded but it will be better to combine poll/int because of the contact glitches when
push/release the button
Evaluate the level based interrupt and filter (re entrance) :
The linux gpio dev driver definitely stacks the interrupts (level changes) so filtering is needed.
Compiling / installing / testing with lighthttpd:
Succeeded even with the PHP extension as fast-cgi. Also the big pdf issue seems to be solved with this web deamon.
I also extended my overall linux tests on the NGW results can be viewed on my google pages:
http://guyvo67.googlepages.com/index
Still todo are:
-Writing a "covered all" test as proof of concept for the IO board and let it run +24h
-Extend this program including an exec (fork) call towards playing a sound
-Making a documentation of proof of concept
When all that is finished I can finally start the analyzes of the application. As the new web server turns out to be great even with the possibility of the php extension changes are high to go for the web based approach. It would be great to combine my already existing page stuff with the domotics user interface so all is placed in one central spot. And even more it will be located on my server and not one of a provider which brings a certain flexibility and freedom. It sounds very interesting to put some time in learning the PHP language too. To be short things are going Smoothly now. And lot of enjoys in the future weeks to come.
Wednesday, May 21, 2008
Sunday, May 4, 2008
new build
I took the opportunity to make a new buildroot based on the kernel 2.6.24.3 because I upgraded my laptop to ubuntu hardy (8). The installation of ubuntu starting off the live CD went smoothly. And it seems like to run much better on my laptop. The AVR32 related stuff was a bit more difficult to reinstall. I first did it with a wrong tree which was not completely stable but after that I had the official atmel tree straight from the git repository. Of course this took a lot of time to manage but it's up now. I made a personal Google link to memorize what I'd done:
http://guyvo67.googlepages.com/index
It's an excellent aid to have the page maker tool here at Google. This time I even went much further in making the build process almost automatically by a script. This speeds up time. After that I continued in my IO board testing. All the i2c components are now tested and seems to work fine. The patch for the AC97 is also included now with the reset coming from the driver via the PA23. The interrupt from the pca comes in like it should be. Of course this is a level based interrupt and care must be taken in programming this correctly but this is for later.
In the meanwhile I started to play around with some small performance programs based on pthreads. The reason for that is when I tested the httpd and ftp server I noticed problems with large file transfer and because I'm going to use perhaps the httpd to serve my new system. I also introduced a swap partition on sd card. First tests seems great. The test was starting 20 threads and write/read/cmp each 10Mb allocated on the heap. (byte wise) So the swap must be used:
./memc.elf 20 10000
entering thread 20
entering thread 19
entering thread 18
entering thread 17
entering thread 16
entering thread 15
entering thread 14
entering thread 13
entering thread 12
entering thread 11
entering thread 10
entering thread 9
entering thread 8
entering thread 7
entering thread 6
entering thread 5
entering thread 4
entering thread 3
entering thread 2
entering thread 1
start reading thread 20
start reading thread 6
start reading thread 17
start reading thread 15
start reading thread 13
start reading thread 19
start reading thread 16
start reading thread 10
start reading thread 1
start reading thread 5
start reading thread 18
start reading thread 8
start reading thread 3
start reading thread 2
start reading thread 7
start reading thread 11
start reading thread 9
start reading thread 12
start reading thread 4
start reading thread 14
leaving thread 16
leaving thread 5
leaving thread 20
leaving thread 6
leaving thread 8
leaving thread 3
leaving thread 17
leaving thread 13
leaving thread 11
leaving thread 15
leaving thread 7
leaving thread 2
leaving thread 12
leaving thread 10
leaving thread 1
leaving thread 9
leaving thread 4
leaving thread 19
leaving thread 18
leaving thread 14
total used free shared buffers
Mem: 30320 29416 904 0 48
Swap: 240964 176224 64740
Total: 271284 205640 65644
It took 7 minutes which is not bad considering the swap on SD card. I will continue in tests like this and extend them with the use of the network layer.
http://guyvo67.googlepages.com/index
It's an excellent aid to have the page maker tool here at Google. This time I even went much further in making the build process almost automatically by a script. This speeds up time. After that I continued in my IO board testing. All the i2c components are now tested and seems to work fine. The patch for the AC97 is also included now with the reset coming from the driver via the PA23. The interrupt from the pca comes in like it should be. Of course this is a level based interrupt and care must be taken in programming this correctly but this is for later.
In the meanwhile I started to play around with some small performance programs based on pthreads. The reason for that is when I tested the httpd and ftp server I noticed problems with large file transfer and because I'm going to use perhaps the httpd to serve my new system. I also introduced a swap partition on sd card. First tests seems great. The test was starting 20 threads and write/read/cmp each 10Mb allocated on the heap. (byte wise) So the swap must be used:
./memc.elf 20 10000
entering thread 20
entering thread 19
entering thread 18
entering thread 17
entering thread 16
entering thread 15
entering thread 14
entering thread 13
entering thread 12
entering thread 11
entering thread 10
entering thread 9
entering thread 8
entering thread 7
entering thread 6
entering thread 5
entering thread 4
entering thread 3
entering thread 2
entering thread 1
start reading thread 20
start reading thread 6
start reading thread 17
start reading thread 15
start reading thread 13
start reading thread 19
start reading thread 16
start reading thread 10
start reading thread 1
start reading thread 5
start reading thread 18
start reading thread 8
start reading thread 3
start reading thread 2
start reading thread 7
start reading thread 11
start reading thread 9
start reading thread 12
start reading thread 4
start reading thread 14
leaving thread 16
leaving thread 5
leaving thread 20
leaving thread 6
leaving thread 8
leaving thread 3
leaving thread 17
leaving thread 13
leaving thread 11
leaving thread 15
leaving thread 7
leaving thread 2
leaving thread 12
leaving thread 10
leaving thread 1
leaving thread 9
leaving thread 4
leaving thread 19
leaving thread 18
leaving thread 14
total used free shared buffers
Mem: 30320 29416 904 0 48
Swap: 240964 176224 64740
Total: 271284 205640 65644
It took 7 minutes which is not bad considering the swap on SD card. I will continue in tests like this and extend them with the use of the network layer.
Subscribe to:
Comments (Atom)