Table of Contents
Design and Board page
On this page you can find my design which I use (used).
Boards list
- Xilinx ml401 [stars=4/5]
- Xilinx ml310 [stars=1/5]
- Xilinx ml505 [stars=5/5]
- Xilinx XUPV2P [stars=2/5]
- Xilinx s3e500 [stars=2/5]
- Xilinx s3e1600 [stars=4/5]
- Xilinx s3adsp1800 [stars=3/5]
- Xilinx sp605 [stars=4/5]
- Celoxica rc203 [stars=0/5]
- Morphologic MPL3E Evaluation board [stars=4/5]
- Usb daugher card for ml50x boards [stars=5/5]
HW descriptions
Nullmodem Cable
Flying wires - USB Jtag
Xilinx USB-PC cable
Male SUB-9 - http://hw.cz/rs-232#konektory
ATX power supply
http://hw.cz/Teorie-a-praxe/Dokumentace/ART379-Vyuziti-PC-ATX-zdroje-pro-napajeni-zarizeni.html
Turn on: Connect PS_ON# and GNG (Some power supplies needs minimal load)
EDK and ISE from Windows
Cleaning project
How to manage projects in git?
On this page is only copy from http://wiki.secretlab.ca/index.php/Revision_control_for_Xilinx_EDK_projects
There seems to be very little documentation from Xilinx on how to use SCM (Source Code Management) tools to manage EDK projects. It's easy enough to throw a whole project, generated files and all, into a repository for maintaining project history, but doing so isn't so useful when trying to determine what exactly changed between two versions of the code. It results in wading through a large changeset where most of the diffs are in generated files, when all that you're interested in is explicit source code changes.
I've found the git tool to be a particularly useful SCM tool, and as such these notes are geared to managing an EDK tree with git. The suggestions here can easily be adapted to other SCM tools.
Moving between Windows and Linux/Solaris
Line endings on text files are different between Windows and Linux/Solaris. Text files created by Windows use “CRLF” line endings, whereas other systems simply use the “LF” character. If you are moving a project back and forth between Windows and Linux, you should scrub line ending differences before committing your changes. I use the following script on Linux to change to UNIX style line endings on all text source files.
edk-sanitize.sh:
#!/bin/sh find * -type d | xargs chmod u+w git-ls-files | xargs chmod u+w git-ls-files '*.opt' '*.mhs' '*.mss' '*.xmp' '*.arg' | xargs dos2unix git-ls-files '*.make*' '*.cmd' '*.ld' '*.c' '*.h' '*.prj' | xargs dos2unix git-ls-files '*.mpd' '*.pao' '*.cli' '*.txt' '*.ucf' '*.lfp' | xargs dos2unix git-ls-files '*.ref' '*.vhd' '*.ant' '*.jhd' '*.tbw' '*.vhw' | xargs dos2unix git-ls-files '*.lso' '*transcript' '*.fdo' '*.udo' '*.xst' | xargs dos2unix git-ls-files '*_info' '*.cdc' | xargs dos2unix
Getting started
Use the following commands to setup your git repository for an EDK project and checking your initial project.
$ cd /path/to/edk/project/dir $ git-init $ vim .gitignore # Add the patterns listed in the "Controlled file list" section. $ git add .gitignore $ git commit -m "Add .gitignore file" $ git add . $ edk-sanitize.sh # Make CR/CRLF line endings consistent $ git commit -a -m "Initial EDK commit"
Controlled file list
We only want to control files that are not generated by the build system. Use the following .gitignore file to ignore generated files. It's a list of patterns, any file that matches the pattern is ignored by git.
ppc405_? microblaze_? implementation synthesis hdl report blkdiagram fs-boot __xps *.log *.svf *.scr *.cmd *.bak *~ *.elf *.ace
Notes
- Always use 'git diff HEAD' before committing changes. Make sure the diff doesn't contain anything you don't expect.
- Chipscope files (*.cdc) are in the implementation directory. They should probably be retained, but they are excluded by the above list.
- However, “Project”→“Clean All Generated Files” deletes the entire implementation/ directory, so if you want to keep the *.cdc files, archive them in a different subdirectory.
- Platform Studio seems to be hard coded to generate system.make and system_incl.make. If you want to make custom changes to the make files, make sure you rename them in the project first. (“Project”→“Project Options”→“Custom Makefile”).
EDK
Errors
Selected two application
You have selected two and more application to same memory space. (green icon in EDK installation)
Analyzing file bootloops/microblaze_0.elf... ERROR:MDT - Memory overlap detected between various program headers for processor microblaze_0
Full MMU and PVR - Microblaze 7.00.a/b
Microblaze v7.00.a and v7.00.b have problem with TURN on MMU full and function of PVR registers
MicroBlaze Processor Configuration : ------------------------------------- Version............................7.00.a Optimization.......................Performance Interconnect.......................PLBv46 MMU Type...........................Full_MMU No of PC Breakpoints...............2 No of Read Addr/Data Watchpoints...0 No of Write Addr/Data Watchpoints..0 Instruction Cache Support..........on Instruction Cache Base Address.....0x20000000 Instruction Cache High Address.....0x21ffffff Data Cache Support.................on Data Cache Base Address............0x20000000 Data Cache High Address............0x21ffffff Exceptions Support................on FPU Support.......................on Hard Divider Support...............on Hard Multiplier Support............on - (Mul64) Barrel Shifter Support.............on MSR clr/set Instruction Support....on Compare Instruction Support........on Number of FSL ports................1 PVR Supported......................on PVR Configuration Type.............Full Connected to MDM UART Target Connected to "mb" target. id = 0 Starting GDB server for "mb" target (id = 0) at TCP port no 1234 XMD% srrd pc: 20002530 msr: 000005a2 ear: 00000000 esr: 00000000 fsr: 00000000 btr: 2000252c pvr0: 80000012 pvr1: 00000038 pvr2: 00000033 pvr3: 80000000 pvr4: 80000000 pvr5: 80000000 pvr6: 00000000 pvr7: 0000003f pvr8: 00000000 pvr9: 0000003f pvr10: 00000000 pvr11: 80000000
MicroBlaze Processor Configuration : ------------------------------------- Version............................7.00.b Optimization.......................Performance Interconnect.......................PLBv46 MMU Type...........................Full_MMU No of PC Breakpoints...............2 No of Read Addr/Data Watchpoints...0 No of Write Addr/Data Watchpoints..0 Instruction Cache Support..........on Instruction Cache Base Address.....0x20000000 Instruction Cache High Address.....0x21ffffff Data Cache Support.................on Data Cache Base Address............0x20000000 Data Cache High Address............0x21ffffff Exceptions Support................on FPU Support.......................on Hard Divider Support...............on Hard Multiplier Support............on - (Mul64) Barrel Shifter Support.............on MSR clr/set Instruction Support....on Compare Instruction Support........on Number of FSL ports................1 PVR Supported......................on PVR Configuration Type.............Full Connected to MDM UART Target Connected to "mb" target. id = 0 Starting GDB server for "mb" target (id = 0) at TCP port no 1234 XMD% srrd pc: 21a06880 msr: 000004a2 ear: 00000000 esr: 00000000 fsr: 00000000 btr: 00000000 pvr0: 80000012 pvr1: 00000038 pvr2: 00000033 pvr3: 80000000 pvr4: 80000000 pvr5: 80000000 pvr6: 00000000 pvr7: 0000003f pvr8: 00000000 pvr9: 0000003f pvr10: 00000000 pvr11: 80000000