SD card now works on the PIC32MX7 MMB board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4799 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
8fcb41f3f3
commit
7b5b9fe825
@ -2874,5 +2874,10 @@
|
||||
the Mikroelektronika PIC32MX7 MMB board (not working on initial check-in).
|
||||
* arch/mips/src/pic32/pic32mx-spi.c: Add support for very low-level,
|
||||
register access debug output.
|
||||
|
||||
* configs//pic32mx7mmb/include/board.h: Reduced peripheral clock to
|
||||
4MHz to match other PIC32 configurations.
|
||||
* configs/pic32mx7mmb/src/up_nsh.c: SD card needs to operate in SPI
|
||||
mode 2.
|
||||
* configs/pic32mx7mmb/nsh/defconfig: MMC/SD card support is now
|
||||
enabled by default in the PIC32MX7 MMB board configuration.
|
||||
|
||||
|
@ -572,10 +572,17 @@ Where <subdir> is one of the following:
|
||||
The OS test produces all of its test output on the serial console.
|
||||
This configuration has UART1 enabled as a serial console.
|
||||
|
||||
USB Configuations.
|
||||
-----------------
|
||||
SD Card Support
|
||||
---------------
|
||||
SD card support is built into this example by default:
|
||||
|
||||
CONFIG_PIC32MX_SPI1=y
|
||||
CONFIG_NSH_ARCHINIT=y
|
||||
|
||||
USB Configurations.
|
||||
------------------
|
||||
Several USB device configurations can be enabled and included
|
||||
as NSH built-in built in functions.
|
||||
as NSH built-in built in functions. USB is *not* enabled by default.
|
||||
|
||||
To use USB device, connect the starter kit to the host using a cable
|
||||
with a Type-B micro-plug to the starter kit’s micro-A/B port J5, located
|
||||
@ -612,11 +619,9 @@ Where <subdir> is one of the following:
|
||||
to enable the USB mass storage device. However, this device cannot
|
||||
work until support for the SD card is also incorporated.
|
||||
|
||||
Networking Configuations.
|
||||
-------------------------
|
||||
Several Networking configurations can be enabled and included
|
||||
as NSH built-in built in functions. The following additional
|
||||
configuration settings are required:
|
||||
Networking Configurations.
|
||||
--------------------------
|
||||
Networking is enabled by default in this configuration:
|
||||
|
||||
CONFIG_NET=y : Enable networking support
|
||||
CONFIG_PIC32MX_ETHERNET=y : Enable the PIC32 Ethernet driver
|
||||
@ -628,6 +633,8 @@ Where <subdir> is one of the following:
|
||||
CONFIG_NSH_IPADDR=(10<<24|0<<16|0<<8|2) : Target IP address 10.0.0.2
|
||||
CONFIG_NSH_DRIPADDR=(10<<24|0<<16|0<<8|1) : Host IP address 10.0.0.1
|
||||
|
||||
This will probably need to be customized for your network.
|
||||
|
||||
NOTES:
|
||||
1. This logic will assume that a network is connected. During its
|
||||
initialization, it will try to negotiate the link speed. If you have
|
||||
@ -636,19 +643,14 @@ Where <subdir> is one of the following:
|
||||
before the networking finally gives up and decides that no network is
|
||||
available.
|
||||
|
||||
2. To add SPI-based support for the SD card slot:
|
||||
|
||||
CONFIG_PIC32MX_SPI1=y
|
||||
CONFIG_NSH_ARCHINIT=y
|
||||
|
||||
3. This example can support an FTP client. In order to build in FTP client
|
||||
2. This example can support an FTP client. In order to build in FTP client
|
||||
support simply uncomment the following lines in the appconfig file (before
|
||||
configuring) or in the apps/.config file (after configuring):
|
||||
|
||||
#CONFIGURED_APPS += netutils/ftpc
|
||||
#CONFIGURED_APPS += examples/ftpc
|
||||
|
||||
4. This example can support an FTP server. In order to build in FTP server
|
||||
3. This example can support an FTP server. In order to build in FTP server
|
||||
support simply uncomment the following lines in the appconfig file (before
|
||||
configuring) or in the apps/.config file (after configuring):
|
||||
|
||||
|
@ -87,8 +87,8 @@
|
||||
* PBCLOCK = CPU_CLOCK / PBDIV
|
||||
*/
|
||||
|
||||
#define BOARD_PBDIV 1 /* Peripheral clock divisor (PBDIV) */
|
||||
#define BOARD_PBCLOCK 80000000 /* Peripheral clock (PBCLK = 80MHz/1) */
|
||||
#define BOARD_PBDIV 2 /* Peripheral clock divisor (PBDIV) */
|
||||
#define BOARD_PBCLOCK 40000000 /* Peripheral clock (PBCLK = 80MHz/2) */
|
||||
|
||||
/* Watchdog pre-scaler (re-visit) */
|
||||
|
||||
|
@ -140,7 +140,7 @@ CONFIG_PIC32MX_OC4=n
|
||||
CONFIG_PIC32MX_OC5=n
|
||||
CONFIG_PIC32MX_I2C1=n
|
||||
CONFIG_PIC32MX_I2C2=n
|
||||
CONFIG_PIC32MX_SPI1=n
|
||||
CONFIG_PIC32MX_SPI1=y
|
||||
CONFIG_PIC32MX_SPI2=n
|
||||
CONFIG_PIC32MX_SPI3=n
|
||||
CONFIG_PIC32MX_SPI4=n
|
||||
@ -1330,7 +1330,7 @@ CONFIG_NSH_ROMFSETC=n
|
||||
CONFIG_NSH_CONSOLE=y
|
||||
#CONFIG_NSH_CONDEV="/dev/ttyS1"
|
||||
CONFIG_NSH_TELNET=n
|
||||
CONFIG_NSH_ARCHINIT=n
|
||||
CONFIG_NSH_ARCHINIT=y
|
||||
CONFIG_NSH_IOBUFFER_SIZE=512
|
||||
CONFIG_NSH_DHCPC=n
|
||||
CONFIG_NSH_NOMAC=n
|
||||
|
@ -229,13 +229,13 @@ static int nsh_waiter(int argc, char *argv[])
|
||||
#ifdef CONFIG_NSH_HAVEMMCSD
|
||||
static int nsh_sdinitialize(void)
|
||||
{
|
||||
FAR struct spi_dev_s *ssp;
|
||||
FAR struct spi_dev_s *spi;
|
||||
int ret;
|
||||
|
||||
/* Get the SPI port */
|
||||
|
||||
ssp = up_spiinitialize(CONFIG_NSH_MMCSDSPIPORTNO);
|
||||
if (!ssp)
|
||||
spi = up_spiinitialize(CONFIG_NSH_MMCSDSPIPORTNO);
|
||||
if (!spi)
|
||||
{
|
||||
message("nsh_archinitialize: Failed to initialize SPI port %d\n",
|
||||
CONFIG_NSH_MMCSDSPIPORTNO);
|
||||
@ -246,10 +246,19 @@ static int nsh_sdinitialize(void)
|
||||
message("Successfully initialized SPI port %d\n",
|
||||
CONFIG_NSH_MMCSDSPIPORTNO);
|
||||
|
||||
/* The SPI should be in 8-bit (default) and mode2: CKP=1, CKE=0.
|
||||
* The MMC/SD driver will control the SPI frequency. WARNING:
|
||||
* this is not the right way to do this... this should be done
|
||||
* the MMC/SD driver: Other device on SPI1 may need other mode
|
||||
* settings.
|
||||
*/
|
||||
|
||||
SPI_SETMODE(spi, SPIDEV_MODE2);
|
||||
|
||||
/* Bind the SPI port to the slot */
|
||||
|
||||
ret = mmcsd_spislotinitialize(CONFIG_NSH_MMCSDMINOR,
|
||||
CONFIG_NSH_MMCSDSLOTNO, ssp);
|
||||
CONFIG_NSH_MMCSDSLOTNO, spi);
|
||||
if (ret < 0)
|
||||
{
|
||||
message("nsh_sdinitialize: "
|
||||
|
@ -127,7 +127,7 @@ void weak_function pic32mx_spiinitialize(void)
|
||||
* including up_spiinitialize()) are provided by common PIC32MX logic. To use
|
||||
* this common SPI logic on your board:
|
||||
*
|
||||
* 1. Provide logic in pic32mx_boardinitialize() to configure SPI/SSP chip select
|
||||
* 1. Provide logic in pic32mx_boardinitialize() to configure SPI chip select
|
||||
* pins.
|
||||
* 2. Provide pic32mx_spiNselect() and pic32mx_spiNstatus() functions
|
||||
* in your board-specific logic. These functions will perform chip selection
|
||||
|
@ -132,7 +132,7 @@
|
||||
* Name: SPI_SETMODE
|
||||
*
|
||||
* Description:
|
||||
* Set the SPI mode. Optional. See enum spi_mode_e for mode definitions
|
||||
* Set the SPI mode. Optional. See enum spi_mode_e for mode definitions.
|
||||
*
|
||||
* Input Parameters:
|
||||
* dev - Device-specific state data
|
||||
|
Loading…
Reference in New Issue
Block a user