Difference between revisions of "User:Xinkeqiong"

From eLinux.org
Jump to: navigation, search
(Chapter 2)
(Our Project)
(14 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.
  
== Chapter 2 ==
+
== 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.
! 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
+
  
 +
1. Build the sample set for training, and using Haar training program to train the samples.
  
U-Boot 2009.11-rc1 (Jan 08 2010 - 21:19:52)
+
2. Working on sign detection code to optimize the detection result.
  
OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
+
3. Get the display buffer working.
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 */
+
== Chapter 2 ==
  
int data_var = 1;  /* Initialized global variable */
+
* [[ECE597 Listings for Chapter 2 xink | Listings for Chapter 2 ]]
 
+
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
+
  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
+
 
+
#
+
# 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:
+
  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:
+
  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
+
  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:
+
  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:
+
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):
+
* 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"
+
...
+
source "arch/arm/plat-omap/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
+
== Chapter 5 ==
bool "TI OMAP1"
+
  
config ARCH_OMAP2
+
* [[ECE597 Listings for Chapter 5 xink | Listings for Chapter 5 ]]
bool "TI OMAP2"
+
select CPU_V6
+
  
config ARCH_OMAP3
+
== Chapter 6 ==
bool "TI OMAP3"
+
select CPU_V7
+
  
endchoice
+
* [[ECE597 Listings for Chapter 6 xink | Listings for Chapter 6 ]]
...
+
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_SWITCH2=y
+
# CONFIG_OMAP_MUX is not set
+
CONFIG_OMAP_MCBSP=y
+
</pre>
+
|-
+
| 4-11
+
| 4-33
+
| Makefile from .../arch/arm/plat-omap/ Kernel Subdirectory
+
| <pre>
+
#
+
# Makefile for the linux kernel.
+
#
+
  
# Common support
+
== Chapter 7 ==
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
+
* [[ECE597 Listings for Chapter 7 xink | Listings for Chapter 7 ]]
obj-$(CONFIG_ARCH_OMAP16XX) += ocpi.o
+
  
obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
+
== Chapter 8 ==
obj-$(CONFIG_OMAP_IOMMU) += iommu.o iovmm.o
+
  
obj-$(CONFIG_CPU_FREQ) += cpu-omap.o
+
* [[ECE597 Listings for Chapter 8 xink | Listings for Chapter 8 ]]
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>
 
|}
 
  
  
 
[[Category:ECE597]]
 
[[Category:ECE597]]

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