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 "User:Xinkeqiong"

From eLinux.org
Jump to: navigation, search
(Chapter 2)
(Our Project)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Hi, My name is Keqiong "Claire" Xin. I'm now pursuing the Master Degree of Computer Engineering in Rose-Hulman. This is my user page for course ECE597 Embedded Linux.
 
Hi, My name is Keqiong "Claire" Xin. I'm now pursuing the Master Degree of Computer Engineering in Rose-Hulman. This is my user page for course ECE597 Embedded Linux.
  
* [[ECE597 Listings for Chapter 2 | Listings for Chapter 2 ]]
+
== Our Project ==
 +
Our project in this course is [[ECE597: Auto HUD]]. All the documentation is contained in the page link.
  
== Chapter 2 ==
+
The idea of this project is to recognize road signs with Beagleboard and camera, and display the result through the pico projector.
  
{|
+
1. Build the sample set for training, and using Haar training program to train the samples.
! Number
+
! Page
+
! Caption
+
! Listing
+
|-
+
| 2-1
+
| 2-6
+
| Initial Bootloader Serial Output
+
| <pre>
+
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
+
Reading boot sector
+
Loading u-boot.bin from mmc
+
  
 +
2. Working on sign detection code to optimize the detection result.
  
U-Boot 2009.11-rc1 (Jan 08 2010 - 21:19:52)
+
3. Get the display buffer working.
  
OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
+
== Chapter 2 ==
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 #
+
</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 */
+
* [[ECE597 Listings for Chapter 2 xink | Listings for Chapter 2 ]]
 
+
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>
+
Hello, World! Main is executing at 0x80483c4
+
This address (0xbfc4b7e0) is in our stack frame
+
This address (0x804a020) is in our bss section
+
This address (0x804a014) is in our data section
+
</pre>
+
|-
+
| 2-5
+
| 2-22
+
| Hello Output for Beagle
+
| <pre>
+
root@beagleboard:~# ./a.out
+
Hello, World! Main is executing at 0x8380
+
This address (0xbe876cd4) is in our stack frame
+
This address (0x10670) is in our bss section
+
This address (0x10668) is in our data section
+
</pre>
+
|}
+
  
 
== Chapter 4 ==
 
== Chapter 4 ==
  
{|
+
* [[ECE597 Listings for Chapter 4 xink | Listings for Chapter 4 ]]
! Number
+
! Page
+
! Caption
+
! Listing
+
|-
+
| 4-1
+
| 4-7
+
| Kernel Build Output
+
| <pre>
+
$ export OETREE="${HOME}/oe"
+
$ PATH=${OETREE}/angstrom-dev/staging/i686-linux/usr/bin/:${PATH}
+
$ PATH=${OETREE}/angstrom-dev/cross/armv7a/bin/:${PATH}
+
$ make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage
+
  
scripts/kconfig/conf -s arch/arm/Kconfig
+
== Chapter 5 ==
  CHK    include/linux/version.h
+
make[1]: `include/asm-arm/mach-types.h' is up to date.
+
  CHK    include/linux/utsrelease.h
+
  SYMLINK include/asm -> include/asm-arm
+
  CC      kernel/bounds.s
+
  GEN    include/linux/bounds.h
+
  CC      arch/arm/kernel/asm-offsets.s
+
  GEN    include/asm/asm-offsets.h
+
  CALL    scripts/checksyscalls.sh
+
  CC      scripts/mod/empty.o
+
  MKELF  scripts/mod/elfconfig.h
+
  HOSTCC  scripts/mod/file2alias.o
+
  HOSTCC  scripts/mod/modpost.o
+
  HOSTCC  scripts/mod/sumversion.o
+
  HOSTLD  scripts/mod/modpost
+
  CC      init/main.o
+
      .
+
      .  <lines of output omitted here>
+
      .
+
  LD      vmlinux
+
  SYSMAP  System.map
+
  SYSMAP  .tmp_System.map
+
  OBJCOPY arch/arm/boot/Image
+
  Kernel: arch/arm/boot/Image is ready
+
  AS      arch/arm/boot/compressed/head.o
+
  GZIP    arch/arm/boot/compressed/piggy.gz
+
  AS      arch/arm/boot/compressed/piggy.o
+
  CC      arch/arm/boot/compressed/misc.o
+
  LD      arch/arm/boot/compressed/vmlinux
+
  OBJCOPY arch/arm/boot/zImage
+
  Kernel: arch/arm/boot/zImage is ready
+
  UIMAGE  arch/arm/boot/uImage
+
Image Name:  Linux-2.6.29-omap1
+
Created:      Wed Mar 24 01:01:33 2010
+
Image Type:  ARM Linux Kernel Image (uncompressed)
+
Data Size:    2994372 Bytes = 2924.19 kB = 2.86 MB
+
Load Address: 80008000
+
Entry Point:  80008000
+
  Image arch/arm/boot/uImage is ready
+
</pre>
+
|-
+
| 4-2
+
| 4-9
+
| Link Stage: vmlinux
+
| <pre>
+
</pre>
+
|-
+
| 4-3
+
| 4-15
+
| Kernel Subdirectory
+
| <pre>
+
$ ls -ls arch/arm/plat-omap/ | grep -v \\.o
+
arch/arm/plat-omap:
+
total 764
+
  8 -rw-r--r-- 1 xink students  8100 Mar 19 19:48 Kconfig
+
  4 -rw-r--r-- 1 xink students    824 Mar 15 02:52 Makefile
+
  4 -rw-r--r-- 1 xink students  2404 Mar 11 07:46 bootreason.c
+
16 -rw-r--r-- 1 xink students  15334 Mar 11 07:46 clock.c
+
12 -rw-r--r-- 1 xink students  8210 Mar 11 07:46 common.c
+
  4 -rw-r--r-- 1 xink students  1593 Mar 11 07:46 component-version.c
+
  4 -rw-r--r-- 1 xink students  4053 Mar 11 07:46 cpu-omap.c
+
  4 -rw-r--r-- 1 xink students  1975 Mar 11 07:46 debug-devices.c
+
  8 -rw-r--r-- 1 xink students  7120 Mar 11 07:46 debug-leds.c
+
12 -rw-r--r-- 1 xink students  9975 Mar 11 07:46 devices.c
+
60 -rwxr-xr-x 1 xink students  59827 Mar 15 02:51 dma.c
+
24 -rw-r--r-- 1 xink students  20791 Mar 11 07:46 dmtimer.c
+
12 -rw-r--r-- 1 xink students  9675 Mar 15 02:51 fb.c
+
16 -rw-r--r-- 1 xink students  12815 Mar 11 07:46 gpio-switch.c
+
48 -rw-r--r-- 1 xink students  47671 Mar 11 07:46 gpio.c
+
  8 -rw-r--r-- 1 xink students  5841 Mar 11 07:46 i2c.c
+
  0 drwxr-xr-x 3 xink students    72 Mar 11 07:46 include
+
  4 -rw-r--r-- 1 xink students  3749 Mar 11 07:46 io.c
+
20 -rw-r--r-- 1 xink students  19782 Mar 15 02:52 iommu.c
+
20 -rw-r--r-- 1 xink students  17214 Mar 15 03:17 iommu.ko
+
  4 -rw-r--r-- 1 xink students  1924 Mar 15 03:16 iommu.mod.c
+
  4 -rw-r--r-- 1 xink students  2152 Mar 15 02:52 iopgtable.h
+
20 -rw-r--r-- 1 xink students  19139 Mar 15 02:52 iovmm.c
+
16 -rw-r--r-- 1 xink students  14686 Mar 15 03:17 iovmm.ko
+
  4 -rw-r--r-- 1 xink students  1764 Mar 15 03:16 iovmm.mod.c
+
12 -rw-r--r-- 1 xink students  12069 Mar 11 07:46 mailbox.c
+
28 -rw-r--r-- 1 xink students  26560 Mar 11 07:46 mcbsp.c
+
  4 -rw-r--r-- 1 xink students  2109 Mar 11 07:46 mux.c
+
  4 -rw-r--r-- 1 xink students  2739 Mar 11 07:46 ocpi.c
+
12 -rw-r--r-- 1 xink students  10915 Mar 11 07:46 sram.c
+
20 -rw-r--r-- 1 xink students  18290 Mar 11 07:46 usb.c
+
16 -rw-r--r-- 1 xink students  13911 Mar 15 02:51 vram.c
+
  8 -rw-r--r-- 1 xink students  6426 Mar 15 02:51 vrfb.c
+
</pre>
+
|-
+
| 4-4
+
| 4-17
+
| Snippet from Linux 2.6 .config
+
| <pre>
+
...
+
#
+
# USB Input Devices
+
#
+
CONFIG_USB_HID=y
+
# CONFIG_HID_PID is not set
+
# CONFIG_USB_HIDDEV is not set
+
  
#
+
* [[ECE597 Listings for Chapter 5 xink | Listings for Chapter 5 ]]
# Special HID drivers
+
#
+
CONFIG_HID_COMPAT=y
+
CONFIG_HID_A4TECH=y
+
CONFIG_HID_APPLE=y
+
CONFIG_HID_BELKIN=y
+
CONFIG_HID_CHERRY=y
+
CONFIG_HID_CHICONY=y
+
CONFIG_HID_CYPRESS=y
+
CONFIG_HID_EZKEY=y
+
CONFIG_HID_GYRATION=y
+
CONFIG_HID_LOGITECH=y
+
# CONFIG_LOGITECH_FF is not set
+
# CONFIG_LOGIRUMBLEPAD2_FF is not set
+
CONFIG_HID_MICROSOFT=y
+
CONFIG_HID_MONTEREY=y
+
...
+
</pre>
+
|-
+
| 4-5
+
| 4-21
+
| Linux autoconf.h
+
| <pre>
+
#define CONFIG_USB_SISUSBVGA_MODULE 1
+
#define CONFIG_USB_PHIDGETMOTORCONTROL_MODULE 1
+
#define CONFIG_USB_MUSB_HDRC 1
+
#define CONFIG_USB_LEGOTOWER_MODULE 1
+
#define CONFIG_USB_SERIAL_IR_MODULE 1
+
#define CONFIG_USB_GSPCA_T613_MODULE 1
+
#define CONFIG_USB_SERIAL_TI_MODULE 1
+
#define CONFIG_USB_ETH_RNDIS 1
+
#define CONFIG_USB_SERIAL_MODULE 1
+
#define CONFIG_USB_W9968CF_MODULE 1
+
#define CONFIG_USB_RTL8150 1
+
#define CONFIG_USB_SERIAL_WHITEHEAT_MODULE 1
+
#define CONFIG_USB_GADGET_MUSB_HDRC 1
+
#define CONFIG_USB_KAWETH 1
+
#define CONFIG_USB_ZERO_HNPTEST 1
+
#define CONFIG_USB_CXACRU_MODULE 1
+
#define CONFIG_USB_SERIAL_ARK3116_MODULE 1
+
#define CONFIG_USB_G_PRINTER_MODULE 1
+
#define CONFIG_USB_NET_PLUSB 1
+
#define CONFIG_USB_GPIO_VBUS 1
+
#define CONFIG_USB_EHCI_TT_NEWSCHED 1
+
#define CONFIG_USB_ACM_MODULE 1
+
#define CONFIG_USB_ARCH_HAS_EHCI 1
+
...
+
</pre>
+
|-
+
| 4-6
+
| 4-22
+
| Makefile Targets
+
| <pre>
+
$ make help
+
Cleaning targets:
+
  clean          - Remove most generated files but keep the config and
+
                    enough build support to build external modules
+
  mrproper        - Remove all generated files + config + various backup files
+
  distclean      - mrproper + remove editor backup and patch files
+
  
Configuration targets:
+
== Chapter 6 ==
  config          - Update current config utilising a line-oriented program
+
  menuconfig      - Update current config utilising a menu based program
+
  xconfig        - Update current config utilising a QT based front-end
+
  gconfig        - Update current config utilising a GTK based front-end
+
  oldconfig      - Update current config utilising a provided .config as base
+
  silentoldconfig - Same as oldconfig, but quietly
+
  randconfig      - New config with random answer to all options
+
  defconfig      - New config with default answer to all options
+
  allmodconfig    - New config selecting modules when possible
+
  allyesconfig    - New config where all options are accepted with yes
+
  allnoconfig    - New config where all options are answered with no
+
  
Other generic targets:
+
* [[ECE597 Listings for Chapter 6 xink | Listings for Chapter 6 ]]
  all            - Build all targets marked with [*]
+
* vmlinux        - Build the bare kernel
+
* modules        - Build all modules
+
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
+
  firmware_install- Install all firmware to INSTALL_FW_PATH
+
                    (default: $(INSTALL_MOD_PATH)/lib/firmware)
+
  dir/            - Build all files in dir and below
+
  dir/file.[ois]  - Build specified target only
+
  dir/file.ko    - Build module including final link
+
  prepare        - Set up for building external modules
+
  tags/TAGS      - Generate tags file for editors
+
  cscope          - Generate cscope index
+
  kernelrelease  - Output the release version string
+
  kernelversion  - Output the version stored in Makefile
+
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
+
                    (default: /home/users/collinjc/oe/angstrom-dev-backup2/work/beagleboard-angstrom-linux-gnueabi/linux-omap-2.6.29-r46/git/usr)
+
  
Static analysers
+
== Chapter 7 ==
  checkstack      - Generate a list of stack hogs
+
  namespacecheck  - Name space analysis on compiled kernel
+
  versioncheck    - Sanity check on version.h usage
+
  includecheck    - Check for duplicate included header files
+
  export_report  - List the usages of all exported symbols
+
  headers_check  - Sanity check on exported headers
+
  headerdep      - Detect inclusion cycles in headers
+
  
Kernel packaging:
+
* [[ECE597 Listings for Chapter 7 xink | Listings for Chapter 7 ]]
  rpm-pkg        - Build both source and binary RPM kernel packages
+
  binrpm-pkg      - Build only the binary kernel package
+
  deb-pkg        - Build the kernel as an deb package
+
  tar-pkg        - Build the kernel as an uncompressed tarball
+
  targz-pkg      - Build the kernel as a gzip compressed tarball
+
  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball
+
  
Documentation targets:
+
== Chapter 8 ==
Linux kernel internal documentation in different formats:
+
  htmldocs        - HTML
+
  installmandocs  - install man pages generated by mandocs
+
  mandocs        - man pages
+
  pdfdocs        - PDF
+
  psdocs          - Postscript
+
  xmldocs        - XML DocBook
+
  
Architecture specific targets (arm):
+
* [[ECE597 Listings for Chapter 8 xink | Listings for Chapter 8 ]]
* zImage        - Compressed kernel image (arch/arm/boot/zImage)
+
  Image        - Uncompressed kernel image (arch/arm/boot/Image)
+
* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)
+
  uImage        - U-Boot wrapped zImage
+
  bootpImage    - Combined zImage and initial RAM disk
+
                  (supply initrd image via make variable INITRD=<path>)
+
  install      - Install uncompressed kernel
+
  zinstall      - Install compressed kernel
+
                  Install using (your) ~/bin/installkernel or
+
                  (distribution) /sbin/installkernel or
+
                  install to $(INSTALL_PATH) and run lilo
+
  
  afeb9260_defconfig      - Build for afeb9260
 
  am200epdkit_defconfig    - Build for am200epdkit
 
  ams_delta_defconfig      - Build for ams_delta
 
  assabet_defconfig        - Build for assabet
 
  at91cap9adk_defconfig    - Build for at91cap9adk
 
  at91rm9200dk_defconfig  - Build for at91rm9200dk
 
  at91rm9200ek_defconfig  - Build for at91rm9200ek
 
  at91sam9260ek_defconfig  - Build for at91sam9260ek
 
  at91sam9261ek_defconfig  - Build for at91sam9261ek
 
  at91sam9263ek_defconfig  - Build for at91sam9263ek
 
  at91sam9g20ek_defconfig  - Build for at91sam9g20ek
 
  at91sam9rlek_defconfig  - Build for at91sam9rlek
 
  ateb9200_defconfig      - Build for ateb9200
 
  badge4_defconfig        - Build for badge4
 
  cam60_defconfig          - Build for cam60
 
  carmeva_defconfig        - Build for carmeva
 
  cerfcube_defconfig      - Build for cerfcube
 
  cm_x300_defconfig        - Build for cm_x300
 
  colibri_defconfig        - Build for colibri
 
  collie_defconfig        - Build for collie
 
  corgi_defconfig          - Build for corgi
 
  csb337_defconfig        - Build for csb337
 
  csb637_defconfig        - Build for csb637
 
  dss_omap3_beagle_defconfig - Build for dss_omap3_beagle
 
  dss_omap_3430sdp_defconfig - Build for dss_omap_3430sdp
 
  dss_overo_defconfig      - Build for dss_overo
 
  ebsa110_defconfig        - Build for ebsa110
 
  ecbat91_defconfig        - Build for ecbat91
 
  edb7211_defconfig        - Build for edb7211
 
  ep93xx_defconfig        - Build for ep93xx
 
  eseries_pxa_defconfig    - Build for eseries_pxa
 
  ezx_defconfig            - Build for ezx
 
  footbridge_defconfig    - Build for footbridge
 
  fortunet_defconfig      - Build for fortunet
 
  h3600_defconfig          - Build for h3600
 
  h5000_defconfig          - Build for h5000
 
  h7201_defconfig          - Build for h7201
 
  h7202_defconfig          - Build for h7202
 
  hackkit_defconfig        - Build for hackkit
 
  imx27ads_defconfig      - Build for imx27ads
 
  integrator_defconfig    - Build for integrator
 
  iop13xx_defconfig        - Build for iop13xx
 
  iop32x_defconfig        - Build for iop32x
 
  iop33x_defconfig        - Build for iop33x
 
  ixp2000_defconfig        - Build for ixp2000
 
  ixp23xx_defconfig        - Build for ixp23xx
 
  ixp4xx_defconfig        - Build for ixp4xx
 
  jornada720_defconfig    - Build for jornada720
 
  kafa_defconfig          - Build for kafa
 
  kb9202_defconfig        - Build for kb9202
 
  kirkwood_defconfig      - Build for kirkwood
 
  ks8695_defconfig        - Build for ks8695
 
  lart_defconfig          - Build for lart
 
  littleton_defconfig      - Build for littleton
 
  loki_defconfig          - Build for loki
 
  lpd270_defconfig        - Build for lpd270
 
  lpd7a400_defconfig      - Build for lpd7a400
 
  lpd7a404_defconfig      - Build for lpd7a404
 
  lubbock_defconfig        - Build for lubbock
 
  lusl7200_defconfig      - Build for lusl7200
 
  magician_defconfig      - Build for magician
 
  mainstone_defconfig      - Build for mainstone
 
  msm_defconfig            - Build for msm
 
  mv78xx0_defconfig        - Build for mv78xx0
 
  mx1ads_defconfig        - Build for mx1ads
 
  mx31ads_defconfig        - Build for mx31ads
 
  mx31litekit_defconfig    - Build for mx31litekit
 
  mx31moboard_defconfig    - Build for mx31moboard
 
  mx31pdk_defconfig        - Build for mx31pdk
 
  n770_defconfig          - Build for n770
 
  n800_defconfig          - Build for n800
 
  neocore926_defconfig    - Build for neocore926
 
  neponset_defconfig      - Build for neponset
 
  netwinder_defconfig      - Build for netwinder
 
  netx_defconfig          - Build for netx
 
  ns9xxx_defconfig        - Build for ns9xxx
 
  omap2_evm_defconfig      - Build for omap2_evm
 
  omap3_beagle_defconfig  - Build for omap3_beagle
 
  omap3_evm_defconfig      - Build for omap3_evm
 
  omap3_pandora_defconfig  - Build for omap3_pandora
 
  omap_2430sdp_defconfig  - Build for omap_2430sdp
 
  omap_3430sdp_defconfig  - Build for omap_3430sdp
 
  omap_apollon_2420_defconfig - Build for omap_apollon_2420
 
  omap_generic_1510_defconfig - Build for omap_generic_1510
 
  omap_generic_1610_defconfig - Build for omap_generic_1610
 
  omap_generic_1710_defconfig - Build for omap_generic_1710
 
  omap_generic_2420_defconfig - Build for omap_generic_2420
 
  omap_h2_1610_defconfig  - Build for omap_h2_1610
 
  omap_h3_1710_defconfig  - Build for omap_h3_1710
 
  omap_h4_2420_defconfig  - Build for omap_h4_2420
 
  omap_innovator_1510_defconfig - Build for omap_innovator_1510
 
  omap_innovator_1610_defconfig - Build for omap_innovator_1610
 
  omap_ldp_defconfig      - Build for omap_ldp
 
  omap_osk_5912_defconfig  - Build for omap_osk_5912
 
  omap_perseus2_730_defconfig - Build for omap_perseus2_730
 
  onearm_defconfig        - Build for onearm
 
  orion5x_defconfig        - Build for orion5x
 
  overo_defconfig          - Build for overo
 
  palmte_defconfig        - Build for palmte
 
  palmtt_defconfig        - Build for palmtt
 
  palmz71_defconfig        - Build for palmz71
 
  palmz72_defconfig        - Build for palmz72
 
  pcm027_defconfig        - Build for pcm027
 
  pcm037_defconfig        - Build for pcm037
 
  pcm038_defconfig        - Build for pcm038
 
  picotux200_defconfig    - Build for picotux200
 
  pleb_defconfig          - Build for pleb
 
  pnx4008_defconfig        - Build for pnx4008
 
  pxa255-idp_defconfig    - Build for pxa255-idp
 
  qil-a9260_defconfig      - Build for qil-a9260
 
  realview-smp_defconfig  - Build for realview-smp
 
  realview_defconfig      - Build for realview
 
  rpc_defconfig            - Build for rpc
 
  rx51_defconfig          - Build for rx51
 
  s3c2410_defconfig        - Build for s3c2410
 
  s3c6400_defconfig        - Build for s3c6400
 
  sam9_l9260_defconfig    - Build for sam9_l9260
 
  shannon_defconfig        - Build for shannon
 
  shark_defconfig          - Build for shark
 
  simpad_defconfig        - Build for simpad
 
  spitz_defconfig          - Build for spitz
 
  sx1_defconfig            - Build for sx1
 
  tct_hammer_defconfig    - Build for tct_hammer
 
  trizeps4_defconfig      - Build for trizeps4
 
  usb-a9260_defconfig      - Build for usb-a9260
 
  usb-a9263_defconfig      - Build for usb-a9263
 
  versatile_defconfig      - Build for versatile
 
  viper_defconfig          - Build for viper
 
  w90p910_defconfig        - Build for w90p910
 
  xm_x2xx_defconfig        - Build for xm_x2xx
 
  yl9200_defconfig        - Build for yl9200
 
  zylonite_defconfig      - Build for zylonite
 
  
  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
 
  make V=2  [targets] 2 => give reason for rebuild of target
 
  make O=dir [targets] Locate all output files in "dir", including .config
 
  make C=1  [targets] Check all c source with $CHECK (sparse by default)
 
  make C=2  [targets] Force check of all c source with $CHECK
 
 
Execute "make" or "make all" to build all targets marked with [*]
 
For further info see the ./README file
 
</pre>
 
|-
 
| 4-7
 
| 4-27
 
| Partial Listing of Kconfig for ARM Architecture
 
| <pre>
 
...
 
</pre>
 
|-
 
| 4-8
 
| 4-30
 
| Snippet from .../arch/arm/Kconfig
 
| <pre>
 
...
 
source "init/Kconfig"
 
 
source "kernel/Kconfig.freezer"
 
 
menu "System Type"
 
 
choice
 
        prompt "ARM system type"
 
        default ARCH_VERSATILE
 
 
config ARCH_AAEC2000
 
        bool "Agilent AAEC-2000 based"
 
        select CPU_ARM920T
 
        select ARM_AMBA
 
        select HAVE_CLK
 
        help
 
          This enables support for systems based on the Agilent AAEC-2000
 
 
config ARCH_INTEGRATOR
 
        bool "ARM Ltd. Integrator family"
 
        select ARM_AMBA
 
        select HAVE_CLK
 
        select COMMON_CLKDEV
 
        select ICST525
 
        help
 
          Support for ARM's Integrator platform.
 
 
config ARCH_REALVIEW
 
        bool "ARM Ltd. RealView family"
 
        select ARM_AMBA
 
...
 
source "arch/arm/plat-omap/Kconfig"
 
 
source "arch/arm/mach-omap1/Kconfig"
 
 
source "arch/arm/mach-omap2/Kconfig"
 
 
source "arch/arm/mach-orion5x/Kconfig"
 
 
source "arch/arm/mach-kirkwood/Kconfig"
 
 
source "arch/arm/plat-s3c24xx/Kconfig"
 
source "arch/arm/plat-s3c64xx/Kconfig"
 
source "arch/arm/plat-s3c/Kconfig"
 
</pre>
 
|-
 
| 4-9
 
| 4-30
 
| Snippet from .../arch/arm/plat-omap/Kconfig
 
| <pre>
 
if ARCH_OMAP
 
 
menu "TI OMAP Implementations"
 
 
config ARCH_OMAP_OTG
 
bool
 
 
choice
 
prompt "OMAP System Type"
 
default ARCH_OMAP1
 
 
config ARCH_OMAP1
 
bool "TI OMAP1"
 
 
config ARCH_OMAP2
 
bool "TI OMAP2"
 
select CPU_V6
 
 
config ARCH_OMAP3
 
bool "TI OMAP3"
 
select CPU_V7
 
 
endchoice
 
...
 
config OMAP_GPIO_SWITCH
 
bool "GPIO switch support"
 
        default n
 
        help
 
          Say Y, if you want to have support for reporting of GPIO
 
          switches (e.g. cover switches) via sysfs. Your bootloader has
 
          to provide information about the switches to the kernel via the
 
          ATAG_BOARD mechanism if they're not defined by the board config.
 
</pre>
 
|-
 
| 4-10
 
| 4-32
 
| Customized .config File Snippet
 
| <pre>
 
# OMAP Feature Selections
 
#
 
# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
 
# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
 
# CONFIG_OMAP_SMARTREFLEX is not set
 
CONFIG_OMAP_RESET_CLOCKS=y
 
CONFIG_OMAP_BOOT_TAG=y
 
CONFIG_OMAP_BOOT_REASON=y
 
# CONFIG_OMAP_COMPONENT_VERSION is not set
 
CONFIG_OMAP_GPIO_SWITCH=y
 
# CONFIG_OMAP_GPIO_SWITCH_2 is not set
 
# CONFIG_OMAP_MUX is not set
 
CONFIG_OMAP_MCBSP=y
 
# CONFIG_OMAP_MBOX_FWK is not set
 
CONFIG_OMAP_IOMMU=m
 
# CONFIG_OMAP_MPU_TIMER is not set
 
CONFIG_OMAP_32K_TIMER=y
 
CONFIG_OMAP_32K_TIMER_HZ=128
 
CONFIG_OMAP_TICK_GPTIMER=12
 
CONFIG_OMAP_DM_TIMER=y
 
# CONFIG_OMAP_LL_DEBUG_UART1 is not set
 
# CONFIG_OMAP_LL_DEBUG_UART2 is not set
 
CONFIG_OMAP_LL_DEBUG_UART3=y
 
CONFIG_ARCH_OMAP34XX=y
 
CONFIG_ARCH_OMAP3430=y
 
</pre>
 
|-
 
| 4-11
 
| 4-33
 
| Makefile from .../arch/arm/plat-omap/Makefile
 
| <pre>
 
#
 
# Makefile for the linux kernel.
 
#
 
 
# Common support
 
obj-y := common.o sram.o clock.o devices.o dma.o mux.o gpio.o \
 
        usb.o fb.o vram.o vrfb.o io.o
 
obj-m :=
 
obj-n :=
 
obj-  :=
 
 
# OCPI interconnect support for 1710, 1610 and 5912
 
obj-$(CONFIG_ARCH_OMAP16XX) += ocpi.o
 
 
obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
 
obj-$(CONFIG_OMAP_IOMMU) += iommu.o iovmm.o
 
 
obj-$(CONFIG_CPU_FREQ) += cpu-omap.o
 
obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o
 
obj-$(CONFIG_OMAP_BOOT_REASON) += bootreason.o
 
obj-$(CONFIG_OMAP_COMPONENT_VERSION) += component-version.o
 
obj-$(CONFIG_OMAP_GPIO_SWITCH) += gpio-switch.o
 
obj-$(CONFIG_OMAP_DEBUG_DEVICES) += debug-devices.o
 
obj-$(CONFIG_OMAP_DEBUG_LEDS) += debug-leds.o
 
i2c-omap-$(CONFIG_I2C_OMAP) := i2c.o
 
obj-y += $(i2c-omap-m) $(i2c-omap-y)
 
 
# OMAP mailbox framework
 
obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o
 
</pre>
 
|}
 
 
== Chapter 5 ==
 
  
 
[[Category:ECE597]]
 
[[Category:ECE597]]

Latest revision as of 06:48, 21 May 2010

Hi, My name is Keqiong "Claire" Xin. I'm now pursuing the Master Degree of Computer Engineering in Rose-Hulman. This is my user page for course ECE597 Embedded Linux.

Our Project

Our project in this course is ECE597: Auto HUD. All the documentation is contained in the page link.

The idea of this project is to recognize road signs with Beagleboard and camera, and display the result through the pico projector.

1. Build the sample set for training, and using Haar training program to train the samples.

2. Working on sign detection code to optimize the detection result.

3. Get the display buffer working.

Chapter 2

Chapter 4

Chapter 5

Chapter 6

Chapter 7

Chapter 8