Difference between revisions of "EBC Listings for Embedded Linux Primer"

From eLinux.org
Jump to: navigation, search
m (Added 2-2 and 2-3)
(Added 2-4)
Line 43: Line 43:
 
| Linux Final Boot Messages
 
| Linux Final Boot Messages
 
| <pre>
 
| <pre>
 +
</pre>
 +
|-
 +
| 2-4
 +
|
 +
| 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>
 
</pre>
 
|}
 
|}

Revision as of 11:01, 3 March 2010

Here are the listing from the Embedded Linux Primer as done on the Beagle.

Chapter 2

Number Page Caption Listing
2-1 Initial Bootloader Serial Output
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
Reading boot sector
Loading u-boot.bin from mmc


U-Boot 2009.11-rc1 (Jan 08 2010 - 21:19:52)

OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
I2C:   ready
DRAM:  256 MB
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Board revision C4
Die ID #5444000400000000040365fa1400e007
Hit any key to stop autoboot:  0
OMAP3 beagleboard.org # 
2-2 Loading the Linux Kernel
2-3 Linux Final Boot Messages

2-4 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;
}

Chapter 4