wiki2770: Nto640FreescaleI.mx21AdsTrunkReleasenotes (Version 4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Release Notes of the QNX 6.4.0 BSP for Freescale i.MX21 ADS Trunk#System requirements#Target system#
Host development system#
System Layout#The tables below depict the memory layout for the image and for the flash.Memory layout
Flash layout
The interrupt vector table can be found in the buildfile located at src/hardware/startup/boards/imx21ads/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:
1. Make sure the host machine is capable of handling TFTP requests (see inetd documentation for details). You should see output similar to the following: RedBoot(tm) bootstrap and debug environment [ROMRAM] Non-certified release, version FSL 200631 - built 15:19:21, Aug 25 2006 Platform: MX21 ADS (Freescale i.MX21 based) PASS 1.1 [x32 DDR] Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc. RAM: 0x00000000-0x03f00000, [0x00013e80-0x03ed1000] available FLASH: 0xc8000000 - 0xca000000, 256 blocks of 0x00020000 bytes each. RedBoot> Step 4: Setting up the environment and using TFTP download#At the RedBoot prompt, issue the following command to change the current environment: fconfig The current configurations will be displayed; change the configuration if you want. Run script at boot: false Use BOOTP for network configuration: false Gateway IP address: 10.42.98.230 Local IP address: 10.42.103.53 Local IP address mask: 255.255.0.0 Default server IP address: 10.42.98.230 Board specifics: 0 Console baud rate: 115200 Set eth0 network hardware address [MAC]: true eth0 network hardware address [MAC]: 0x00:0x01:0x02:0x03:0x03:0x04 GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false Update RedBoot non-volatile configuration - continue (y/n)? Type "y" to accept the new configuration, RedBoot will write the new configuration to the flash. Using default protocol (TFTP) Raw file loaded 0x00100000-0x0020b29f, assumed entry at 0x00100000 You should now see the QNX Neutrino welcome message on your terminal screen: Welcome to Neutrino on the i.MX21ADS (ARM 926 core) Board Step 5: Replace the ~Redboot bootloader with a native QNX IPL and OS image in flash#At some point, you may wish to replace the ~Redboot bootloader with the native QNX IPL code. This may be desirable once you've tweaked the OS image exactly the way you want it, and you want the board to boot the image automatically, immediately on power up. To replace the ~Redboot bootloader: 1.Modify your buildfile to generate a binary image. The mkimage script:
Here is the mkimage script: #!/bin/sh # # Generate a binary image from IPL code for the i.MX21ads # # board and combine with the binary OS image set -v # Convert IPL into BINARY format $\{QNX_HOST\}/usr/bin/ntosh-objcopy -Obinary ../install/armle/boot/sys/ipl-mx21ads ipl-tmp-mx21.bin # Pad BINARY IPL mkrec -r -ffull -s0x1000 ipl-tmp-mx21.bin > ipl-mx21-pad.bin #Cleaning up temporary files rm ipl-tmp-mx21.bin #Combine the BINARY IPL with the BINARY OS Image cat ipl-mx21-pad.bin ifs-mx21.bin > ipl-ifs-mx21.bin #Cleaning up temporary files rm ipl-mx21-pad.bin echo "done!!!!!!!" 3.Boot the board as described above, using ~Redboot to TFTP-download the ifs-mx21.bin boot image. 4.If it's not already started, start the network driver as follows, substituting your own IP address for x.x.x.x: io-pkt-v4 -dcrys8900 ioport=0xcc000300,irq=203,mac=00e02991234e -pttcpip if=en0:x.x.x.x fs-nfs2 x.x.x.x:/mount_dir/nfs 6.Start the flash filesystem driver and erase the first 4MB of flash as follows (erase a larger area if the size of your combined image exceeds 1MB): devf-mx31ads -s0xc8000000,32M flashctl -p/dev/fs0 -o 0M -l 4M -ve 7.Copy ipl-ifs-mx21.bin to the flash, as follows: dd if=/nfs/ipl-ifs-mx21.bin of=/dev/fs0 bs=1k seek=0k QNX Neutrino IPL for M9328MX21ADS Commands: d: download image to RAM f: scan flash for image ipl> Scanning flash at 0xc8001000 found image @ 0xc8001000 Jumping to startup @ 0xc0101c00 Welcome to QNX Neutrino on the Freescale MX21ADS (ARM 926 core) Board # $BSP_PATH/src/hardware/ipl/boards/mx21ads/ You can now test the OS, simply by executing any shell builtin command or any command residing within the OS image (e.g. ls). Putting the OS image into the flash#1.Generate OS image (using the method in Step 2:Build the BSP).2.Transfer the OS image to the target memory and burn it into flash: RedBoot is located at the first megabyte offset in flash (i.e. 0xC8000000). The last 128KB are reserved for RedBoot's configuration data. In the following example we will store a QNX boot image of up to 3MB immediately after RedBoot (at the offset: 0xC8100000). From the RedBoot prompt, type the following commands: Transfer the OS image to RAM RedBoot> load -r -b 0x00100000 /full_path_to_image/ifs-mx21.bin RedBoot> fis erase -f 0xc8100000 -l 0x00300000 RedBoot> fis write -f 0xc8100000 -b 0x00100000 -l 0x00300000 RedBoot> mcopy -s 0xc8100000 -d 0x00100000 -l 0x00300000 RedBoot> run 0x00100000 Welcome to Neutrino on the i.MX21ADS (ARM 926 core) Board # Creating a flash partition#1.Enter the following command to start the NOR flash filesystem driver: devf-mx31ads 2.To prepare the area for the partition, enter the following command: Because the rom monitor and the QNX boot image are in the flash, you may not want to erase them. Use the -l (length) and -o (offset) options to avoid these areas. Assuming that the OS image has a maximum size of 3 MB and we want to create a 16M partition: flashctl -p/dev/fs0 -o4M -l16M -ve 3.Format the partition: flashctl -p/dev/fs0p0 -o4M -l16M -vf 4.Slay, then restart the driver: slay devf-mx31ads devf-mx31ads In this example, you have a 16 MB flash partition starting at the end of the OS image (4 MB offset). You should now have a /fs0p1 directory which you can copy files to.
Driver Command Summary#The following table summarizes the commands to launch the various drivers.
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 has addtional details: Startup#startup-mx21ads [startup-options]
Note:
Known Issues #
Workaround: Modify your PATH environment variable and remove any quotation marks.
Workaround: If you need to specify a MAC address to io-pkt, we recommend that you use the same MAC address that the ROM monitor uses. This will ensure that if the host caches the ROM monitor's MAC address, you'll still be able to communicate with the target. Otherwise you might need to delete the target's arp entry on your host.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Versions | Associations | Attachments | Back Links | |||||||