User Tools

Site Tools


lab_1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
lab_1 [2018/09/04 11:53]
lab_1 [2019/04/09 09:57] (current)
hutch [Questions]
Line 27: Line 27:
  
 ===== Requirements ===== ===== Requirements =====
-  * Watch the first four videos on the BYU ECEN 330 channel (V1 - V4) and run helloWorld as instructed. +Watch the first four videos on the BYU ECEN 330 channel (V1 - V4) and run helloWorld as instructed. 
-    * [[https://​www.youtube.com/​watch?​v=OlWu7iRAVd8|V1 Setting Up Directories]] +==== V1Setting Up Directories ​==== 
-    * [[https://​www.youtube.com/watch?v=zxZN-jmNXbc|V2 Import the Extracted Files into the Xilinx SDK]] +{{youtube>​OlWu7iRAVd8?rel=0&​allowfullscreen&​noborder&​560x315}} 
-    * [[https://​www.youtube.com/watch?v=thNfqYz3GiY|V3 Download the Bit-Stream to the ECEN Development Board]] +==== V2Import the Extracted Files into the Xilinx SDK ==== 
-    * [[https://​www.youtube.com/watch?v=OpTXsDc9ptA|V4 Build the Configuration and Execute the Program]]+{{youtube>​zxZN-jmNXbc?rel=0&​allowfullscreen&​noborder&​560x315}} 
 +==== V3Download the Bit-Stream to the ECEN Development Board ==== 
 +{{youtube>​thNfqYz3GiY|?rel=0&​allowfullscreen&​noborder&​560x315}} 
 +==== V4Build the Configuration and Execute the Program ​==== 
 +{{youtube>​OpTXsDc9ptA|?​rel=0&​allowfullscreen&​noborder&​560x315}} 
 + 
 +----
  
 //**Note**: when importing projects (V2), please make sure to navigate through the J Drive as shown below or your project will generate errors during compilation://​ //**Note**: when importing projects (V2), please make sure to navigate through the J Drive as shown below or your project will generate errors during compilation://​
  
 {{::​lab1_import_j_drive.png?​600|}} {{::​lab1_import_j_drive.png?​600|}}
 +
 +----
  
 Also watch the videos below and and do as instructed. Also watch the videos below and and do as instructed.
  
-    * [[https://​youtu.be/​Qu43bwdxNUs|V13 Modify a compiler setting to overcome Xilinx SDK Bug]] +==== V13Modify a compiler setting to overcome Xilinx SDK Bug ==== 
-    * [[https://​www.youtube.com/watch?v=onO-XojGFMM|V11 Setting the Heap and Stack Size]]+{{youtube>​Qu43bwdxNUs?rel=0&​allowfullscreen&​noborder&​560x315}} 
 +==== V11Setting the Heap and Stack Size ==== 
 +{{youtube>​onO-XojGFMM?​rel=0&​allowfullscreen&​noborder&​560x315}}
  
-{{::​lab1helloworldphoto.jpg?​500|The LCD Screen for helloWorld.c}}+---- 
 +----
  
 ===== Exercises ===== ===== Exercises =====
  
-  - Modify the first "hello world" program and remove the \n\r from the string used in the printf function and recompile and execute the program. What happens? Does "hello world!"​ still appear in the console? +1. Modify the first "hello world" program and remove the \n\r from the string used in the printf function and recompile and execute the program. What happens? Does "hello world!"​ still appear in the console? 
-  ​- ​Read the graphics documentation and then modify the "​helloWorld.c"​ program so that it shows the following when executed (both triangles are yellow):+ 
 +{{::​lab1helloworldphoto.jpg?​500|The LCD Screen for helloWorld.c}} 
 + 
 +2. Read the graphics documentation and then modify the "​helloWorld.c"​ program so that it shows the following when executed (both triangles are yellow):
  
 {{::​lab1photo2.jpg?​500|The LCD Screen for the Graphics Program}} {{::​lab1photo2.jpg?​500|The LCD Screen for the Graphics Program}}
 +
 +----
 +
 ===== Notes and Hints ===== ===== Notes and Hints =====
   - Carefully read **every word** of the lab description. These lab descriptions have been refined over the past three years based upon student feedback. In most cases, the answers to your questions are usually present in the lab description. It is good practice to become very skilled at reading documentation as you will find that there are no TAs in industry. In general, students who read the lab description very carefully **before coding anything** complete the lab much more quickly than those who tend to scan the description and jump directly to coding. That said, if something is still unclear after you carefully read the lab description,​ let me know and I will try to fix it. I value student feedback.   - Carefully read **every word** of the lab description. These lab descriptions have been refined over the past three years based upon student feedback. In most cases, the answers to your questions are usually present in the lab description. It is good practice to become very skilled at reading documentation as you will find that there are no TAs in industry. In general, students who read the lab description very carefully **before coding anything** complete the lab much more quickly than those who tend to scan the description and jump directly to coding. That said, if something is still unclear after you carefully read the lab description,​ let me know and I will try to fix it. I value student feedback.
Line 56: Line 73:
   - I strongly advise against a "trial and error" approach when writing the code to draw the lines, circles and triangles. It takes up to a minute each time you build your code and download to the board and this adds up quickly, time-wise. A better approach is to draw a picture of the display and to determine the actual coordinates before writing any code.   - I strongly advise against a "trial and error" approach when writing the code to draw the lines, circles and triangles. It takes up to a minute each time you build your code and download to the board and this adds up quickly, time-wise. A better approach is to draw a picture of the display and to determine the actual coordinates before writing any code.
   - The sizes of the triangles and circles don't need to match my picture exactly but they should be reasonably close.   - The sizes of the triangles and circles don't need to match my picture exactly but they should be reasonably close.
-  - If you are having problems programming the board, ensure that the programming jumper is set correctly. I went through ​413 and I think that I set all of them but double-check this if you are having problems programming the board. The jumper needs to placed over the rightmost two pins as shown in the picture below.+  - If you are having problems programming the board, ensure that the programming jumper is set correctly. I went through ​all of the boards in the shop and I think that I set all of them but double-check this if you are having problems programming the board. The jumper needs to placed over the rightmost two pins as shown in the picture below.
   - The main.c file contains a function called isr_function(). You will not use this function for this lab but it must be defined or you will get a linker error. You will do more with this function in later labs.   - The main.c file contains a function called isr_function(). You will not use this function for this lab but it must be defined or you will get a linker error. You will do more with this function in later labs.
  
 {{::​programmingmodejumpersetting.jpg?​500|Programming Jumper Set to JTAG Mode (programming over the cable}} {{::​programmingmodejumpersetting.jpg?​500|Programming Jumper Set to JTAG Mode (programming over the cable}}
 +
 +----
  
 ===== Questions ====== ===== Questions ======
 Consider the following questions as you work on this lab. Consider the following questions as you work on this lab.
   - What actions occur when you save your program? Do you ever have to manually compile your program?   - What actions occur when you save your program? Do you ever have to manually compile your program?
 +
 +----
 +
  
 ===== Pass Off ===== ===== Pass Off =====
Line 69: Line 91:
  
 **Note to TAs:** Ask the student what happened when they removed the \n\r from the printf() in the exercises. Don't pass the student off unless you are sure that the completed this exercise. **Note to TAs:** Ask the student what happened when they removed the \n\r from the printf() in the exercises. Don't pass the student off unless you are sure that the completed this exercise.
 +
 +----
 ===== Source Code ===== ===== Source Code =====
 All of the display functions (display_) can be found in display.h which is contained in the supportFiles directory. I have placed display.h below for convenience. You can learn a lot about the display by reading through the display.h file. All of the display functions (display_) can be found in display.h which is contained in the supportFiles directory. I have placed display.h below for convenience. You can learn a lot about the display by reading through the display.h file.
lab_1.1536083594.txt.gz · Last modified: 2019/04/08 20:12 (external edit)