Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Difference between revisions of "ECE497 Lab10 gMake"

From eLinux.org
Jump to: navigation, search
m (Renumbered labs)
(Delete, there's a newer page out there.)
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:ECE497]]
+
[[Category:ToDelete]]
  
Texas Instruments' Technical Tranining for students concerning the DaVinci/OMAP platforms including DM64xx, DM35x/36x, OMAP35x, OMAP-L1x, and AMx.  Below are the details of the labs we'll be doing from the DaVinci workshop.   
+
See [[EBC Exercise 07a make]] instead.
 +
 
 +
Texas Instruments' Technical Traning for students concerning the DaVinci/OMAP platforms including DM64xx, DM35x/36x, OMAP35x, OMAP-L1x, and AMx.  Below are the details of the labs we'll be doing from the DaVinci workshop.   
  
 
Note, the workshop calls these labs 6-8.  I'm renumbering them to fit our numbering scheme, so the mapping is:
 
Note, the workshop calls these labs 6-8.  I'm renumbering them to fit our numbering scheme, so the mapping is:
Line 8: Line 10:
 
! Our Lab Number !! TI Lab Number
 
! Our Lab Number !! TI Lab Number
 
|-
 
|-
| 9
+
| 10
 
| 5
 
| 5
 
|-
 
|-
| 10
+
| 11
 
| 6
 
| 6
 
|-
 
|-
| 11
+
| 12
 
| 7
 
| 7
 
|-
 
|-
| 12
+
| 13
 
| 8
 
| 8
 
|}
 
|}
  
 +
Labs 10/5 appears here the rest have their own pages.
  
== Lab 09a - Instillation ==
+
== Lab 10/5a - Installation ==
  
* Before starting on the labs, make sure to setup the [[ECE597_BeagleBoard_DSP_Software_Setup|BeagleBoard DSP]]. 
+
* Go to the class dfs site and get
** For Lab 5, the only required setup is the DVSDK ([http://focus.ti.com/docs/toolsw/folders/print/linuxdvsdk-dv.html Linux Digital Video Software Development Kit for DaVinci Devices]) and XDC Tools ([http://rtsc.eclipse.org/docs-tip/RTSC_Module_Primer eXtenDed C Tools])
+
 
+
* Go to the class [https://myrhit.rose-hulman.edu/class/ece597/default.aspx SharePoint Site] and get
+
 
** DaVinci-OMAP_Workshop_v2.0.pdf
 
** DaVinci-OMAP_Workshop_v2.0.pdf
 
** tto_workshop_labs_(v2.00).tar
 
** tto_workshop_labs_(v2.00).tar
Line 34: Line 34:
 
* Untar the labs file on your Linux host.  It will create two directories, '''workshop''' and '''solutions'''.  You will find the materials needed to do the labs below in the '''workshop''' directory.  The finished product for each lab can be found in the '''solutions''' directory.  The directions in '''DaVanci-OMAP_Workshop''' file will tell you which directory to use for each lab.
 
* Untar the labs file on your Linux host.  It will create two directories, '''workshop''' and '''solutions'''.  You will find the materials needed to do the labs below in the '''workshop''' directory.  The finished product for each lab can be found in the '''solutions''' directory.  The directions in '''DaVanci-OMAP_Workshop''' file will tell you which directory to use for each lab.
  
These labs were originally done for the Digital Video Evaluation Module (DVEVM).  We will be adapting them for the BeagleBoard as we go.
+
These labs were originally done for the Digital Video Evaluation Module (DVEVM).  I've  adapted them for the BeagleBoard.
  
== Lab 09b - gMake ==
+
== Lab 10/5b - gMake ==
  
Lab 05 is on pages 125-157 of the DaVinci-OMAP_Workshop_v2.0.pdf file. Work through this lab.  You'll learn how '''make''' works.  Part C has an error in the solution, a workaround can be found [[User:Simonea|here]].  When you get to part D, compare my version of the make file ('''makefile_profile.mak.yoder''') to the one in the folder.  The workshop assumes you have NFS setup to share files between the DVEVM and the host computer.  Rather than share files, I've set up the makefile so use sftp and ssh to copy the executables to the Beagle when installing.  If you can at the NFS working, great!, otherwise use my setup.  
+
Lab 10 is lab 5 on pages 125-157 of '''DaVinci-OMAP_Workshop_v2.0.pdf'''. Work through this lab.  You'll learn how '''make''' works.  Part C has an error in the solution, a workaround can be found [[User:Simonea|here]].  When you get to part D, compare my version of the make file ('''makefile_profile.mak.yoder''') to the one in the folder.  The workshop assumes you have NFS setup to share files between the DVEVM and the host computer.  Rather than share files, I've set up the makefile so use sftp and ssh to copy the executables to the Beagle when installing.  If you can get NFS working, great!, otherwise use my setup.  
  
To get part '''d''' to compile correctly, you have to make sure all the path information is correct.  Make sure to edit '''setpaths.sh, setpaths.mak, and makefile_profile.mak'''.  Because Configuro is stubborn, you will still need to link 'arm_v5t_le-gcc' to 'arm-nonearm-none-linux-gnueabi-gcc' if it is to compile.
+
To get part '''d''' to compile correctly, you have to make sure all the path information is correct.  Make sure to edit '''setpaths.sh, setpaths.mak, and makefile_profile.mak'''.  Because Configure is stubborn, you will still need to link <code>arm_v5t_le-gcc</code> to <code>arm-nonearm-none-linux-gnueabi-gcc</code> if it is to compile.
 
<pre>
 
<pre>
 
cd /home/user/CodeSourcery/Sourcery_G++_Lite/bin
 
cd /home/user/CodeSourcery/Sourcery_G++_Lite/bin
 
ln -s arm-none-linux-gnueabi-gcc arm_v5t_le-gcc
 
ln -s arm-none-linux-gnueabi-gcc arm_v5t_le-gcc
 
</pre>
 
</pre>
 
== Lab 10 - Using the OSS Driver ==
 
 
Lab 06 is on pages 171-186 of the DaVinci-OMAP_Workshop_v2.0.pdf file.  In doing this lab you will get audio from the line-in jack on the Beagle and sent it out the speaker jack.
 
* Go to the class [https://myrhit.rose-hulman.edu/class/ece597/default.aspx SharePoint Site] and get
 
** setpaths.mak
 
** setpaths.sh
 
 
* Move the '''setpaths''' files in the workshop directory to another location.
 
<pre>
 
host $ cd workshop
 
host $ mv setpaths.sh setpaths.sh.orig
 
host $ mv setpaths.mak setpaths.mak.orig
 
</pre>
 
* Copy the setpaths files you got from SharePoint into the workshop directory. In Lab 6 you will edit these files so they are correct.
 
 
You will still need the symbolic link from part 5, and make sure to update the file paths. 
 
 
== Lab 11 - Using Video Drivers ==
 
 
=== Lab 11a - Writing to a Frame Buffer ===
 
 
Lab 11a almost works on the Beagle.  You should be able to write to the frame buffer directly with a couple of changes.  Here are some hints about what to change:
 
 
* The path to the frame buffer <code>/dev/fb...</code> is different on the Beagle than in the code.  Look on the Beagle and find the right path.  Find the path in the code and change it.
 
* The code assumes an attribute frame.  I haven't found this on the Beagle, use #define's to remove the code that references the attribute frame.
 
* Initially I commented out the code that draws the circular frame.
 
 
With these few changes your code should compile and when run it should display your picture on the Beagle.  I was surprised to find it even worked through the VNC.  I'm guessing X-windows just displays what's in the buffer.
 
 
Here's some things to try to see if you understand how the code works.
 
 
* The code sets the background color to black.  Make the background another color.
 
* Try getting <code>video_osd_circframe</code> to work.
 
 
=== Lab 11b - Recording Video ===
 
 
Lab 11b almost works too.  There are a couple of <code>ioctl</code> class that don't work with the web cam.  Just <code>#define</code> them out.  Don't run the app too long, it's writing to /tmp and you might fill it up.
 
 
=== Lab 11c - Video Playback ===
 
 
== Lab 12 - Multithread ==
 

Latest revision as of 19:25, 9 December 2011


See EBC Exercise 07a make instead.

Texas Instruments' Technical Traning for students concerning the DaVinci/OMAP platforms including DM64xx, DM35x/36x, OMAP35x, OMAP-L1x, and AMx. Below are the details of the labs we'll be doing from the DaVinci workshop.

Note, the workshop calls these labs 6-8. I'm renumbering them to fit our numbering scheme, so the mapping is:

Our Lab Number TI Lab Number
10 5
11 6
12 7
13 8

Labs 10/5 appears here the rest have their own pages.

Lab 10/5a - Installation

  • Go to the class dfs site and get
    • DaVinci-OMAP_Workshop_v2.0.pdf
    • tto_workshop_labs_(v2.00).tar
    • makefile_profile.mak
  • Untar the labs file on your Linux host. It will create two directories, workshop and solutions. You will find the materials needed to do the labs below in the workshop directory. The finished product for each lab can be found in the solutions directory. The directions in DaVanci-OMAP_Workshop file will tell you which directory to use for each lab.

These labs were originally done for the Digital Video Evaluation Module (DVEVM). I've adapted them for the BeagleBoard.

Lab 10/5b - gMake

Lab 10 is lab 5 on pages 125-157 of DaVinci-OMAP_Workshop_v2.0.pdf. Work through this lab. You'll learn how make works. Part C has an error in the solution, a workaround can be found here. When you get to part D, compare my version of the make file (makefile_profile.mak.yoder) to the one in the folder. The workshop assumes you have NFS setup to share files between the DVEVM and the host computer. Rather than share files, I've set up the makefile so use sftp and ssh to copy the executables to the Beagle when installing. If you can get NFS working, great!, otherwise use my setup.

To get part d to compile correctly, you have to make sure all the path information is correct. Make sure to edit setpaths.sh, setpaths.mak, and makefile_profile.mak. Because Configure is stubborn, you will still need to link arm_v5t_le-gcc to arm-nonearm-none-linux-gnueabi-gcc if it is to compile.

cd /home/user/CodeSourcery/Sourcery_G++_Lite/bin
ln -s arm-none-linux-gnueabi-gcc arm_v5t_le-gcc