Talk:OMAP3530 VPU

From MyLabWiki

Revision as of 23:23, 13 August 2011 by Alex (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Startup procedure

This is the startup procedure for the video recorder

  1. Check that camera works OK using a laptop with guvcview
  2. Check all connections, see e.g. Image:FlightMockup-001.jpg
  3. Connect USB console cable to laptop and the Tobi Console port
  4. Establish connection between laptop and Tobi (assume /dev/ttyUSB0):
 $ kermit -l /dev/ttyUSB0
 kermit> set flow-control none
 kermit> set carrier-watch off
 kermit> set speed 115200
 kermit> connect
  1. Switch on the recorder and wait for login prompt to appear on the console
  2. Login
  3. cd video
  4. Execute the wifioff.sh script to switch off WiFi and BT
  5. Execute the camon.sh script to override false USB power protection
  6. Start the capture.sh <cycles>script to start recording
    • 1 cycle = 5 minutes
    • Keep in mind the shortened recording time due to device I/O errors
  7. When capturing has started it is safe to disconnect TTY cable
  8. When rocket is recovered re-establish connection
  9. If script is still running (i.e. there is no prompt on TTY) it is safe to use CTRL+C

wifioff.sh

 echo 0 > /sys/class/gpio/gpio164/value
 echo 0 > /sys/class/gpio/gpio16/value

camon.sh

 echo 1 > /sys/bus/usb/devices/1-1/bConfigurationValue

capture.sh

To be updated

Logbook

2009.06.18

At last, received the Gumstix Overo Fire. IRL smaller than I expected even though I knew the size. Weight 6g confirmed.

2009.09.01

The power connector on the Summit board is very non-standard, see PJ1-022-SMT. I say it is non standard because I couldn't find a single electronics supplier that has this particular size in their series. Do there really expect people to buy that god damn wall plug? I will just mount two wires directly on the board.

2009.11.09

Finally created an alternate power connector for the summit board, see http://twitpic.com/oxe4d
Powered up the Gumstix following the instructions on the website. Ångstrom boots up all right. The first boot took a long time because it had to configure god knows how many GNOME games and other stupid things – it took several minutes. The second boot was much, much faster, less than a minute.

No power manager installed.

WiFi and BT seemed alive but of course there was no connection and I don't know how they are configured. I tried to scan for BT devices from my Mac and there was something. I didn't want to connect since I didn't know if it was the Gumstix or maybe something fishy from one of my neighbors. I'll have to find some docs about these. Btw. a quick scan on the website didn't really turn anything up. I hope this doesn't mean that the Gumstix is just another not very well documented thing.

2009.12.17

e-CAM32_OMAP_GSTIX - Camera Solution for GumStix’s Overo Series:

With V4L2 drivers. Amazing!

2010.06.22

e-con Systems expect to release a 5MPix camera module soon, see blog post. This blog post also suggests that capturing and encoding 720p @ 30fps is possible on the OMAP.

2010.08.14

2010.08.17

2010.08.19

2010.09.01

2010.09.06

GumstixOveroFireTobiCloseup.jpg

2010.09.08

GumstixOveroBoot.jpg GumstixOveroWorkbench.jpg

2010.09.11

Tried with newly flashed image on new µSD card. No luck but noticed an error message right at the beginning of boot:

 Texas Instruments X-Loader 1.4.2 (Mar 27 2009 - 08:51:34)
 Reading boot sector
 Loading u-boot.bin from mmc
 
 U-Boot 2010.06 (Sep 09 2010 - 13:32:51)
 
 OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 600 mHz
 Gumstix Overo board + LPDDR/NAND
 I2C:   ready
 DRAM:  128 MiB
 NAND:  256 MiB
 In:    serial
 Out:   serial
 Err:   serial
 Board revision: 0
 Tranceiver detected on mmc2
 Die ID #6b2400040000000004032d460c005010
 Net:   smc911x-0
 Hit any key to stop autoboot:  0 
 Unknown command 'mmcinit' - try 'help'
 Booting from nand ...
 
 NAND read: device 0 offset 0x280000, size 0x400000
  4194304 bytes read: OK
 ## Booting kernel from Legacy Image at 82000000 ...
    Image Name:   Angstrom/2.6.29-rcfinal+r0+git90
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    2723228 Bytes = 2.6 MiB
    Load Address: 80008000
    Entry Point:  80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
 OK
 
 Starting kernel ...

A Google search lead to this discussion suggesting to "clearing the environment in nand" with:

 nand erase 240000 20000  

I assumed this had to be done right after stopping the autoboot timer, and indeed it worked. After doing that it booted from µSD card!

Tobi network works fine using the new image.

GumstixOveroSdBoot.png

2010.09.12

2010.09.13

Found out why I was getting the kernel panic and broken, graphics, Ethernet, keyboard and mouse, see photo. I really need to get some of those tiny screws.

GumstixOveroBadContact.jpg

Opkg

I think the upgrade broke system! After next reboot I had these messages at the end of boot screen:

 Starting advanced power management daemon: No APM support in kernel
 (failed.)
 Starting ntpd: done
 Starting Samba: smbd nmbd.
 Starting syslogd/klogd: done
  * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon                       [ ok ]
 Starting Bluetooth subsystem:
 Initialization timed out.
 Starting Network connection manager daemon: NetworkManager.
 Starting PVR
 Usage: insmod filename [args]
 ADDRCONF(NETDEV_UP): wlan0: link is not ready
 net eth0: SMSC911x/921x identified at 0xd08c8000, IRQ: 336
 WARNING: Could not open '/lib/modules/2.6.34/kernel/drivers/gpu/pvr/pvrsrvkm.ko': No such file or directory
 FATAL: Could not open '/lib/modules/2.6.34/kernel/drivers/gpu/pvr/omaplfb.ko': No such file or directory
 WARNING: Could not open '/lib/modules/2.6.34/kernel/drivers/gpu/pvr/pvrsrvkm.ko': No such file or directory
 FATAL: Could not open '/lib/modules/2.6.34/kernel/drivers/gpu/pvr/bufferclass_ti.ko': No such file or directory
 mknod: missing operand after `0'
 Try `mknod --help' for more information.
 chmod: cannot access `/dev/pvrsrvkm': No such file or directory
 cups: started scheduler.
 Starting GPE display manager: gpe-dm
 
 .-------.                                           
 |       |                  .-.                      
 |   |   |-----.-----.-----.| |   .----..-----.-----.
 |       |     | __  |  ---'| '--.|  .-'|     |     |
 |   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
 '---'---'--'--'--.  |-----------'  '-----'-'-'-'
                 -'  |
                 '---'
 
 The Angstrom Distribution overo ttyS2
 
 Angstrom 2010.7-test-20100824 overo ttyS2

Also note the version string! I should be Angstrom 2010.7-test-20100909 overo ttyS2

After making a new flash and initializing it I made the mistake selecting a different Enlightenment settings and now it take the desktop long time to come up after the onsole login appears :(

Webcam

GumstixOveroFirstWebcam.jpg GumstixOveroTempVideoCapture.jpg

2010.09.14

2010.09.17

Capture and save raw video

This is very easy using a Gstreamer pipeline, e.g.

 gst-launch -e v4l2src ! video/x-raw-yuv,format=\(fourcc\)YUY2,width=640,height=480,framerate=5/1 ! multifilesink location=img%05d.yuv

but it requires very high bandwidth. I have a Class 6 microSD, but what is the maximum rate we can achieve on the Gumstix Overo?

Measure disk I/O throughput

Capture MJPG video

I don't know how to do it with Gstreamer. I tried the image/jpeg caps as in Pixel formats but can not play the resulting file in anything.

Can we find a working pipeline for capturing JP from camera?

Capturing using the guvcview CLI results in a file playable by VLC and mplayer. Unfortunately, the GUI can not be turned off!

Can we make guvcview work without having X11?

Capture and save JPG images

Using a Gstreamer pipeline with image/jpg and multifilesink generates unreadable files.

Uvccapture captures JPG from camera and saves to file. Unfortunately, it can not use dynamic filenames or capture with higher frame rate than 1 fps. The good news is that uvccapture is very simple and easy to modify.

JPG image sizes (Logitech QuickCam Vision Pro 9000):

Try to modify uvccapture to capture JPG at higher resolutions and at higher frame rates
Try to build uvccapture on Gumstix Overo

2010.09.18

2010.09.19

2010.09.20

2010.09.21

2010.09.22

2010.09.24

Item Mass
Gumstix Overo Fire 6 g
Tobi 28 g
Summit 17g
Pinto-TH
Camera with wire and connector 76 g
Camera without wire and connector 35 g
USB hub (just in case) 49 g
1 Ah LiPo battery 21 g
LiPo battery charger (just in case) 8 g
5V 1A switching regulator 4 g
Gumstix antenna (just in case) 7 g

2010.09.25

 # disable wifi
 echo 0 >  /sys/class/gpio/gpio16/value
 # disable bluetooth
 echo 0 >  /sys/class/gpio/gpio164/value

2010.09.26

⇒ We have to use the Tobi board which is bigger and 11 grams heavier. The Tobi wouldn't have fit on a 9.5 cm plate so it is very fortunate that ERU and Jan decided to make the vertical plate!

2010.09.27

 echo 1 > /sys/bus/usb/devices/1-1/bConfigurationValue

USBFix.png

2010.09.28

FlightMockup-001.jpg

2010.09.29

No more access to device until Sunday, Oct 3 (launch day)

2010.10.01

2010.10.03

2010.10.10

TobiConnector-001.jpg TobiConnector-002.jpg OveroFireConnector-001.jpg OveroFireConnector-002.jpg


2010.11.22

Caught an interesting discussion on the Gumstix mailing list regarding video flickering:

The queue element really seems to help smooth out the stream, not sure why, but it works well. We are capturing frames from two cameras @ 10fps each and merging them into one D1 PAL frame. The cameras are outputting full image data (no compression), so just getting the images in at that rate uses about 15-20% CPU. With the h264 compression and software cropping and saving to RAM disk, total CPU is 44-50%.

...

It seems in your case you may be using a (UVC?) camera with a direct MJPEG interface. So you can dump the frames straight into an MJPEG container and it should work, as you are seeing. However, I would suggest you try adjusting the compression parameters; it seems you are dropping some of the data. It took some pretty careful driver tuning to get our camera working on the gumstix (even though it works great at 60 fps on a netbook), especially adjusting the parameters of the underlying camera. You should try to lower the frame rate to see if it is still dropping out. I actually set our driver to throw out any incomplete frames; I think part of the weakness is the musb driver. You might try the host port (or maybe that is worse...).


2011.08.13

Resuming work on this project :-) Ordered new Gumstix stuff:

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox