Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| learn:programmable-logic:tutorials:zedboard-programming-guide:start [2016/07/29 19:51] – Sam Lowe | learn:programmable-logic:tutorials:zedboard-programming-guide:start [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ======Zedboard Programming Guide in SDK====== | ======Zedboard Programming Guide in SDK====== | ||
| - | **Under construction** | + | {{: |
| - | + | ||
| - | picFIXME | + | |
| =====Overview===== | =====Overview===== | ||
| Line 12: | Line 10: | ||
| This tutorial will walk you through what you need to know to get started on your projects and program your Zedboard using each of the three possible methods. It is recommended that you first complete the " | This tutorial will walk you through what you need to know to get started on your projects and program your Zedboard using each of the three possible methods. It is recommended that you first complete the " | ||
| + | |||
| ----- | ----- | ||
| Line 35: | Line 34: | ||
| =====Downloads===== | =====Downloads===== | ||
| - | Source Files -- {{: | + | none |
| ----- | ----- | ||
| Line 43: | Line 42: | ||
| ====1. Creating the Project==== | ====1. Creating the Project==== | ||
| - | If you already have a project | + | If you already have a working SDK project continue. If not, complete the [[/ |
| Line 49: | Line 48: | ||
| ----- | ----- | ||
| - | ====3. Programming the Basys3 | + | ====2. Programming the Zedboard |
| - | JTAG is primarily used as a programming, | + | JTAG is primarily used as a programming, |
| - | >3.1) First, make sure that the jumper JP1 is in the JTAG position and that the Basys 3 is plugged into your computer via micro-USB cord. Once the board is plugged in you should see something like this. | + | >2.1) First, make sure that the jumpers JP7-JP11 are in the JTAG position |
| + | > | ||
| > | > | ||
| - | >{{:basys3:basys3_screen_shot_2015-6-10_10.png?nolink&400|}} | + | >2.2) Next click on Xilinx Tools and then Program FPGA |
| - | + | >{{:learn:programmable-logic: | |
| - | >3.2) Click " | + | > |
| + | >2.3) Make sure you have the correct | ||
| + | > | ||
| > | > | ||
| - | >{{:basys3:30.png?nolink& | + | >2.4) Finally find the .elf file in your main project, right click and select run as launch on hardware (system debugger) This will load your program into the arm processor and will run your program! |
| + | >{{:learn: | ||
| - | This will program your Basys3 through the JTAG connector. Once the programming window is closed go ahead and test out your board. Each slide switch at the bottom of your board should now toggle its respective LED on and off. | ||
| ----- | ----- | ||
| - | ====4. Programming the Basys3 | + | ====3. Programming the Zedboard |
| - | It is important to note that the USB device | + | It is important to note that the SD card that you select to program the Zedboard with must be formatted in Fat32. Other than that your device doesn' |
| - | >4.1) Make sure the jumper | + | >3.1) Make sure the jumpers |
| + | > | ||
| - | >4.2) Plug your USB flash device into your computer. | + | >3.2) Create an First Stage Boot Loader by clicking file-> |
| + | > | ||
| - | >4.3) Open File Explorer and navigate to the root folder of your Vivado project. | + | >3.3) Create a boot image. This proccess can be found in Appendix A |
| - | >4.4) From root go to root > Project_name.runs > impl_1 | + | >3.4) Place your boot image file onto a fat32 formatted SD card and plug it into your Zedboard. |
| - | >4.5) Go to the root of your USB device | + | >3.5) Turn on your Zedboard |
| - | >4.6) Safely remove | + | ----- |
| + | ====4. Programming | ||
| + | Quad SPI Flash is a non-volatile memory that the Zedboard' | ||
| - | >4.7) Make sure your board is connected to your computer for power and turn on the Basys3. It should immediately begin writing the .bit file to the FPGA. | + | >4.1) Make sure the jumper |
| - | Once finished | + | > |
| + | > | ||
| + | >4.2) Create an First Stage Boot Loader by clicking | ||
| + | > | ||
| + | > | ||
| + | >4.3) Create a boot image. This proccess can be found in Appendix A | ||
| + | > | ||
| + | >4.4) Select Xilinx Tools-> | ||
| + | > | ||
| + | > | ||
| + | >4.5) Now that your QSPI flash is programmed, change the jumpers to the configuration below to program | ||
| + | > | ||
| + | > | ||
| - | ----- | + | When the zedboard |
| - | ====5. Programming | + | |
| - | Quad SPI Flash is a non-volatile memory that the Basys3' | + | |
| - | >5.1) Make sure the jumper on JP1 is in the QSPI position | + | ====Appendix A. Creating a boot image in SDK==== |
| - | >5.2) In the Hardware Manager | + | >A.1) Navigate to Xilinx Tools-> Create boot image. You will have the following |
| + | > | ||
| > | > | ||
| - | >{{: | + | > ** *The next few steps must be done in order** |
| + | >A.2) Select an output BIF file path. This will log the results of the boot image output. The window should also automatically set your output path to the same location. Remember this location as the .bin file will be put on your SD card or QSPI. | ||
| - | >5.3) This window will pop up. Search for " | + | >A.3) Add the FSBL .elf file which can be found in your bootloader' |
| + | >ex. zedboard_programming.sdk\bootloader\Debug | ||
| + | >Then click ok | ||
| > | > | ||
| - | >{{: | + | >A.4) Now add the hardware |
| - | + | >ex. zedboard_programming.sdk\design_1_wrapper_hw_platform_0\design_1_wrapper.bit | |
| - | >5.4) Select | + | >Then click ok |
| > | > | ||
| - | >{{: | + | >A.5) Finally add your applications .elf file as the last file. This can be found in the project' |
| - | + | >ex. zedboard_programming.sdk\zedboard_basic\Debug\zedboard_basic.elf | |
| - | Vivado will now erase the old configuration | + | >Click ok and your window should look like below. Once Create Image is pressed, your boot image is created to put on an SD card or into QSPI Flash. |
| + | >** *if your design purely uses the PL, a project elf file is not required** | ||
| + | > | ||
| + | > | ||
| ----- | ----- | ||
| {{tag> | {{tag> | ||

