wiki2729: TiOmap3530evm1.0.020080109ReleaseNotes (Version 10) | ||||
Release Notes for the QNX Neutrino 6.4.0 BSP for Texas Instruments OMAP3530 EVM#System requirements#Target system#
Host development system#
System Layout#The tables below depict the memory layout for the image and for the flash.
The interrupt vector table can be found in the buildfile located at src/hardware/startup/boards/omap3530/build Getting Started#Step 1: Connect your hardware#
Step 2: Build the BSP#You can build a BSP OS image from the source code or the binary components contained in a BSP package. For instructions about building a BSP OS image, please refer to the chapter Working with a BSP in the Building Embedded Systems manual.Step 3: Transfer the OS image to the target using the ROM monitor#On your host machine, start your favorite terminal program with these settings:
Setting up the environment#Apply power to the target board. You should see output on your terminal console, similar to the following: X-Loader 1.41-Mistral Detected Samsung MuxOneNAND1G Flash Starting OS Bootloader... U-Boot 1.1.4 (Mar 7 2008 - 16:57:15) OMAP3-GP rev 2, CPU-OPP2 L3-165MHz OMAP3EVM 1.0 Version + mPOP (Boot ONND) DRAM: 128 MB Muxed OneNAND 128MB 1.8V 16-bit (0x30) Scanning device for bad blocks num of blocks = 2048 In: serial Out: serial Err: serial Test Pattern Bitmap displayed on the LCD. LCD bitmap test done. Reseting CHIP... Done LAN9x18 (0x01150002) detected. start Auto negotiation... (take ~2sec) Auto negotiation failed Hit any key to stop autoboot: 5 TFTP download#This method requires a raw image, which is simply a binary image, with a header on the beginning, that allows the bootloader to jump to the very beginning of the image (the raw header), where it executes another jump to the first instruction of the image. Next, use the setenv command to configure the following parameters: serverip gatewayip netmask bootfile ipaddr ethaddr Once these parameters are configured, use the saveenv command to store your changes. Refer to the U-Boot documentation for more information. After U-boot is configured, boot the ifs-omap3530.raw image as follows (we'll assume it's in a directory called /xfer/) from the OMAP3EVM # prompt: tftpboot 80010000 /xfer/ifs-omap3530.raw 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: Reseting CHIP... Done LAN9x18 (0x01150002) detected. start Auto negotiation... (take ~2sec) Auto negotiation complete, 100BaseTX, full duplex TFTP from server 192.168.1.3; our IP address is 192.168.1.160 Filename 'ifs-omap3530.raw'. Load address: 0x80010000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################# done Bytes transferred = 1417876 (15a294 hex) OMAP3EVM # go 80010000 You should see output similar to the following, with the QNX Neutrino welcome message on your terminal screen: ## Starting application at 0x80010000 ... CPU0: L1 Icache: 256x64 CPU0: L1 Dcache: 256x64 WB CPU0: L2 Dcache: 4096x64 WB CPU0: VFP 410330c1 CPU0: 411fc082: Cortex A8 rev 2 500MHz System page at phys:80180000 user:fc404000 kern:fc404000 Starting next program at vfe03a7e0 cpu_startnext: cpu0 -> fe03a7e0 coproc_attach(10): replacing fe05afd0 with fe05a8b4 coproc_attach(11): replacing fe05afd0 with fe05a8b4 Welcome to QNX Neutrino 6.4 on the Texas Instruments OMAP 35X EVM Board # Once the initial image is running, you can update the OS image using the network and flash drivers. For sample command lines, please see the "Summary of driver commands" section. Flashing the IPL on to the target#Step A: Creat the IPL image#
Note:
For further information on how to use the combination of UART ~Downloader tool and U-Boot to program the IPL/IFS images to OneNAND, please refer to "OMAP35x EVM Getting Started Guide V0.9.7".
Run the mkflashimage script, inside the /images directory of the BSP. The output file from this script is a binary IPL image called ipl-omap3530evm.bin. You'll download this file to the board's memory using the bootloader, and then burn the image into the board's flash. The IPL is padded to 64K.
The following steps describes how to generate the ipl-omap3530evm.bin:
Here is the mkflashimage script: #!/bin/sh # script to build a binary IPL and boot image for the OMAP 2420 SDP board set -v # Convert IPL into Binary format ${QNX_HOST}/usr/bin/ntoarm-objcopy --input-format=elf32-littlearm --output-format=binary ../install/armle/boot/sys/ipl-omap3530evm ./tmp-ipl-omap3530evm.bin # Pad Binary IPL to 64K image mkrec -s64k -ffull -r ./tmp-ipl-omap3530evm.bin > ./ipl-omap3530evm.bin # clean up temporary files rm -f tmp-ipl-omap3530evm.bin echo "done!!!!!!!" Step B: Flashing an IPL image using the combination of UART Downloader utility and U-Boot#
OneNAND on the OMAP35xEVM board is defunct partitioned in the following manner:
*0x0000000 - 0x0080000 X-Loader *0x0080000 - 0x0260000 U-boot Image *0x0260000 - 0x0280000 U-Boot Env Data (X-loader doesn't care) *0x0280000 - 0x0780000 Kernel Image *0x0780000 - 0x8000000 depends on application The following procedure describes how to erase the U-Boot image and flash an IPL image using the combination of UART Downloader utility and U-Boot bootloader. The UART Downloader(DownloadUtil) program should be present under OMAP35x_SDK_0.9.7/board_utilities/windows_host/Utilities on the host. The working directory is C:/omap3530evm/. 1. Turn OFF the EVM by unplugging the power adapter, and close any open terminal programs. Connect a RS232 null modem cable between the host and the RS232 connector (UART3 Debug/Boot) on the OMAP35x EVM base board. 2. Ensure SW4 is set as described in Section 2.1 “Main Board SW4” of "OMAP35x EVM Getting Started Guide V0.9.7". 3. Start the download process from the Windows host with the DownloadUtil program, using the following steps. Select the correct COM port, press the “open” button and select the following file ipl-omap3530evm.bin. Next press the Download button, Press OK on the dialog that says “Press OK and reset the target”. Power ON the EVM. If the download does not immediately start, Press S2 button on the EVM. The download utility should show progress and eventually will show “Main Image has been sent”. Close Download Utility and restart your terminal program.
Note: Do not power cycle the EVM at this stage.
Move the serial cable to UART1 (Please ensure Jumper J8 is set appropriately) and press enter to get a U-boot prompt. 4. Now that U-boot is running on the target, you can use it to update any or all of the software in flash. The steps provided here will use the Ethernet connection with the TFTP protocol to transfer the files. Please ensure that a TFTP server using a Windows host is already setup, with its root directory same as our working directory.
Note: The SDK comes with the PumpKIN TFTP server. Alternatively, tftpd32 can also be used.
5. Ensure that the terminal program is configured with 100 ms of delay after sending each line as described in Section 3.1 “Setup Terminal Program” of "OMAP35x EVM Getting Started Guide V0.9.7". 6. Ensure the environment is set as appropriate for your EVM and network setup. You may use the setenv command to configure the following parameters: ethaddr (see sticker on EVM) ipaddr (as appropriate) serverip (PumpKIN PC’s addr) netmask (as appropriate) gatewayip (if needed) Check the IP settings using ping $(serverip) expecting “x.x.x.x is alive” 7. Use the terminal program to send the text file reflash.txt file to the EVM a. Make sure you know if your board has Samsung or Micron memory parts i. See Section 1.2 “Identifying Board Variations” b. path: OMAP35x_SDK_0.9.7/board_utilities/scripts/ ii. reflash-samsung.txt (for Samsung memory boards) c. For HyperTerminal use Transfer / Send Text File … d. For TeraTerm use File / Send file … e. For minicom use the paste file command (Ctrl-A Y) 8. Run the following command sequence to replace U-Boot with QNX IPL in the OneNAND flash run rf_unlock run rf_blank_ram run rf_er_uboot tftpboot 0x81600000 ipl-omap3530evm.bin run rf_wr_uboot 9. Run the following command sequence to place the QNX image in the OneNAND flash run rf_unlock run rf_blank_ram run rf_er_fs tftpboot 0x81600000 ifs-omap3530.bin run rf_wr_fs 10. Reset the board and it should boot into the X-Loader which then loads the QNX IPL. The QNX IPL offers two options to the user wherein we can either transfer the QNX image over serial, or boot the QNX image resident in OneNAND flash, burnt as per the procedure above. Step 5: Download an OS image using the IPL and sendnto#Here is the procedure to download an OS image to memory using sendnto. 1. Start the QNX Momentics IDE on the host. 2. Open a terminal server window. See the IDE documentation for details. 3. Connect the RS232 null modem cable between the host and UART1 on the OMAP35xEVM board. 4. Start the target, assuming an IPL has been successfully flashed to the board following the steps in the section above. 5. When you see the following message: The data "
Texas Instruments X-Loader 1.41
Detected Samsung MuxOneNAND1G Flash Starting OS Bootloader...0x1B
QNX Neutrino Initial Program Loader for Texas Instruments OMAP35xEVM
Commands:
Press 'D' for serial download, using the 'sendnto' utility
Press 'N' to boot an OS image in ~OneNAND flash
" is not legal for a JDOM character content: 0x1b is not a legal XML character.
Type D to start download process on the target end. 6. In the terminal server window, click the "send file" button in the upper left corner. A popup window will open. Type or browse the correct image file name in the "Filename" box and sendto as the proctocol. Click OK to start the download on the host side. or using the QNX 'sendnto' utility: sendnto -d/dev/ser1 -b115200 ./ifs-omap3530.bin to download image 7. After the download process finishes, the target will start the OS automatically. You should see output similar to the following: send image now... download OK... Found image @ 0x81000000 Jumping to startup @ 0x80011A60 CPU0: L1 Icache: 256x64 CPU0: L1 Dcache: 256x64 WB CPU0: L2 Dcache: 4096x64 WB CPU0: VFP 410330c1 CPU0: 411fc082: Cortex A8 rev 2 500MHz System page at phys:80391000 user:fc404000 kern:fc404000 Starting next program at vfe03cdf0 cpu_startnext: cpu0 -> fe03cdf0 coproc_attach(10): replacing fe05e044 with fe05d928 coproc_attach(11): replacing fe05e044 with fe05d928 Welcome to QNX Neutrino 6.4 on the Texas Instruments OMAP3530 (ARMv7 Cortex-A8 core) EVM Board #
Creating a flash partition#
You should now have a /fs/etfs directory which you can copy files to.
Known issues for this BSP#
Summary of driver commands#The driver command lines below are specific to the OMAP35x EVM board. See the online docs for each driver for additional command-line options and other details.NOTE: Some of these 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. Serial#Command:devc-seromap -e -F -b115200 -c48000000/16 0x4806A000^2,72 Ethernet#Command:io-pkt-v4 -dsmc911x ioport=0x2C000000,irq=176 -ptcpip ifconfig en0 x.x.x.x.Required libraries and binaries:
I2C:#Command:Interface 1: i2c-omap35xx -i56 -p0x48070000 Interface 2: i2c-omap35xx -i57 -p0x48072000 SPI:#Command:Interface 1: spi-master -d omap3530 base=0x48098000,irq=65 Interface 2: spi-master -d omap3530 base=0x4809A000,irq=66 If testing with an SPI test tool such as Aardvark, use: spi-master -d omap3530_spi_library base=0x4809A000,bitrate=125000,clock=48000000,channel=0,irq=66,force=1 Audio#Command:i2c-omap35xx io-audio -d omap35xevm wave testfile.wavNote: To start the audio system, you'll need to execute the Audio driver and commands in the order indicated. OneNAND#Command:fs-etfs-omap3530 -r65536 -D reloc=128 -e -m/fs/etfsNote: Reserve the first 64M for bootloader, and now as an ETFS filesystem is no longer mounted by default; you can use the -m option or mount -tetfs /dev/etfs2 my_mountpoint. (Ref# 41841, 57498; Ticket ID 74912) Note: For more information about these commands, see the Neutrino Utilities Reference. |
||||