Difference between revisions of "User:Batydm"
(→Listings From Embedded Linux Primer) |
(→Listings From Embedded Linux Primer) |
||
Line 594: | Line 594: | ||
| 5-2 | | 5-2 | ||
| | | | ||
− | | piggy.S | + | | piggy.gzip.S |
| <pre> | | <pre> | ||
.section .piggydata,#alloc | .section .piggydata,#alloc |
Revision as of 21:08, 20 May 2010
I am currently a Graduate student at Rose-Hulman Institute of Technology pursuing my MECE (Masters of Electrical and Computer Enginnering) degree. My undergraduate degree was in Computer Engineering, also from Rose-Hulman. I am the Public Relations officer of the Rose-Hulman Linux Users' Group. I am working on another project using the BeagleBoard to control a walking four legged robot.
Contributions
Most of my work is with the BeagleBoard hardware. I helped with pages on PWM on the BeagleBoard and I2C on the BeagleBoard. I created the page on Interfacing with the BeagleBoard hardware. This page contains a variety of information on how to make a board to interface with the BeagleBoard, including dealing with power and level shifting.
Listings From Embedded Linux Primer
Number | Page | Caption | Listing | Notes |
---|---|---|---|---|
2-1 | 2-6 | 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.0, 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 C1/C2/C3 Die ID #5160000300000000040323091101f01a Hit any key to stop autoboot: 0 OMAP3 beagleboard.org # |
This is from a Revision C3 Beagle. |
2-2 | 2-7 | Loading the Linux Kernel | 3001004 bytes read Booting from mmc ... ## Booting kernel from Legacy Image at 82000000 ... Image Name: Angstrom/2.6.29/beagleboard Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3000940 Bytes = 2.9 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux.... done, booting the kernel. |
|
2-3 | 2-9 | Linux Final Boot Messages | Starting portmap daemon: portmap. Unknown HZ value! (75) Assume 100. net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.rp_filter = 1 hwclock: can't open '/dev/misc/rtc': No such file or directory Sat Mar 13 23:56:00 GMT 2010 hwclock: can't open '/dev/misc/rtc': No such file or directory INIT: Entering runlevel: 5 Starting system message bus: dbus. Starting Hardware abstraction layer hald Configuring leds: beagleboard::usr0: heartbeat beagleboard::usr1: mmc0 Starting Dropbear SSH server: modprobe: FATAL: Could not open '/lib/modules/2.6.29-omap1/kernel/net/ipv6/ipv6.ko': No such file or directory modprobe: FATAL: Could not open '/lib/modules/2.6.29-omap1/kernel/net/ipv6/ipv6.ko': No such file or directory dropbear. Starting advanced power management daemon: No APM support in kernel (failed.) Starting Samba: smbd nmbd. Starting syslogd/klogd: done Starting internet superserver: xinetd. * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon [ ok ] Starting Network connection manager daemon: NetworkManager. Loading kernel modules for gstreamer-ti... FATAL: Could not open '/lib/modules/2.6.29-omap1/kernel/drivers/dsp/cmemk.ko': No such file or directory FATAL: Could not open '/lib/modules/2.6.29-omap1/kernel/drivers/dsp/dsplinkk.ko': No such file or directory WARNING: Could not open '/lib/modules/2.6.29-omap1/kernel/drivers/dsp/dsplinkk.ko': No such file or directory FATAL: Could not open '/lib/modules/2.6.29-omap1/kernel/drivers/dsp/lpm_omap3530.ko': No such file or directory FATAL: Could not open '/lib/modules/2.6.29-omap1/kernel/drivers/dsp/sdmak.ko': No such file or directory done Loading [g_cdc] FATAL: Could not open '/lib/modules/2.6.29-omap1/kernel/drivers/usb/gadget/g_cdc.ko': No such file or directory Starting web server: apache2. Starting GNOME Display Manager gdm Starting GPE display manager: gpe-dm [ 1486.575927] OMAPFB: Closing fb with plane index 0 .-------. | | .-. | | |-----.-----.-----.| | .----..-----.-----. | | | __ | ---'| '--.| .-'| | | | | | | | |--- || --'| | | ' | | | | '---'---'--'--'--. |-----''----''--' '-----'-'-'-' -' | '---' The Angstrom Distribution beagleboar ttyS2 Angstrom 2009.X-test-20100104 beagleboar ttyS2 |
|
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 | Hello, World! Main is executing at 0x400524 This address (0x7fff6c261d58) is in our stack frame This address (0x601038) is in our bss section This address (0x601020) is in our data section |
Intel Atom, Ubuntu 9.10 64-bit |
2-5 | 2-22 | Hello Output for Beagle | Hello, World! Main is executing at 0x8380 This address (0xbedddc44) is in our stack frame This address (0x10670) is in our bss section This address (0x10668) is in our data section |
Beagleboard rev C3, Angstrom remote compiled |
U-Boot 2009.06-rc2 (Apr 13 2010 - 17:33:55) OMAP3530-GP ES3.0, CPU-OPP2 L3-165MHz OMAP3 Beagle board + LPDDR/NAND DRAM: 256 MB NAND: 256 MiB In: serial Out: serial Err: serial 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.06-rc2 (Apr 13 2010 - 17:33:55) OMAP3530-GP ES3.0, CPU-OPP2 L3-165MHz OMAP3 Beagle board + LPDDR/NAND DRAM: 256 MB NAND: 256 MiB In: serial Out: serial Err: serial Board revision C Die ID #5160000300000000040323091101f01a Hit any key to stop autoboot: 0 DB, TM and MJ -- OMAP3 beagleboard.org # | ||||
4-3 | 4-15 | total 423 drwxr-xr-x 3 batydm students 776 2010-04-28 00:05 . drwxr-xr-x 87 batydm students 2696 2010-04-28 00:05 .. -rw-r--r-- 1 batydm students 11124 2010-04-28 00:05 clock.c -rw-r--r-- 1 batydm students 8805 2010-04-28 00:05 common.c -rw-r--r-- 1 batydm students 4033 2010-04-28 00:05 cpu-omap.c -rw-r--r-- 1 batydm students 2192 2010-04-28 00:05 debug-devices.c -rw-r--r-- 1 batydm students 7170 2010-04-28 00:05 debug-leds.c -rw-r--r-- 1 batydm students 10914 2010-04-28 00:05 devices.c -rw-r--r-- 1 batydm students 52795 2010-04-28 00:05 dma.c -rw-r--r-- 1 batydm students 22660 2010-04-28 00:05 dmtimer.c -rw-r--r-- 1 batydm students 10055 2010-04-28 00:05 fb.c -rw-r--r-- 1 batydm students 61383 2010-04-28 00:05 gpio.c -rw-r--r-- 1 batydm students 5568 2010-04-28 00:05 i2c.c drwxr-xr-x 3 batydm students 72 2010-04-28 00:05 include -rw-r--r-- 1 batydm students 6265 2010-04-28 00:05 io.c -rw-r--r-- 1 batydm students 20789 2010-04-28 00:05 iommu.c -rw-r--r-- 1 batydm students 9141 2010-04-28 00:05 iommu-debug.c -rw-r--r-- 1 batydm students 2745 2010-04-28 00:05 iopgtable.h -rw-r--r-- 1 batydm students 19344 2010-04-28 00:05 iovmm.c -rw-r--r-- 1 batydm students 4819 2010-04-28 00:05 Kconfig -rw-r--r-- 1 batydm students 8546 2010-04-28 00:05 mailbox.c -rw-r--r-- 1 batydm students 882 2010-04-28 00:05 Makefile -rw-r--r-- 1 batydm students 43754 2010-04-28 00:05 mcbsp.c -rw-r--r-- 1 batydm students 2263 2010-04-28 00:05 mux.c -rw-r--r-- 1 batydm students 2739 2010-04-28 00:05 ocpi.c -rw-r--r-- 1 batydm students 21421 2010-04-28 00:05 omap_device.c -rw-r--r-- 1 batydm students 7069 2010-04-28 00:05 omap-pm-noop.c -rw-r--r-- 1 batydm students 12878 2010-04-28 00:05 sram.c -rw-r--r-- 1 batydm students 18770 2010-04-28 00:05 usb.c | ||
4-6 | Makefile targets | 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 localmodconfig - Update current config disabling modules not loaded localyesconfig - Update current config converting local mods to core silentoldconfig - Same as oldconfig, but quietly, additionally update deps 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 modules_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/batydm/omap/linux-omap-2.6/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 pdfdocs - PDF psdocs - Postscript xmldocs - XML DocBook mandocs - man pages installmandocs - install man pages generated by mandocs cleandocs - clean all generated DocBook files 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 acs5k_defconfig - Build for acs5k acs5k_tiny_defconfig - Build for acs5k_tiny afeb9260_defconfig - Build for afeb9260 am200epdkit_defconfig - Build for am200epdkit am3517_evm_defconfig - Build for am3517_evm ams_delta_defconfig - Build for ams_delta ap4evb_defconfig - Build for ap4evb assabet_defconfig - Build for assabet at572d940hfek_defconfig - Build for at572d940hfek 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 bcmring_defconfig - Build for bcmring cam60_defconfig - Build for cam60 carmeva_defconfig - Build for carmeva cerfcube_defconfig - Build for cerfcube cm_t35_defconfig - Build for cm_t35 cm_x2xx_defconfig - Build for cm_x2xx cm_x300_defconfig - Build for cm_x300 colibri_pxa270_defconfig - Build for colibri_pxa270 colibri_pxa300_defconfig - Build for colibri_pxa300 collie_defconfig - Build for collie corgi_defconfig - Build for corgi cpu9260_defconfig - Build for cpu9260 cpu9g20_defconfig - Build for cpu9g20 cpuat91_defconfig - Build for cpuat91 csb337_defconfig - Build for csb337 csb637_defconfig - Build for csb637 da8xx_omapl_defconfig - Build for da8xx_omapl davinci_all_defconfig - Build for davinci_all devkit8000_defconfig - Build for devkit8000 dove_defconfig - Build for dove ebsa110_defconfig - Build for ebsa110 ecbat91_defconfig - Build for ecbat91 edb7211_defconfig - Build for edb7211 em_x270_defconfig - Build for em_x270 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 g3evm_defconfig - Build for g3evm g4evm_defconfig - Build for g4evm 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 htcherald_defconfig - Build for htcherald igep0020_defconfig - Build for igep0020 imote2_defconfig - Build for imote2 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 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 mini2440_defconfig - Build for mini2440 mmp2_defconfig - Build for mmp2 msm_defconfig - Build for msm mv78xx0_defconfig - Build for mv78xx0 mx1_defconfig - Build for mx1 mx21_defconfig - Build for mx21 mx27_defconfig - Build for mx27 mx31pdk_defconfig - Build for mx31pdk mx3_defconfig - Build for mx3 mx51_defconfig - Build for mx51 n770_defconfig - Build for n770 n8x0_defconfig - Build for n8x0 neocore926_defconfig - Build for neocore926 neponset_defconfig - Build for neponset netwinder_defconfig - Build for netwinder netx_defconfig - Build for netx nhk8815_defconfig - Build for nhk8815 ns9xxx_defconfig - Build for ns9xxx nuc910_defconfig - Build for nuc910 nuc950_defconfig - Build for nuc950 nuc960_defconfig - Build for nuc960 omap_2430sdp_defconfig - Build for omap_2430sdp omap_3430sdp_defconfig - Build for omap_3430sdp omap_3630sdp_defconfig - Build for omap_3630sdp omap3_beagle_defconfig - Build for omap3_beagle omap3_defconfig - Build for omap3 omap3_evm_defconfig - Build for omap3_evm omap3_pandora_defconfig - Build for omap3_pandora omap3_touchbook_defconfig - Build for omap3_touchbook omap_4430sdp_defconfig - Build for omap_4430sdp 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_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 omap_zoom2_defconfig - Build for omap_zoom2 omap_zoom3_defconfig - Build for omap_zoom3 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 picotux200_defconfig - Build for picotux200 pleb_defconfig - Build for pleb pnx4008_defconfig - Build for pnx4008 pxa168_defconfig - Build for pxa168 pxa255-idp_defconfig - Build for pxa255-idp pxa3xx_defconfig - Build for pxa3xx pxa910_defconfig - Build for pxa910 qil-a9260_defconfig - Build for qil-a9260 raumfeld_defconfig - Build for raumfeld realview_defconfig - Build for realview realview-smp_defconfig - Build for realview-smp rpc_defconfig - Build for rpc rx51_defconfig - Build for rx51 s3c2410_defconfig - Build for s3c2410 s3c6400_defconfig - Build for s3c6400 s5p6440_defconfig - Build for s5p6440 s5p6442_defconfig - Build for s5p6442 s5pc100_defconfig - Build for s5pc100 s5pc110_defconfig - Build for s5pc110 s5pv210_defconfig - Build for s5pv210 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 stmp378x_defconfig - Build for stmp378x stmp37xx_defconfig - Build for stmp37xx sx1_defconfig - Build for sx1 tct_hammer_defconfig - Build for tct_hammer trizeps4_defconfig - Build for trizeps4 u300_defconfig - Build for u300 u8500_defconfig - Build for u8500 usb-a9260_defconfig - Build for usb-a9260 usb-a9263_defconfig - Build for usb-a9263 versatile_defconfig - Build for versatile viper_defconfig - Build for viper xcep_defconfig - Build for xcep yl9200_defconfig - Build for yl9200 zeus_defconfig - Build for zeus 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 |
||
4-8 | Bit from arch/arm/Kconfig | # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.txt. # mainmenu "Linux Kernel Configuration" config ARM bool default y select HAVE_AOUT select HAVE_IDE select RTC_LIB select SYS_SUPPORTS_APM_EMULATION select GENERIC_ATOMIC64 if (!CPU_32v6K) select HAVE_OPROFILE select HAVE_ARCH_KGDB select HAVE_KPROBES if (!XIP_KERNEL) select HAVE_KRETPROBES if (HAVE_KPROBES) select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) select HAVE_GENERIC_DMA_COHERENT select HAVE_KERNEL_GZIP select HAVE_KERNEL_LZO select HAVE_PERF_EVENTS select PERF_USE_VMALLOC help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and handhelds such as the Compaq IPAQ. ARM-based PCs are no longer manufactured, but legacy ARM-based PC hardware remains popular in Europe. There is an ARM Linux project with a web page at <http://www.arm.linux.org.uk/>. | ||
4-9 | arch/arm/mach-omap2/Kconfig | | comment "OMAP Core Type" depends on ARCH_OMAP2 config ARCH_OMAP2420 bool "OMAP2420 support" depends on ARCH_OMAP2 select OMAP_DM_TIMER select ARCH_OMAP_OTG config ARCH_OMAP2430 bool "OMAP2430 support" depends on ARCH_OMAP2 config ARCH_OMAP3430 bool "OMAP3430 support" depends on ARCH_OMAP3 select ARCH_OMAP_OTG config OMAP_PACKAGE_CBC bool |
||
5-2 | piggy.S | .section .piggydata,#alloc .globl input_data input_data: .incbin "arch/arm/boot/compressed/piggy.gzip" .globl input_data_end input_data_end: |
||
5-2 | piggy.gzip.S | .section .piggydata,#alloc .globl input_data input_data: .incbin "arch/arm/boot/compressed/piggy.lzo" .globl input_data_end input_data_end: |