arm7_mmc
所属分类:Windows编程
开发工具:C++
文件大小:728KB
下载次数:30
上传日期:2009-03-29 19:45:56
上 传 者:
EOS
说明: LPC2148 LPC2478 ARM7 MMC
文件列表:
arm7_mmc\conf\config-sample-at91.h (5036, 2005-11-19)
arm7_mmc\conf\config-sample-avr.h (5500, 2006-03-14)
arm7_mmc\conf\config-sample-linux.h (4660, 2006-03-14)
arm7_mmc\conf\config-sample-lpc2000.h (5014, 2005-11-15)
arm7_mmc\conf\config-sample-nios2.h (4666, 2006-03-14)
arm7_mmc\docs\CVS\Entries (125, 2006-03-14)
arm7_mmc\docs\CVS\Repository (14, 2006-03-14)
arm7_mmc\docs\CVS\Root (47, 2006-03-14)
arm7_mmc\docs\Makefile (304, 2006-03-14)
arm7_mmc\docs\manual.pdf (346003, 2006-03-14)
arm7_mmc\docs\manual.tex (2396, 2006-03-14)
arm7_mmc\docs\pages\arm7.tex (3490, 2006-03-14)
arm7_mmc\docs\pages\avr.tex (7226, 2006-03-14)
arm7_mmc\docs\pages\config.tex (10786, 2006-03-14)
arm7_mmc\docs\pages\CVS\Entries (1100, 2006-03-14)
arm7_mmc\docs\pages\CVS\Repository (20, 2006-03-14)
arm7_mmc\docs\pages\CVS\Root (47, 2006-03-14)
arm7_mmc\docs\pages\dateandtime.tex (1726, 2006-03-14)
arm7_mmc\docs\pages\debug.tex (1981, 2006-03-14)
arm7_mmc\docs\pages\driver.tex (6373, 2006-03-14)
arm7_mmc\docs\pages\efs_init.tex (1358, 2006-03-14)
arm7_mmc\docs\pages\file_fclose.tex (1137, 2006-03-14)
arm7_mmc\docs\pages\file_fopen.tex (2113, 2006-03-14)
arm7_mmc\docs\pages\file_read.tex (1420, 2006-03-14)
arm7_mmc\docs\pages\file_write.tex (1499, 2006-03-14)
arm7_mmc\docs\pages\freespace.tex (1820, 2006-03-14)
arm7_mmc\docs\pages\ioman.tex (11998, 2006-03-14)
arm7_mmc\docs\pages\lgpl.txt (25916, 2006-03-14)
arm7_mmc\docs\pages\license.tex (641, 2006-03-14)
arm7_mmc\docs\pages\linux.tex (5441, 2006-03-14)
arm7_mmc\docs\pages\lsgetnext.tex (1683, 2006-03-14)
arm7_mmc\docs\pages\lsopendir.tex (1276, 2006-03-14)
arm7_mmc\docs\pages\mkdir.tex (1379, 2006-03-14)
arm7_mmc\docs\pages\plibc.tex (1841, 2006-03-14)
arm7_mmc\docs\pages\preface.tex (1783, 2006-03-14)
arm7_mmc\docs\pages\rmfile.tex (1292, 2006-03-14)
arm7_mmc\docs\pages\tms6713.tex (4180, 2006-03-14)
arm7_mmc\docs\pages\types.tex (999, 2006-03-14)
arm7_mmc\docs\pages\utils.tex (4123, 2006-03-14)
arm7_mmc\docs\pics\CVS\Entries (100, 2006-03-14)
... ...
*
* efsl SD-Card SPI-Interface for
* - Philips LPC2000 ARM7TDMI-S
* - Atmel AT91SAM7S ARM7TDMI
*
* The LPC2000 and AT91SAM7 interfaces are
* Copyright (c) 2005, 2006
* by Martin Thomas, Kaiserslautern, Germany
*
* http://www.siwawi.arubi.uni-kl.de/avr_projects
*
All interfaces inherit the license from the
main efsl-source.
-------------------------------------------------
Common "ARM7" Interface Information:
- A GNU arm-elf toolchain/cross-compiler
must be available to build the examples
and the library.
Ready-made toolchains: i.e. WinARM or
GNUARM
Other ARM-compilers may work too but
have not been tested.
- #define BYTE_ALIGNMENT is disabled
for the ARM-interfaces in config*.h
It didn't work with alignment enabled.
- The hardware connection is similar
to the connection described
in the efsl-manual for Atmel AVRs.
Pullup-Resistors should be optional.
Tests did work without pullups.
-------------------------------------------------
For each interface an example application
is provided. The examples can be build with
the library libefsl.a or with the efsl source
code.
(1) To use the efsl-source "directly"
- Verfiy that conf/config.h is present
and the settings match the used
interfaces (see templates).
- Modify the line in the example's
Makefile to: EFSL_AS_LIB = 0
- "make all" in the example's directory.
(2) To use the efsl-library (libefsl.a)
- Verfiy that conf/config.h is present
and the settings match the used
interfaces (see templates).
- Build the library libefsl.a with
the Makefile from the efsl root-
directory for the used interface.
(i.e. "make --makefile=Makefile-AT91 lib"
or "make --makefile=Makefile-LPC2000 lib" )
- Modify the line in the example's
Makefile to: EFSL_AS_LIB = 1
- "make all" in the example's directory
The example-applications demonstrate:
- Init of the efsl ARM debug-system
- Init of the efsl
- List contents of the SD-Card's
root directory
- Open a file and type the content
- Append a line of text to a file
- "cat/type" the file's content again
The applications print status- and
debug-messages to the UART1 on
LPC2000 or UART0 on AT91SAM7
(115200,8,N,1,no FC).
-------------------------------------------------
Additional Information for the LPC2000 Interface
- The efsl-interface supports SD-Cards
connected to the LPC2000 SPI ("SPI0")
and SSP ("SPI1") interface. The used
SPI-interface is hardcoded by the value
defined in config.h and can not be
changed during runtime.
- Only some parts of the LPC2000-family
have the fast SSP-Interface (i.e. LPC213x,
LPC214x) others only provide the slower
SPI interface.
- To build the library create the file
conf/config.h based on the template
config-sample-lpc2000.h and use the
Makefile Makefile-LPC2000 in the
efsl-root-directory for LPC2000s
(ARM7TDMI-S)
- I have tested the interface with a
LPC2138-controller and the SPI(0)
and SSP/SPI1-Interface. Other
LPC2000-ARM7 controllers should be
supported too. (I have got positive
feedback from LPC2148-users).
Verify that the register-adresses in
inc/interfaces/LPC2000_regs.h
match the used controller and the
maximum speed defined in lpc2000_spi.c
is available for the part. Verify the
pin-connections in lpc2000_spi.c.
Adjust the memory-setting in the linker-script.
-------------------------------------------------
Additional Information for the AT91 Interface
- The interface supports SD-Cards connected
to the AT91SAM7 SPI interface.
- To build the library create a file
conf/config.h based on the template
config-sample-at91.h and use the
Makefile Makefile-AT91 in the
efsl-root-directory for AT91 (ARM7TDMI)
- The AT91SAM7 offers 4 chip-select
signals which can be mapped to
different pins. Chip-select is done
by the Hardware. See at91_spi.c
for configuration options.
Chip-Select is hardcoded in the
current version of the interface
(Fixed peripheral select - see
datasheet).
- I have tested the interface with an
AT91SAM7S***-controller. Other
AT91-ARM7 controllers should be
supported too. (I have got a positive
feedback from an AT91SAM7S256-user.)
To adapt the code for another target:
- replace AT91SAM7S***.h by the
header file provided by Atmel
for the used part (see at91.com)
- verify the maximum speed in at91_spi.c
- verfiy the pin-connections in at91_spi.c
- Check the memory-setting in the linker-script.
- AT91 TODO: PDC/"DMA", 16bit-transfer, SSC-support,
Variable Peripheral Select
-------------------------------------------------
Test Hard- and Software:
- Keil (keil.com) MCB2130 board with LPC2138
- Atmel AT91SAM7S-EK board with AT91SAM7S***
- SD/MMC-connector from Buerklin.de
- SanDisk "standard" SD-Card 256MB
(not the "highspeed"-version)
- WinARM (arm-elf GNU toolchain)
- Bray++ Terminal
WinARM is available at:
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects
-------------------------------------------------
Credits:
- The code in efsl_debug_printf_arm.c is
based on code from Holger Klabunde
and has been modified to support
a "fdevopen"-function. The original
code has no copyright-notice and
is derived from an free code by
Volker Oth.
- Register-definitions for LPC213x are
based on a header-file from Keil GmbH
(supplied with the DKARM trial-version).
- Register-definitions for AT91SAM7 are from
at91.com (provided by Atmel).
- The basic method to handle the SPI interface
on AT91 has been found in a free example from
Olimex.com.
-------------------------------------------------
I hope the ARM-interfaces are useful for you.
Martin Thomas 4/2006
近期下载者:
相关文件:
收藏者: