|
|
- What is a number? What is a formal system (in mathematics)? What do we mean by the "incompleteness of formal systems?"
- What is meant by "computation?" What is a "Turing machine?"
- Use the Turing Machine applet discussed in class and write a program that adds numbers.
- What was Hilbert's tenth problem? Why is it significant?
- What is industrial control?
- What is the difference between analog and digital control?
Please keep notes on your studies and be prepared to participate in class discussions.
|
Miscallaneous Assignments
|
- Read Intel's PCN 106013. What is the significance of this announcement?
- Read Atmel's white paper titled Migration from 8-bit to 32-bit Microcontrollers. Think about the points made in this paper. Do you support these points? Do you have reservations or objections? Also look at the press release from 2004. Please be prepared to discuss your views and to present further references or material to support your position.
- Read about IBM's "Cell" processor used in Sony's PS3. What other uses of the PS3 are possible?
- What is "Free Software?" Visit the web sites of FSF and GNU. Investigate the history of the software industry, both in terms of technology and economics.
- Have you used or heard about the "GNU tools" and Eclipse?
Please keep notes on your studies and be prepared to participate in class discussions.
|
|
|
- In the domain of computers, what is meant by "architecture?"
- How do RISC and CISC differ? There are several discussions on the web, for instance one from Stanford University.
- What is an accumulator? What is a "B" register?
- Classify the architectures of the following popular microcntrollers: 80C52, 68HC12, PIC, C167.
- Download CodeSourcery's GNU toolchain for the ARM. Install the toolchain, locate and read the HTML help files.
- Download the Eclipse IDE.
You may download Eclipse IDE package for C/C++ developers (approximately 62MB) or the Eclipse Classic package (approximately 140 MB).
The Classic package will allow you to use Eclipse for Java and web development.
If you download the Classic package, you must separately download the C/C++ development toolkit (CDT).
This can be done from within Eclipse, or explicitly. See the C development toolkit for details.
Install the IDE and familiarize yourself with the development environment.
Note that there are several tutorials and help files, ranging from the most elementary to the most sophisticated.
Find some tutorials that are consistent with your past experiences in code development.
- Read the Atmel document that summarizes the ARM7TDMI architecture and the one from ARM.
At least skimm through the Atmel AT91SAM7S64 datasheet to familiarize yourself with the contents. We will refer to the datasheet throughout the semester.
Please keep notes on your studies and be prepared to participate in class discussions.
|
|
|
- Review the on-line GNU documentation, as well as the documentation that is installed by the CodeSourcery distribution of ARM tools.
- Download the batch files and build the various examples discussed in class. You may have to modify the batch files according to your own directory structure.
- Download and build the Eclipse project. You may have to modify the path parameters according to your own directory structure.
|
|
|
- Build and download the simple project to the board.
This program configures port PA31 to be an output port.
Connect PA31 to an LED and run the program.
Observe that the LED is blinking on and off.
- Write a new program that uses two input ports and an output port.
Configure the input ports to have pull-up resistors.
Information about how to configure the ports is given in the AT91SAM7S64 documentation.
Please note that searching for this topic in the data book and extracting the information is a significant portion of this assignment.
Connect the input ports to two of the push buttons.
These push buttons ground the ports when pressed.
With the internal pull-up resistor configured, the port will read "logic 1" unless the corresponding push button is pressed.
Connect the output to an LED, as in blink.
Write a simple program that implements the logical "EXOR" function. That is, the LED should be lit if one or the other button is pressed, but not if both are pressed.
|
October 15
Graded
Homework 1
|
This assignment will be collected and graded.
The assignment is available as a PDF document.
Note that there are two parts to the assignment.
You are expected to answer all of the general questions, and select only one of the programming tasks.
The homework should be submitted by e-mail to (assignment@yeralan.org).
Please mark your name on the all of your assignment documents.
Contact me (yeralan@ufl.edu) or our capable Mr. Scott Payne (scottp@ufl.edu) if you have any questions.
|
|
|
Compile and run the project serial.
Add a routine to print signed integers.
|
|
|
Compile and run the project serial_lib.
How much code does sprintf() and printf() add?
Try printing floating-point number. Does this work? Why (or why not)?
What is the difference between libc.a, libgcc.a, and libm.a?
The libraries that come with the CodeSourcery distribution is an implementation of "NewLib."
Find out about NewLib.
How can you create the libraries from their source?
|
November 12
Graded
Homework 2
|
This assignment will be collected and graded.
The assignment is available as a PDF document.
Note that there are two parts to the assignment.
You are expected to answer all of the general questions, and select only one of the programming tasks.
The homework should be submitted by e-mail to (assignment@yeralan.org).
Please compress all your documents into a single file and name it the same as your last name, followed by _2 for Assignment 2.
For instance, the late night show host Jay Leno would name his homework Leno_2.zip.
Contact me (yeralan@ufl.edu) or our capable Mr. Scott Payne (scottp@ufl.edu) if you have any questions.
|
November 26
Graded
Homework 3
|
This assignment will be collected and graded.
The assignment is available as a PDF document.
Please select only one of the programming tasks.
The homework should be submitted by e-mail to (assignment@yeralan.org).
Please compress all your documents into a single file and name it the same as your last name, followed by _2 for Assignment 2.
For instance, the Monsieur Nikolas Sarkozy would name his homework Sarkozy_3.zip.
Contact me (yeralan@ufl.edu) or our incomparable Mr. Scott Payne (scottp@ufl.edu) if you have any questions.
|
Solutions
|
Here are Mr. Payne's solutions to the homework assignments:
solution to assignment 1.
solution to assignment 2.
|