User:Jacksogc

From eLinux.org
Jump to: navigation, search

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!

Term Project

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

gcc, asm

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.

Framebuffer colors

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.

Installing OpenCV

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.