Eclipse from Box to Debug
This page is meant to serve as a quickstart guide that takes you from opening an Overo + Expansion out of the Box up to Remote Debugging with Eclipse on Ubuntu.
Contents
Setting up Minicom
- sudo apt-get install minicom
- sudo minicom -s
- [Serial port setup] -> A - Serial Device -> /dev/ttyUSB0 -> [enter]
- [Serial port setup] -> F - Hardware Flow Control -> NO -> [enter]
- [Modem and dialing] -> A - Init String -> [empty] -> [enter]
- [Modem and dialing] -> B - Reset String -> [empty] -> [enter]
- [Modem and dialing] -> K - Hang-up String -> [empty] -> [enter]
- [Save as dfl]
- [Exit from Minicom]
On this site in the lowest consumption 60 USD calvin klein Underwear Known as the world's finest designer underwear, Calvin Klein Underwear was formed in 1982 and would forever alter the way the world viewed-and bought - Men's Calvin klein underwear. On this site in the lowest consumption 60 USD Once a utilitarian product, Men's calvin klein underwearsuddenly became an object of desire. New advertising campaigns communicated the message of the updated, sexy sensibility that distinguished ck underwear from all others. A complete woMen's underwear line followed in 1983. Each season since then, the brand has delivered a new line including basics, basics in fashion colors, as well as fashion-forward, trendy ck underwear to their customers. Defined by iconic simplicity and subtle seduction, there is nothing like a Calvin Klein design.
Power & Boot
- Plug the gumstix into the expansion board
- Plug the expansion board into your ethernet router / switch / whatever
- Plug in the micro-SD
- Plug a mini-usb plug (as you would use with a camera) into the mini-usb port labeled console
- sudo minicom -o # disables modem and dialing settings
- Plug in the 5v power supply
- Watch the system boot
OpenEmbedded [OE] Toolchain on Ubuntu
Official (and Thorough) Documentation
sudo apt-get install git-core cd mkdir -p ~/overo-oe/user.collection cd ~/overo-oe git clone git://gitorious.org/gumstix-oe/mainline.git org.openembedded.dev cd org.openembedded.dev git checkout --track -b overo origin/overo cd ~/overo-oe git clone git://git.openembedded.net/bitbake bitbake # just try this again if it hangs up cd bitbake git checkout 1.8.18 cd ~/overo-oe cp -r org.openembedded.dev/contrib/gumstix/build . cp ~/.bashrc ~/bashrc.bak cat ~/overo-oe/build/profile >> ~/.bashrc source ~/overo-oe/build/profile
The important part:
bitbake gdb-cross
Gumstix Setup
From the previous step your Gumstix should have started configuring itself and hopefully is done, leaving you at the login prompt
root passwd #(change your password) ifconfig # configure as necessary. I assume that your IP address is 192.168.1.150 opkg install gdbserver
Hello World!
This is all taking place on the Ubuntu system (192.18.1.100)
hello.c
mkdir ~/overo-oe/Code/ cd ~/overo-oe/Code/ vim hello.c
#include <cstdio> int main(int argc, char ** argv) { printf("Hello World!\n"); }
Makefile
vim Makefile
CGTOOLS = ~/overo-oe/tmp/cross/armv7a # Compiler and Linker flags C_FLAGS += -Wall -g CPP_FLAGS += -Iinclude LD_FLAGS += -g -lm # compiler CC = $(CGTOOLS)/bin/arm-angstrom-linux-gnueabi-g++ $(C_FLAGS) $(CPP_FLAGS) -c LINK = $(CGTOOLS)/bin/arm-angstrom-linux-gnueabi-g++ $(LD_FLAGS) STRIP = $(CGTOOLS)/bin/arm-angstrom-linux-gnueabi-strip .PHONY: all clean all: clean hello clean: rm hello *.o -rf hello: hello.o $(LINK) -o hello hello.o cp hello hello.debug $(STRIP) hello hello.o: hello.c $(CC) -o hello.o hello.c
Compile
Now we'll compile the program with the debug symbols, strip the symbols, and copy it to the gumstix (192.168.1.150)
make cp ./hello ./hello.debug ~/overo-oe/tmp/cross/armv7a/bin/arm-angstrom-linux-gnueabi-strip ./hello ./hello # fails because it can't run on your architecture ssh-copy-id root@192.168.1.150 scp ./hello root@192.168.1.150:/hello # ssh root@192.168.1.150 "/hello" # succeeds ssh root@192.168.1.150 "gdbserver 192.168.1.100:43276 /hello" # starts remote gdb # use ctrl-z and then bg 1 to background this process, or run it from another ssh session ~/overo-oe/tmp/cross/armv7a/bin/arm-angstrom-linux-gnueabi-gdb --symbols ./hello.debug target remote 192.168.1.150:43276 continue
Debug
Now we can introduce a bug and test again
mkdir ~/overo-oe/Code/ cd ~/overo-oe/Code/ vim hello.c
#include <cstdio> int main(int argc, char ** argv) { printf("Hello World!\n"); char * h; delete h; delete h; }
Eclipse
We explore how to use eclipse.
I'm currently grokking through http://old.nabble.com/Solution:-Using-Eclipse-CDT-for-Gusmtix-development-tt18251552.html#a18251552 and http://krupets.com/index.php?option=com_content&view=article&id=18&Itemid=20
Plugins
Update sites and plugins
Configuration
Navigating through menus
Remote Deployment Debugging
Having it somehow all come together to this culminating point