📄 readme.txt
字号:
Notes:
1) Early revisions of the 5509 do not perform boot selection correctly.
Please check the most recent errata.
2) McBSP/MMC/MS I/O registers on serial ports 1 and 2 are only visible
for the particular types configured in the external bus selection
register (see emif.c).
3) The Real Time Clock does not oscillate properly in some revisions
of the 5509, please check the errata. See rtc.c below for more
information.
4) The 5509 quad flat-pack package only has 13 external address lines.
The EVM has an external latch to generate higher addresses.
Please see flash.c belot for more information.
5) The sample code automatically configures peripheral clocks based
on the PLL setting given to PLL_Init(). If the code is used in
a different setting, make sure the peripheral clocks are being
set correctly.
5509EVM Sample Code
This directory contains sample code to perform basic operations with
the on-chip and on-board periphals on the 5509 Evaluation Module. Main.c
calls the initialization code and runs selected tests. The other source
files each contain code for a particular class of peripheral. The following
is a description of the code in each file:
5509.gel - 5509 Gel file
A slightly modified version of 5510.gel with I/O mappings enabled
for 5509 peripherals.
c55xxdefs.h - I/O Register definitions
The I/O mapped peripheral registers are defined as volatile
structures for easy consistent access.
5509.h - 5509 specific I/O Register values
Constants specific to the 5509 and 5509 EVM.
util.h - Basic bitmask functions
Macros to perform basic bitmask functions. Included as macros
to be independent of size/type restrictions. Also defines a structure
to hold PLL/frequency information for timing purposes.
aic23.c - AIC23 codec functions
Code to initialize the AIC23 command interface on the I2C bus and
data interface on McBSP0. Also contains code to pulse a sawtooth
pattern for test or mix digital input from the codec into the output.
display.c - LCD display routines
A simple character set and routines to send data to the LCD. The
display itself is serial but on the EVM communication is done by writing
8 bits at a time to a register in programmable logic that serializes
the data.
emif.c - EMIF setup
An example of the EMIF setup on the EVM. In particular, the
EMIF is configured for (addresses are in data space):
Chip Select 0 - 0x000000 16-bit wide SDRAM
Chip Select 1 - 0x200000 16-bit wide linear asynchronous Flash
Chip Select 2 - 0x400000 16-bit wide asynchronous for EVM on-board logic
evmlogic.c - On-board logic
The EVM uses on-board logic to drive the upper address bits of
the Flash chip and serialize data for the LCD display. The addresses
of those functions and code to access them are here.
i2c.c - Basic I2C functions
Code to read and write to the I2C bus.
intelflash.c - Flash functions
Code to program, erase and test the linear Flash.
keypad.c - Keypad controls
Code to read the switches and potentiometers on the external
keypad. The pots are accessed on the I2C bus, the switches are
connected to one on-chip analog input channel and the jog wheel is
connected to the other. The switches generate fixed voltage levels
when they are pressed. The jog wheel generates a two fixed levels
A and B when it is spun up or down in a pattern AB or BA depending
on its direction. When the jog wheel is pressed in a third level
is generated, similar to the other switches.
The I2C commands used to read the potentiometer can get stuck
if you terminate the program while a data transfer is in progress.
Power cycle your board if this happens.
main.c - Main function
Comment or uncomment the TestEnable flags to enable or
disable tests for the peripherals you are interested in. Calls
code to test each peripheral, performs a software breakpoint if
a test completes prematurely. Must be compiled with algebraic
assembly to support the software breakpoints.
mmc.c - MMC functions
Code to initialize, read and write from a MMC card. MMC_Test
assumes that a MMC card is already plugged into the socket.
rtc.c - Real Time Clock functions
Code to test the real time clock. Starts the clock and delays
a few seconds in software. If clock has ticked after delay, the
clock is running. The RTC clock input fails to oscillate in early
versions of the DSP so the EVM has a jumper to connect the timer's
TOUT output to the RTC clock input instead of the crystal. The
function Timer_32k configures the timer to generate an approximately
32768Hz TOUT to test the RTC.
sdram.c - SDRAM test
Code to perform a memory test on the SDRAM at CE0. The SDRAM
initialization is actually in Emif_Init().
spirom.c - SPI EEPROM functions
Code to read and write to the SPI EEPROM on McBSP0. The actual
device may or may not be present on your board depending on the revision.
timer.c - Timer test
Code to generate a sqaure wave on the timer's TOUT pin. Can
generates a 32.768Khz TOUT for the real time clock if needed.
USBDiskx.lib - USB disk application code
A sample application that will cause the EVM to appear as a
removable USB disk to a Windows PC. The SDRAM on the EVM is turned
into a small (2 to 3.5Mb) ramdisk with a DOS format filesystem.
The application uses TI's USB library as an interface to the on-chip
USB controller (see below).
If the USB test is enabled in main.c, wait for the "Testing USB"
message to appear on the LCD screen, then connect the EVM to the USB
port of the PC. After a brief wait the EVM should show up as a new
drive letter in Windows Explorer. The USD disk sample application
relies on Microsoft's USB Mass Storage Driver which comes included
with Windows ME and Windows 2000. We do not provide a driver for
other operating systems.
The interface to the library is a single call to USBDisk_Init().
If would like to remove the USB component from the sample code, simply
remove USBdiskx.lib and usb55x.lib from the project and comment out
the USBDisk_Init() call in main.c. All of the source code is
independent of the USB Disk. The USB disk source code will be
released in a future version of Spectrum Digital's sample code.
usb55x.lib - USB Library
The Texas Instruments USB controller library for c55x devices.
Will be documented by TI in a future release of their Chip Support
Library.
util.c - Utility functions
Code to set the PLL, software delay loops, interrupt control and
util.h support functions.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -