The tables below depict the memory layout for the image and for the flash.
Item | Address |
---|---|
OS image loaded at: | 0x80100000 |
The interrupt vector table can be found in the buildfile located at src/hardware/startup/boards/omap3530/beagle.build
Apply power to the target board. You should see output on your terminal console, similar to the following:
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24) Reading boot sector Loading u-boot.bin from nand U-Boot 1.3.3 (Jul 10 2008 - 16:33:09) U-Boot 2009.01-dirty (Feb 19 2009 - 12:22:31) I2C: ready OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz OMAP3 Beagle board + LPDDR/NAND DRAM: 256 MB NAND: 256 MiB MUSB: using high speed In: serial usbtty Out: serial usbtty Err: serial usbtty Board revision C Serial #7842000300000000040323090b017014 Hit any key to stop autoboot: 0 OMAP3 beagleboard.org #
OMAP3 beagleboard.org # mmcinit; fatload mmc 0 0x80100000 ifs-omap3530-beagle.bin; go 80100000
At this point you should see the ROM monitor download the boot image, indicated by a series of number signs. You'll also see output similar to this when it completes downloading:
OMAP3 beagleboard.org # mmcinit; fatload mmc 0 0x80100000 ifs-omap3530-beagle.bin; go 80100000 reading ifs-omap3530-beagle.bin 6198048 bytes read ## Starting application at 0x80100000 ... Beagle Board Revision: c3 CPU0: L1 Icache: 256x64 CPU0: L1 Dcache: 256x64 WB CPU0: L2 Dcache: 4096x64 WB CPU0: VFP-d32 FPSID=410330c1 CPU0: NEON MVFR0=11110222 MVFR1=00011111 CPU0: 411fc083: Cortex A8 rev 3 600MHz Loading IFS...decompressing...done System page at phys:80010000 user:fc404000 kern:fc404000 Starting next program at vfe04e604 cpu_startnext: cpu0 -> fe04e604 VFPv3: fpsid=410330c1 coproc_attach(10): replacing fe07e01c with fe07d8bc coproc_attach(11): replacing fe07e01c with fe07d8bc Welcome to QNX Neutrino 6.5.0 on the Texas Instruments OMAP3530 (ARMv7 Cortex-A8 core) - Beagle Board
Now you can test the OS, simply by executing any shell builtin command or any command residing within the OS image (e.g. ls).
First, you'll download ipl-omap3530beagle.bin file to the board's memory using the pserial tools, and then you can burn the ifs image ifs-omap3530-beagle.bin and NAND IPL image nand-ipl-omap3530beagle.bin into the board's NAND flash. The IPL is padded to 24K.
The following steps describes how to generate the ipl-omap3530evm.bin and nand-ipl-omap3530beagle.bin:
Here is the mkflashimage script:
#!/bin/sh # script to build a binary IPL and boot image for the OMAP3530 Beagle board set -v # Convert IPL header into Binary format ${QNX_HOST}/usr/bin/ntoarmv7-objcopy --input-format=elf32-littlearm --output-format=binary ../src/hardware/ipl/boards/omap3530beagle/arm/le.v7/boot_header.o ./tmp-boot-header.bin # Convert IPL into Binary format ${QNX_HOST}/usr/bin/ntoarmv7-objcopy --input-format=elf32-littlearm --output-format=binary ../src/hardware/ipl/boards/omap3530beagle/arm/le.v7/ipl-omap3530beagle ./tmp-ipl-omap3530beagle.bin # Cat boot header and ipl together cat ./tmp-boot-header.bin ./tmp-ipl-omap3530beagle.bin > ./tmp-header-ipl-omap3530beagle.bin # Pad Binary IPL to 24K image, this is the image used by boot from UART mkrec -s24k -ffull -r ./tmp-ipl-omap3530beagle.bin > ./ipl-omap3530beagle.bin # Pad Binary IPL with Header to 24K image, this is the image to put on NAND and boot from NAND mkrec -s24k -ffull -r ./tmp-header-ipl-omap3530beagle.bin > ./nand-ipl-omap3530beagle.bin # clean up temporary files rm -f tmp*.bin echo "done!!!!!!!"
Refer to the AM/OMAP Boot Resource Pages for options for installing the IPL to flash.
You should now have a /fs/etfs directory which you can copy files to.
The following tables summarize the commands to launch the various drivers.
Component | Buildfile Command | Required Binaries | Required Libraries | Source Location |
---|---|---|---|---|
Startup | startup-omap3530 -L 0x87E00000,0x200000 -v -D8250.0x49020000^2.0.48000000.16 beagle | . | . | src/hardware/startup/boards/omap3530 |
Serial | devc-seromap -e -F -b115200 -c48000000/16 0x49020000^2,74 | devc-seromap | . | src/hardware/devc/seromap |
Nand Flash | fs-etfs-omap3530_micron -r65536 -m /fs/etfs | fs-etfs-omap3530_micron etfsctl | . | src/hardware/etfs/nand2048/omap3530_micron |
I2C | i2c-omap35xx | i2c-omap35xx | . | src/hardware/i2c/omap35xx |
USB OTG Host | io-usb -domap3530-mg ioport=0x480ab000,irq=92 | io-usb usb* | libusbdi.so devu-omap3530-mg.so | prebuilt only |
USB EHCI Host(For Rev C board) | io-usb -dehci-omap3 ioport=0x48064800,irq=77 | io-usb usb* | libusbdi.so devu-ehci-omap3.so | prebuilt only |
SD card | devb-mmcsd-beagle cam quiet blk cache=2m mmcsd noac12 | devb-mmcsd-beagle | libcam.so fs-dos.so cam-disk.so | src/hardware/devb/mmcsd |
Audio | io-audio -domap35xx-twl4030 | resource_seed io-audio wave waverec mix_ctl | deva-ctrl-omap35xx-twl4030.so libasound.so.2 | src/hardware/deva/ctrl/omap35xx |
Graphics | io-display -dvid=0,did=0 | omap35xx.conf display.conf io-display vsync egl-gears-lite vsync | libGLES_CL.so libGLES_CM.so libffb.so libgf.so devg-omap35xx.so devg-soft3d-fixed.so libFF-T2K.so.3 libm.so.2 devg-soft3d.so | src/hardware/devg/omap35xx |
WIFI | io-pkt-v4 -d /proc/boot/devnp-mv8686.so dir=/root/io-pkt,verbose=1,poll=0 -p tcpip mclbytes=4096,stacksize=65000 random | io-pkt-v4 helper_sd.bin sd8686.bin wpa_supplicant wpa_cli ifconfig | libcrypto.so.1 libssl.so.1 libsdio.so.1 libsocket.so devnp-mv8686.so | prebuilt only |
SGX Graphics Accelerator driver | pvrsrvd | pvrsrvd graphics.conf gles1-egl-gears | libsrv_um.so libglslcompiler.so libIMGegl.so libImgGLESv1_CM.so libImgGLESv2.so libImgOpenVG.so libpvr2d.so libsrv_um.so libWFDdevg.so pvrsrvinit.so wsegl-gf.so libEGLdevg.so libWFDdevg.so libiow.so.1 libGLESv1_CM.so.1 libGLESv1_CL.so.1 libEGL.so.1 libGLESv1_CLdevg.so libGLESv1_CMdevg.so | prebuilt only |
Some of the drivers are commented out in the default buildfile. To use the drivers in the target hardware, you'll need to uncomment them in your buildfile, rebuild the image, and load the image into the board.
startup-omap3530 -L 0x87E00000,0x200000 -v -D8250.0x49020000^2.0.48000000.16 beagle
resource_seed i2c-omap35xx pmic_tw4030_cfg devb-mmcsd-beagle cam quiet blk cache=2mNote: To start the SD driver, you'll need to execute resource_seed, the I2C driver and pmic_tw4030_cfg utility first
resource_seed i2c-omap35xx pmic_tw4030_cfg io-audio -domap35xx-twl4030 wave testfile.wavNote: To start the audio driver, you'll need to execute resource_seed, the I2C driver and pmic_tw4030_cfg utility first
Command:
i2c-omap35xx pmic_tw4030_cfg io-display -dvid=0,did=0Note: To start the graphics driver, you'll need to execute the I2C driver and pmic_tw4030_cfg utility first
Command:
io-usb -domap3530-mg ioport=0x480ab000,irq=92 -dehci-omap3 ioport=0x48064800,irq=77,verbose=5
Note:
1. Min A to min B usb cable is required.
2. Connect to the micro usb adapter as we do not support the larger one yet.
3. Press and hold the S1 (User) button at power up or reset until board starts booting (~1 sec).
4. May need to power cycle board to get S1 (User) button working depending on how/if the power management chip has been reconfigured.
5. Start io-usb with the stock options from the bsp build file.
In build file:
#GRAPHICS_ROOT=/usr/lib/graphics/omap3530 #/usr/lib/graphics/omap3530/pvrsrvd #gles1-egl-gears &
In command line:
#export GRAPHICS_ROOT=/usr/lib/graphics/omap3530 #cd /usr/lib/graphics/omap3530/ #pvrsrvd ## validate application #gles1-egl-gears &
Note:
1. io-display have to run first
2. The Composition_Manager patch-650-2258-CompMgr.tar need be installed first.
# cd beagle_workdir # tar -xvf patch-650-2258-CompMgr.tar # cd patches/650-2258/target/qnx6 # cp -r armle-v7 ../../../../prebuilt/ # cd beagle_workdir # make clean all
Command:
## WIFI start ram filesystem devb-ram ram capacity=16384,nodinit,cache=0m waitfor /dev/hd0 fdisk /dev/hd0 add -t 6 mount -e /dev/hd0 mkdosfs /dev/hd0t6 mount -t dos /dev/hd0t6 /fsram ## SDIO WIFI driver ## Note: please insert SDIO WIFI card. and then run ". ./root/wifi.sh"
/root/wifi.sh
io-pkt-v4 -d /proc/boot/devnp-mv8686.so dir=/root/io-pkt,verbose=1,poll=0 -p tcpip mclbytes=4096,stacksize=65000 random ifconfig mv0 up wpa_supplicant -Dwext -imv0 -C /fsram/tmpfs & wpa_cli -i mv0 -p /fsram/tmpfs
Note:
1. Because SD and SDIO wifi cards using the same slot, please slay the SD driver first before running the SDIO wifi driver.
2. Please refer to WIFI_HOW_TO_RUN.txt which is included in the BSP to setup the wifi connection in wpa_cli cmmand line.
3. Please refer to QNX document:WiFi Configuration Using WPA and WEP. Edit /etc/wpa_supplicant.conf file in build file to configure the wifi connection.