Note: the bulk of my work was with the term project, so see that page for most of what I've done this quarter in ECE597 (linked below). I had a catastrophic hard drive failure in the middle of the quarter, so, I'm unfortunately missing some of the scripts I wrote which would have been useful to people in this class and beyond... sorry!
My term project was to create an automobile HUD using the Beagle Board. A lot of my work was support and troubleshooting, including helping fix dependencies as well as being the team OpenCV expert. For more information, especially for the bulk of my work this quarter, see the project's wiki page: ECE597 Project Auto HUD.
Our final presentation was done using Prezi, which is a fairly new Flash-based presentation system. I put together the presentation for the team. See our final presentation.
Random Beagleboard/Development notes
Problems I came across
sometimes, when attempting to run gcc on the beagle, it will complain that it can't find its assembler. To fix this, simply install binutils. On a system using the opkg package manager:
opkg install binutils opkg install binutils-dev
Booting from NFS on the Beagle
When working through ECE597 BeagleBoard DSP Software Setup, I tried booting from NFS. I discovered that this is not as simple as it seems on the beagle, because it normally will not bring up the usb network interface before booting. I understand that there are boot settings to fix this, but I decided to instead use a standard image on an SD card and use SCP to transfer files back and forth.
We noticed during our project that the framebuffer has some weird color issues. I did a bunch of research, but couldn't find any information on this. Since we're just using X for now, we're not overly concerned about this.
On a Debian-based system (Dev)
Copy and paste this into a file to create a bash script (you may need to chmod +x it). It will install OpenCV as well as it's libraries to your system.
#!/bin/bash echo "deb http://mirrors.kernel.org/debian/ testing main" > /tmp/opencv-temp.list echo "deb-src http://mirrors.kernel.org/debian/ testing main" >> /tmp/opencv-temp.list sudo mv /tmp/opencv-temp.list /etc/apt/sources.list.d/opencv-temp.list sudo apt-get update sudo apt-get install -y --allow-unauthenticated libcv4 libcv-dev libhighgui4 libhighgui-dev libcvaux4 libcvaux-dev sudo rm -f /etc/apt/sources.list.d/opencv-temp.list sudo apt-get update
On a non-Debian-based system (Dev)
1. copy and paste the following into a new file called build_opencv
#!/bin/bash sudo true sudo apt-get install cmake mkdir opencv_svn svn co https://code.ros.org/svn/opencv/tags/latest_tested_snapshot opencv_svn cd opencv_svn/opencv mkdir build cd build sed -i -e '3 i #include <stdio.h>' ../samples/c/image.cpp cmake -D BUILD_EXAMPLES=ON .. make sudo make install sudo ldconfig
2. run 'sudo chmod +x ./build_opencv'
3. run build_opencv as nonprivelaged used
4. Enter your root password when prompted. The script will take care of everything, through installing.
On the Beagle
If you are using the opkg package manager:
opkg install gcc gcc-dev binutils binutils-dev opencv opencv-dev
I think there's another package that needs to be installed, but I don't quite remember what it is. You should be able to figure those out based on what dependencies it complains about not having.