Project Home
Project Home
Wiki
Wiki
Project Information
Project Info
wiki2729: TiOmap3530evm1.0.020080109ReleaseNotes (Version 1)


TO BE DONE - THIS IS JUST A SAMPLE TEMPLATE BASED ON THE 8572 |

Release Notes for the freescale-mpc8572ds-latest BSP#

System requirements#

Target system#

  • QNX Neutrino RTOS 6.4
  • Board version: Freescale mpc8572 DS
  • ROM Monitor version UBoot v 1.2.0
  • K9NBG08U5A-P (4G x 8 Bit) NAND flash

Host development system#

  • QNX Momentics 6.4, one of the following host systems:
    • QNX Neutrino 6.4
    • Microsoft Windows Vista, XP SP2 or SP3, 2000 SP4
    • Linux Red Hat Enterprise Workstation 4 or 5, Red Hat Fedora Core 6 or 7, Ubuntu 6.0.6 LTS or 7, or SUSE 10
  • Terminal emulation program (Qtalk, Momentics IDE Terminal, tip, HyperTerminal, etc.)
  • RS-232 serial port
  • NULL-modem serial cable
  • Ethernet link

Getting Started#

Step 1: Connect your hardware#

  • Connect the serial cable to the first serial port of the MPC8572DS board to the first serial port of your host machine (e.g. ser1 on a Neutrino host).
    • If you have a Neutrino host with a serial mouse, you may have to move the mouse to the second serial port on your host, because some terminal programs require the first serial port.

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:
  • Baud: 115200
  • Bits: 8
  • Stop bits: 1
  • Parity: none
  • Flow control: none


Setting up the environment#

  1. Apply power to the target board. You should see the U-Boot ROM monitor output.
  2. You can use TFTP download (the default) or serial download to transfer an OS image to the board, as described below.

TFTP download#

This method requires a raw image, which the buildfile creates by default.

On your target, type the following, filling in the appropriate IP addresses and ifs file:

=> setenv ipaddr 192.168.200.2
=> setenv serverip 192.168.200.1
=> setenv bootfile ifs-mpc8572ds.raw
=> setenv loadaddr 0x100000
=> setenv bootcmd 'tftpboot $loadaddr $bootfile; go $loadaddr'
=> setenv bootdelay 2
=> saveenv
Saving Environment to Flash...
Un-Protected 1 sectors
Erasing Flash...
flash erase done
Erased 1 sectors
Writing to Flash... done
Protected 1 sectors
=> boot

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:

Speed: 100, full duplex
Using MOTO ENET0 device
TFTP from server 192.168.200.1; our IP address is 192.168.200.2
Filename 'ifs-mpc8572ds.raw'
Load address: 0x100000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 ##########################################################
done
Bytes transferred = 3956736 (3c6000 hex)
## Starting application at 0x00100000 ...

You should see the QNX Neutrino welcome message on your terminal screen:

Welcome to QNX Neutrino 6.4 on the Freescale MPC8572DS board

You can now test the OS simply by executing any shell builtin command or any command residing within the OS image (e.g. ls).

Serial download#

This method requires an SREC image. You have to modify the buildfile to create this format. Change this:

[virtual=ppcbe,raw]

to this:

[virtual=ppcbe,srec]

Rebuild the image. On your target, type:

=>: setenv loads_echo 0
=>: saveenv
=>: loads

On your host, copy the image to the serial port that's connected to the board. For example, on a Neutrino host:

cp ifs-mpc8572ds.srec /dev/ser1
On a Windows host, you can use Hyperterminal's transfer feature to copy the image as a text file.

NOTE: The serial line shouldn't already be in use.

At this point, you should see the ROM monitor download the boot image, indicated by a series of dots. You'll also see output similar to this when it finishes downloading:

## First Load Addr = 0x00100000
## Last  Load Addr = 0x0023955B
## Total Size      = 0x0013955C = 1283420 Bytes
## Start Addr      = 0x00101E38
=>: 

Type:

go start_addr

You should now see the QNX Neutrino welcome message on your terminal screen:

System page at phys:0000c000 user:0000c000 kern:0000c000
Starting next program at v00133af4
Welcome to QNX Neutrino 6.3 on the PowerPC 8572DS board
#

You can test the OS simply by executing any shell builtin command or any command residing within the OS image (e.g. ls).

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.


Putting the OS image into the flash#

1. Generate the OS image (using the method in Step 2: Generate an OS image).

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. 0xA0000000). The last 128 KB are reserved for RedBoot's configuration data. In the following example, we store a Neutrino boot image of up to 3 MB immediately after RedBoot (at the offset 0xA0100000).
From the RedBoot prompt, type the following commands:
    • Transfer the OS image to RAM:
    • RedBoot> load -r -b 0x00100000 /full_path_to_image/ifs-mx31ads.raw
      • When compiling using the command line, the /full_path_to_image is /BSP_root_dir/images/.
      • When compiling using the IDE, the /full_path_to_image is by default /Workspace_root_dir/bsp-freescale-mx31ads/Images.
    • Erase the flash from the offset 1 MB to the offset 4 MB: RedBoot> fis erase -f 0xa0100000 -l 0x00300000
      • In this example, we assume that the OS image size is smaller than 3 MB.
    • Copy the OS image from RAM (0x00100000) to flash (0xa0100000): RedBoot> fis write -f 0xa0100000 -b 0x00100000 -l 0x00300000
    • Now you can load the OS image directly from flash:
RedBoot> mcopy -s 0xa0100000 -d 0x00100000 -l 0x00300000
RedBoot> run 0x00100000
#

Creating a flash partition#

  • Enter the following command to start the flash filesystem driver: fs-etfs-mpc8572ds2048 -r65536 -D cs=2
  • Stop the filesystem on the device: etfsctl -d /dev/etfs2 -s
  • Format the filesystem: etfsctl -d /dev/etfs2 -f
  • Make the filesystem continue: etfsctl -d /dev/etfs2 -c

You should now have a /fs/etfs directory which you can copy files to.


Known issues for this BSP#

  • MPC8572 DS boards may ship with different revisions of U-Boot. Depending on the U-boot revision, CCSRBAR may be configured differently. . By default, the startup module assumes a CCSRBAR=0xe0000000. If U-boot configures the CCSRBAR to something other than the default, then the build file must be modified such that the CCSRBAR is passed to the startup via the -c flag. E.G. startup-mpc8572ds -v -c0xffe00000 . A simple way to verify the CCSBAR(i.e. immr_base) within U-Boot is to issue the bdinfo command.
  • Some MPC8572 DS boards may come equipped with a non-default system clock. By default, the startup module assumes a system clock of 66MHz. If the system clock is non standard, then the build file must be changed such that the actual system clock frequency is passed to the startup as a parameter via the -t option. E.G. Assuming a 100MHz system clock, the buildfile should be modified as follows: startup-mpc8572ds -v -t100000000
  • This BSP works only on the Freescale MPC8572DS development system. Since this BSP is based on the Freescale CDS MPC85xx BSP, it may contain generic code related to the MPC85xx series of processors.
  • This BSP contains some drivers (i.e. startup-mpc8572ds, devn-mpc85xx.so, devc-ser8250-mpc8540) which will overwrite the versions included in other PPC BSPs. You should back these versions up before installing the new ones (Ref# 22922).
  • Unplugging the network cable results in an "Unknown" media speed on reinsertion. The driver is still fully functional in this state. (Ref# 21992)
  • In Microsoft Windows, certain programs (e.g. Norton Ghost) add directories inside double quotation marks (e.g. ...;"c:\Program Files\Norton Ghost\";...) to your PATH environment variable. This causes the Cygwin spawn() function to fail, which in turn causes cp to fail when called by ln-w. (Ref# 20046) Workaround: Modify your PATH environment variable and remove any quotation marks.
  • In those instances where the the ROM monitor's MAC address is different from the one you pass in when running io-net, the host can cache the ROM monitor's address. This can result in a loss of connectivity. Workaround: If you need to specify a MAC address to io-net, 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.

Summary of driver commands#

The driver command lines below are specific to the Freescale MPC8572DS 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-ser8250-mpc8540 -e -c600000000 -b115200 0xffe04500,26
NOTE: The value passed to the -c option depends on the CCB clock frequency as displayed by U-Boot at boot time, which may change depending upon board dip switch settings. For instance, CCB:600Mhz translates to -c600000000.

Ethernet#

See the startup section above for correct startup arguments. Command:
io-pkt-v4 -d mpc85xx mac=001100111111,syspage -ptcpip
ifconfig tsec0 x.x.x.x. 
Required binaries:
  • libsocket.so
  • devnp-mpc85xx.so (driver)
  • devnp-shim.so

PCI:#

Command to start PCI server for PEX controller 3 pci-mpc8572 pex=3

Command to start PCI server for PEX controller 2 pci-mpc8572 pex=2

Command to start PCI server for PEX controller 1 pci-mpc8572 pex=1

I2C:#

Command: Interface 1: i2c-mpc8572 -i27 -p0xE0003000 Interface 2: i2c-mpc8572 -i27 -p0xE0003100

Note: For more information about these commands, see the Neutrino Utilities Reference.