ml410 vxworks workbench - bdtic the vxworks bsp and project creation steps in this presentation by...
TRANSCRIPT
ML410 VxWorks WorkbenchBSP and System Image Creation for the SGMII PLB TEMAC DesignUsing EDK 8.2i SP2
April 2007
www.BDTIC.com/XILINX
Overview• Hardware Setup • Software Setup & Requirements• Generate VxWorks BSP• Create VxWorks Project• Create VxWorks System Image• Generate and Run an ACE File
www.BDTIC.com/XILINX
ML410 BSB DDR2 Hardware• The ML410 BSB DDR2 design
hardware includes:– 64 KB BRAM– DDR2 Interface (256 MB)– UART– Interrupt Controller– PLB2OPB Bridge– PLB and OPB Arbiters– Networking
www.BDTIC.com/XILINX
Additional Setup Details• Refer to ml410_overview_setup_vxworks63.ppt for details on:
– Software Requirements• Wind River Workbench
Target Server Setup– ML410 Board Setup
• Equipment and Cables• Software• Network
– Terminal Programs• This presentation requires the
9600-8-N-1 Baud terminal setup
www.BDTIC.com/XILINX
Hardware Setup• Connect the Xilinx Parallel
Cable IV (PC4) to the ML410 board
• Connect the RS232 nullmodem cable to the ML410 board– Connect to the COM1 port
on the ML410 board
www.BDTIC.com/XILINX
Software Setup• Install Wind River Systems Workbench 2.5
www.BDTIC.com/XILINX
ISE Software Requirement• Xilinx ISE 8.2i SP3 software
www.BDTIC.com/XILINX
EDK Software Requirement• Xilinx EDK 8.2i SP2 software
www.BDTIC.com/XILINX
Extracting the Design• Unzip the ml410_sgmii_plb_temac.zip file
– This creates ISE and EDK project directories
www.BDTIC.com/XILINX
Extracting the Design• Rename the project directory to
ml410_sgmii_vxworks
www.BDTIC.com/XILINX
Extracting the Design• Unzip the ml410_sgmii_vxworks63_overlay.zip file
– Unzip to the ml410_sgmii_vxworks directory (overwrite existing files)– This adds the VxWorks XMP and MSS files, ELF files, SW source, and
ACE files
www.BDTIC.com/XILINX
Generate VxWorks BSP in EDK• Parameters preset for VxWorks in ml410_sgmii_vxworks.xmp
– Common hardware design (ml410_bsb_ddr2.mhs) across software apps
– Software Platform Settings• OS selection set to VxWorks 6.3• Peripheral for Standard Input• Peripheral for Standard Output• Select peripherals connected for OS interface
www.BDTIC.com/XILINX
Generate VxWorks BSP in EDK• Launch EDK project:
<design path>\ml410_sgmii_vxworks.xmp– Select Software →
Software PlatformSettings… (1)
1
www.BDTIC.com/XILINX
Generate VxWorks BSP in EDK• Under Software Platform (1)
verify that vxworks6_3is selected for ppc405_0 (2)
1
2
www.BDTIC.com/XILINX
Generate VxWorks BSP in EDK• Ensure these fields are set as follows (1):
– STDIN = RS232_Uart_2– STDOUT = RS232_Uart_2
• Click the connected_periphs button (2)
12
www.BDTIC.com/XILINX
Generate VxWorks BSP in EDK• Verify these peripherals are included in the pop-up dialog box (1)
– RS232_Uart_2– TriMode_MAC_GMII
1
www.BDTIC.com/XILINX
Generate BSP in EDK• Select :
– Software →Generate Libraries and BSPs (1)
• The generated VxWorks BSP will be: <design path>\ppc405_0\bsp_ppc405_0
1
www.BDTIC.com/XILINX
Optional Installation• Bypass the VxWorks BSP and Project creation steps in this
presentation by using the pre-built BSP and Project:• BSP: Unzip the file ml410_sgmii_vxworks63_bsp.zip to the
<design path>\workbench25 directory
www.BDTIC.com/XILINX
Optional Installation• Project: Unzip the ml410_sgmii_vxworks63_proj.zip file to the
<design path>\workbench25 directory• Skip slides 20 through 43 if doing the Optional Installation
www.BDTIC.com/XILINX
Copy BSP Locally• Copy
<design path>\ppc405_0\bsp_ppc405_0 To: <design path>\workbench25– Hold down the <Ctrl> while dragging to copy instead of move
www.BDTIC.com/XILINX
Update BSP Configuration• Update these lines in the <design path>\workbench25\
bsp_ppc405_0\config.h file:– Set LOCAL_MEM_SIZE to 0x04000000– Set RAM_HIGH_ADRS to 0x04000000
Note: A copy of the config.h file is provided in the workbench25 directorywww.BDTIC.com/XILINX
Update BSP Configuration• Update this line in the <design
path>\workbench25\bsp_ppc405_0\Makefile file:– Set RAM_HIGH_ADRS to 04000000
Note: A copy of the Makefile file is provided in the workbench25 directorywww.BDTIC.com/XILINX
Update BSP Configuration• Update the splash message in the <design
path>\workbench25\bsp_ppc405_0\sysLib.c file:– From: ppc405_0 VirtexII Pro PPC405– To: Xilinx Virtex-4 FX PPC405
Note: A copy of the syslib.c file is provided in the workbench25 directorywww.BDTIC.com/XILINX
Create VxWorks Project• Launch WindRiver
Workbench and select File → New Project…
• Choose “VxWorks Image Project”
www.BDTIC.com/XILINX
Create VxWorks Project• Set the project name to
ml410_sgmii_vxworks_ppc405_0 (1)
• Set the location to <design path>\workbench25\proj_ppc405_0 (2)
1
2
www.BDTIC.com/XILINX
Create VxWorks Project• Select the BSP by browsing to the workbench25 directory (1) • Select sfgnu (software
floating point) from the Tool chain drop-down menu (2)
• Click Finish (3)
1
2
3
www.BDTIC.com/XILINX
Create VxWorks Project• In the new VxWorks Project,
right-click on Kernel Configuration, and select Edit Kernel Configuration (1)
1
www.BDTIC.com/XILINX
Configure System Image• To reproduce the pre-compiled
VxWorks system image– Components must be
Included or Excluded• Select the Components tab (1)• Right-click on the desired
components and select “Include” (2)– In some cases you will
select Exclude
1
2
www.BDTIC.com/XILINX
Configure System Image• Include: C++ Components
– Some components are pre-checked - leave these checked (1)– Click Next (2) and note the image size; then click Finish (3)
1
23
www.BDTIC.com/XILINX
Configure System Image• Include: development tool components > WDB agent components
– Check WDB task breakpoints
www.BDTIC.com/XILINX
Configure System Image• Include: development tool components > loader components
– Check module manager– Check target unloader
www.BDTIC.com/XILINX
Configure System Image• Include: development tool components > kernel shell components
– Check file system shell commands
www.BDTIC.com/XILINX
Configure System Image• Include: operating system components > IO system components
> dosFs File System Components– Check all boxes, except:– File System Backup and
Archival– DOS File System Old Directory
Format Handler
www.BDTIC.com/XILINX
Configure System Image• Include: operating system components > IO system components
– Check the following: – RAM disk driver– XBD Block Device– XBD Disk
Partition Handler– XBD Ram Drive
www.BDTIC.com/XILINX
Configure System Image• Include: Network Components > Network Applications
– Check FTP6 server
www.BDTIC.com/XILINX
Configure System Image• Exclude: Network Components > Network Applications >
FTPv6 server security– Eliminates the need to enter a password for FTP
www.BDTIC.com/XILINX
Configure System Image• Include: Network Components > Network Utilities
Components– Check Network interface show routines
www.BDTIC.com/XILINX
Configure System Image• Do this step last, after adding other components
– Exclude: hardware > memory > enable caches
www.BDTIC.com/XILINX
Configure System Image• Expand hardware > peripherals > serial > SIO
– Set CONSOLE_BAUD_RATE to 9600 (1)
1
www.BDTIC.com/XILINX
Create VxWorks System Image• Right-click vxWorks and select
Rebuild Project (1)– This creates a VxWorks
system image
1
www.BDTIC.com/XILINX
Create VxWorks System Image• A successful compile creates a VxWorks ELF kernel image
– <design path>\workbench25\proj_ppc405_0\default\vxWorks
www.BDTIC.com/XILINX
Download Bootloop Bitstream• Open an EDK shell
– Select Project →LaunchEDK Shell (1) 1
www.BDTIC.com/XILINX
Download Bootloop Bitstream• Download the pre-built bootloop bitstream using this
command:impact -batch etc/bootloop.cmd
www.BDTIC.com/XILINX
Verify Bootloop Bitstream• A memory read can
be executed to test if the bootloop was successfully loaded– Select Debug →
Launch XMD (1)– Select ppc405_0 (2)
2
1
www.BDTIC.com/XILINX
XMD Setup• The first time XMD runs on a
project, the options will be set– Click OK (1)– Click Save (2)
1
2
www.BDTIC.com/XILINX
Verify Bootloop in BRAM• XMD opens and connects to the processor, using
the default options
www.BDTIC.com/XILINX
Verify Bootloop in BRAM• To verify existence of bootloop inside of Block RAM:
mrd 0xfffffffc• This will read the memory address at the reset vector; the
value should be 0x48000000 as shown below (1)
1
www.BDTIC.com/XILINX
Download ELF File• Download the vxworks ELF file from XMD
cd workbench25/proj_ppc405_0/defaultrstdow vxworks (1)
1
www.BDTIC.com/XILINX
Run VxWorks• Open a terminal program • Enter con in the XMD window to start VxWorks (1)
1
www.BDTIC.com/XILINX
Run VxWorks• View the output in the terminal program • VxWorks running in external memory of ML410 (below)
www.BDTIC.com/XILINX
Target Shell Task Listing• After the VxWorks banner screen, type i (1)• View a list of tasks running on the ML410 (2)
1
2
www.BDTIC.com/XILINX
Network Statistics• Type ifShow "xtemac" (1)• Note the number of packets (2)
1
2
www.BDTIC.com/XILINX
Ping ML410 Target from Host• Open a DOS window on the PC Host
(Start → Programs → Accessories → Command Prompt)• Type ping 192.168.0.2 (1)
– Ping from PC host 192.168.0.1 to ML410 target 192.168.0.2
1
www.BDTIC.com/XILINX
Ping Host from ML410 Target• Type ping "192.168.0.1", 4, 0 (1)
– Ping from ML410 target 192.168.0.2 to PC host 192.168.0.1• Note: VxWorks requires double quotes on the IP address
1
www.BDTIC.com/XILINX
Network Statistics• Type ifShow "xtemac" again (1)• Number of packets has increased after pinging (2)
1
2
www.BDTIC.com/XILINX
Mounting a Local File System• Create a Ram Disk file system (1):
xbdRamDiskDevCreate (512, 0x1000000, 0, "/ramDisk")dosFsVolFormat ("/ramDisk", 2, 0)cd "/ramDisk"
1
www.BDTIC.com/XILINX
List Directory• The Ram Disk provides a DOS filesystem• Type ll (1)
– No files are currently on the ram disk
1
www.BDTIC.com/XILINX
FTP to VxWorks Target• From the DOS window, perform an FTP transfer of any
file to the ML410 Ram disk:
cd <tmp dir>copy vxWorks <file name>ftp 192.168.0.2<enter*><enter*>Binaryput <file name>quit
* When prompted for a user name and password, hit the enter keywww.BDTIC.com/XILINX
FTP to VxWorks Target• Type ll again(1)• The file (2) was transferred via ftp from the host to the
ram disk
21
www.BDTIC.com/XILINX
Create an Executable File• These commands use I/O redirection with a file:
– Type printf"ll\n">mycmd (1) which “prints” the mycmd file– Type <mycmd (2) which executes the ll command and shows the
new mycmd file on disk (3)
12
3
www.BDTIC.com/XILINX
Delete Files• Delete the two new files with these commands (1):
rm "vxWorks_deleteme"rm "mycmd"
• Type ll and verify the files were deleted
1
www.BDTIC.com/XILINX
Connect Target Server• From the Target Manager, launch
the ml410 target server (1)• Double-click on the target server
icon in the systray to view the target server console (2)
• If it does not connect, you will see this icon:
1
2
Note: Set the path to the vxWorks elf file as shown in the overview and setup presentationwww.BDTIC.com/XILINX
Host Shell• With the ml410 target selected in the Workbench Target
Manager, launch a host shell by selecting Target → Host Shell
• Click OK
www.BDTIC.com/XILINX
Host Shell• Type i in the host and target shells• See the same task listings in both shells
www.BDTIC.com/XILINX
Create an ACE File• Open an EDK shell
– Select Project →LaunchEDK Shell (1)
– This shell is used for entering and executing thecommands to create a concatenated (HW+SW ) ACE file
1
www.BDTIC.com/XILINX
Create an ACE File• At the EDK shell prompt, type (1):
cd ace./genace_vxworks.sh
1
www.BDTIC.com/XILINX
Create an ACE File• This creates a concatenated (HW+SW) ACE file
– Input: vxWorks ELF file, ml410_sgmii_bootloop.bit– Genace_vxworks.sh uses XMD and a genace.tcl script with ML410
appropriate options to generate an ACE file (1)
1www.BDTIC.com/XILINX
Run ACE File• Copy ml410_sgmii_vxworks.ace to the xilinx\cf7
directory on your CompactFlash card– Important: Delete any existing ace files
in this cf7 directory– Note: Use a CompactFlash reader to
mount the CompactFlash as a disk drive
www.BDTIC.com/XILINX
Run ACE File• Eject the CompactFlash from your PC and insert it back into
the ML410• Type 7 to run the newly created ACE file and load vxWorks
www.BDTIC.com/XILINX
Using the ACE File• Target shell output after booting ACE file
www.BDTIC.com/XILINX
Target Shell Task Listing• After the VxWorks banner screen, type i (1)• View a list of tasks running on the ML410 (2)
1
2
www.BDTIC.com/XILINX
Available Documentation• Platform Studio Documentation
– Embedded Development Kit (EDK) Resources – http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm– OS and Libraries Document Collection
http://www.xilinx.com/ise/embedded/oslib_rm.pdf– Automatic Generation of Wind River VxWorks 6.3 Board Support Packages
http://www.xilinx.com/ise/embedded/vxworks6_3.pdf• ML410
– ML410 User's Guidehttp://www.xilinx.com/bvdocs/userguides/ug085.pdf
– ML410 Overviewhttp://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=HW-V4-ML410-UNI-G
– ML410 Schematicshttp://www.xilinx.com/products/boards/ml410/docs/ml410_revE.pdf
www.BDTIC.com/XILINX
Available Documentation• Platform Studio Documentation
– Embedded Development Kit (EDK) Resourceshttp://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm
– OS and Libraries Document Collectionhttp://www.xilinx.com/ise/embedded/oslib_rm.pdf
– Automatic Generation of Wind River VxWorks 6.3 Board Support Packages http://www.xilinx.com/ise/embedded/vxworks6_3.pdf
• ML410– ML410 User's Guide
http://www.xilinx.com/bvdocs/userguides/ug085.pdf– ML410 Overview
http://www.xilinx.com/ml410– ML410 Schematics
http://www.xilinx.com/products/boards/ml410/docs/ml410_revE.pdfwww.BDTIC.com/XILINX