Difference between revisions of "User:Collinjc"

From eLinux.org
Jump to: navigation, search
m (Created blanks for listings)
Line 44: Line 44:
 
echo "Completed after $COUNT attempts."
 
echo "Completed after $COUNT attempts."
 
</pre>
 
</pre>
 +
 +
==Listings==
 +
== Chapter 2 ==
 +
 +
{|
 +
! Number
 +
! Page
 +
! Caption
 +
! Listing
 +
|-
 +
| 2-1
 +
| 2-6
 +
| Initial Bootloader Serial Output
 +
| <pre>
 +
 +
</pre>
 +
|-
 +
| 2-2
 +
| 2-7
 +
| Loading the Linux Kernel
 +
|
 +
|-
 +
| 2-3
 +
| 2-9
 +
| Linux Final Boot Messages
 +
| <pre>
 +
</pre>
 +
|-
 +
| 2-4
 +
| 2-21
 +
| Hello World, Embedded Style
 +
| <pre>
 +
#include <stdio.h>
 +
 +
int bss_var;        /* Uninitialized global variable */
 +
 +
int data_var = 1;  /* Initialized global variable */
 +
 +
int main(int argc, char **argv)
 +
{
 +
  void *stack_var;            /* Local variable on the stack */
 +
 
 +
  stack_var = (void *)main;  /* Don't let the compiler */
 +
                              /* optimize it out */
 +
 +
  printf("Hello, World! Main is executing at %p\n", stack_var);
 +
  printf("This address (%p) is in our stack frame\n", &stack_var);
 +
 +
  /* bss section contains uninitialized data */
 +
  printf("This address (%p) is in our bss section\n", &bss_var);
 +
 +
  /* data section contains initializated data */
 +
  printf("This address (%p) is in our data section\n", &data_var);
 +
 +
  return 0;
 +
}
 +
</pre>
 +
|-
 +
| 2-5
 +
| 2-22
 +
| Hello Output for Host Computer
 +
| <pre>
 +
</pre>
 +
|-
 +
| 2-5
 +
| 2-22
 +
| Hello Output for Beagle
 +
| <pre>
 +
</pre>
 +
|}
 +
 +
== Chapter 4 ==
 +
 +
{|
 +
! Number
 +
! Page
 +
! Caption
 +
! Listing
 +
|-
 +
| 4-1
 +
| 4-7
 +
| Kernel Build Output
 +
| <pre>
 +
</pre>
 +
|-
 +
| 4-2
 +
| 4-9
 +
| Link Stage: vmlinux
 +
| <pre>
 +
</pre>
 +
|-
 +
| 4-3
 +
| 4-14
 +
| Kernel Subdirectory
 +
| <pre>
 +
</pre>
 +
|}
 +
  
 
[[Category:ECE597]]
 
[[Category:ECE597]]

Revision as of 18:58, 18 March 2010

I am majoring in computer engineering and pursuing a certificate in optical communications. I am currently enrolled in ECE597, hoping to explore the applications of Linux in an embedded environment as well as the necessary considerations that must be made in developing for such an environment. I have a keen interest and a great deal of experience with Linux and am a member of the Rose-Hulman Linux Users' Group.

I am currently working on a script to automate the bitbake process with multiple cores. This is a copy of the script in its current form. Please note that it is a work in progress.

#!/bin/sh
# bitbake automation
# J. Cody Collins

START=$(date +%s)

MAXTRIES=15
COUNT=1

export OETREE="${HOME}/oe"

echo "set environment variables"
. ${OETREE}/sourceme.txt 

echo "Go to the OE tree"
cd ${OETREE}/openembedded 

echo "Make sure it's up to date"
git pull --rebase

echo "Start building"
bitbake $1

while [ $? -ne 0 ]; do
	if [ $COUNT -lt $MAXTRIES ]; then
		((COUNT++))
		echo "re-running bitbake -- trial $COUNT"
		# Give the user a chance to kill the task
		sleep 5
		bitbake $1
	else
		echo "Maximum tries exceeded. Exiting..."
		break
	fi
done

END=$(date +%s)
DIFF=$(( $END - $START ))
echo "Build took $DIFF seconds."
echo "Completed after $COUNT attempts."

Listings

Chapter 2

Number Page Caption Listing
2-1 2-6 Initial Bootloader Serial Output

2-2 2-7 Loading the Linux Kernel
2-3 2-9 Linux Final Boot Messages

2-4 2-21 Hello World, Embedded Style
#include <stdio.h>

int bss_var;        /* Uninitialized global variable */

int data_var = 1;   /* Initialized global variable */

int main(int argc, char **argv)
{
  void *stack_var;            /* Local variable on the stack */
  
  stack_var = (void *)main;   /* Don't let the compiler */
                              /* optimize it out */

  printf("Hello, World! Main is executing at %p\n", stack_var);
  printf("This address (%p) is in our stack frame\n", &stack_var);

  /* bss section contains uninitialized data */
  printf("This address (%p) is in our bss section\n", &bss_var);

  /* data section contains initializated data */
  printf("This address (%p) is in our data section\n", &data_var);

  return 0;
}
2-5 2-22 Hello Output for Host Computer

2-5 2-22 Hello Output for Beagle

Chapter 4

Number Page Caption Listing
4-1 4-7 Kernel Build Output

4-2 4-9 Link Stage: vmlinux

4-3 4-14 Kernel Subdirectory