lab4
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
lab4 [2014/02/24 02:45] – allison | lab4 [2014/02/26 15:39] (current) – allison | ||
---|---|---|---|
Line 2: | Line 2: | ||
=== BeagleBone PRUSS === | === BeagleBone PRUSS === | ||
- | The BeagleBone is a low-cost, high-performance embedded platform for hobbyists and other uses. It is based upon a TI AM335x 1GHz ARM® Cortex-A8. Features (from the [[http:// | + | The BeagleBone |
Line 28: | Line 28: | ||
- | ==== Procedure | + | ==== Goals ==== |
The goal is to experiment with the PRU devices and modify a small program to send a burst of bits at a given rate. The ARM processor should query the user for a 32-bit hexadecimal number and transmit it out serially on a GPIO pin LSB first. The period of transmission for each bit in microseconds should also be sent by the ARM to the PRU. A small program based on the TI examples has been provided to show two methods of sharing memory with the PRU and ARM as well as for using the PRU timer (you can also rely on the 5 ns instruction timing but then become more sensitive to code changes). | The goal is to experiment with the PRU devices and modify a small program to send a burst of bits at a given rate. The ARM processor should query the user for a 32-bit hexadecimal number and transmit it out serially on a GPIO pin LSB first. The period of transmission for each bit in microseconds should also be sent by the ARM to the PRU. A small program based on the TI examples has been provided to show two methods of sharing memory with the PRU and ARM as well as for using the PRU timer (you can also rely on the 5 ns instruction timing but then become more sensitive to code changes). | ||
+ | |||
+ | Not the TI examples are not production quality code but samples for demonstration. | ||
+ | |||
+ | |||
+ | ==== Prelab ==== | ||
+ | |||
+ | Familiarize yourself with the sample code and with the PRU assembly language. We will not be writing much code so you do not need to become expert but should be able to read the sample program and make modest changes. | ||
+ | |||
+ | Plan modifications to accomplish the goals above and prepare your code for the lab. | ||
+ | |||
+ | ==== Procedure ==== | ||
+ | |||
+ | - Log on to the laboratory workstation | ||
+ | - Using antistatic precautions, | ||
+ | - The BBB should be visible as a flash drive. Double click on Start.html | ||
+ | - MORE to be added here: terminal, scp, Bonescript to shut off LEDs | ||
+ | - Copy (scp) the example files to the BBB (the zip file can either be expanded on the PC or BBB). These files should be placed in the myapp directory under the example_apps directory (~/ | ||
+ | - //cd// to the example_apps directory | ||
+ | - Edit the DIRS file to add the source and paths to the files in myapp. This will allow make to find and move the files appropriately | ||
+ | - run //make// to make the sample apps and the new app | ||
+ | - //cd bin// | ||
+ | - // | ||
+ | - Repeat steps 5 - 10 for your version of the program to build and debug your program //Note to tech: would be good to get a debugger // | ||
+ | - When your program is working demonstrate it to the TA | ||
+ | - Determine the maximum frequency (minimum bit period) that you can reliably send the data and confirm with an oscilloscope. | ||
+ | - How could you improve the performance? | ||
+ | |||
+ | |||
+ | ==== Submission and Evaluation ==== | ||
+ | |||
+ | As well as you demonstration you should submit a brief lab report. For the lab report submit your code, documenting the changes, and the answers to the questions above using the prism submit command. | ||
+ | |||
+ | |||
- | ==== Reference Manuals ==== | + | ==== Reference Manuals |
- | * | + | * {{: |
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
==== Resources ==== | ==== Resources ==== | ||
*{{: | *{{: |
lab4.1393209936.txt.gz · Last modified: 2014/02/24 02:45 by allison