Fix SDIO DMA (finally)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4409 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
bee6686238
commit
c59efdb312
@ -720,9 +720,23 @@ Where <subdir> is one of the following:
|
|||||||
configuration.
|
configuration.
|
||||||
|
|
||||||
2. RS-232 is disabled, but Telnet is still available for use as a console.
|
2. RS-232 is disabled, but Telnet is still available for use as a console.
|
||||||
|
Since RS-232 and SDIO use the same pins (one controlled by JP22), RS232
|
||||||
|
and SDIO cannot be used concurrently.
|
||||||
|
|
||||||
3. This configuration requires that jumper JP22 be set to enable SDIO operation.
|
3. This configuration requires that jumper JP22 be set to enable SDIO operation.
|
||||||
|
|
||||||
|
4. In order to use SDIO without overruns, DMA must be used. The STM32 F4
|
||||||
|
has 192Kb of SRAM in two banks: 112Kb of "system" SRAM located at
|
||||||
|
0x2000:0000 and 64Kb of "TCM" SRAM located at 0x1000:0000. It appears
|
||||||
|
that you cannot perform DMA from TCM SRAM. The work around that I have now
|
||||||
|
is simply to omit the 64Kb of TCM SRAM from the heap so that all memory is
|
||||||
|
allocated from System SRAM. This is done by setting:
|
||||||
|
|
||||||
|
CONFIG_MM_REGIONS=1
|
||||||
|
|
||||||
|
Then DMA works fine. The downside is, of course, is that we lose 64Kb
|
||||||
|
of precious SRAM.
|
||||||
|
|
||||||
ostest:
|
ostest:
|
||||||
------
|
------
|
||||||
This configuration directory, performs a simple OS test using
|
This configuration directory, performs a simple OS test using
|
||||||
|
@ -90,7 +90,7 @@ CONFIG_ARCH_BOOTLOADER=n
|
|||||||
CONFIG_ARCH_LEDS=y
|
CONFIG_ARCH_LEDS=y
|
||||||
CONFIG_ARCH_BUTTONS=n
|
CONFIG_ARCH_BUTTONS=n
|
||||||
CONFIG_ARCH_CALIBRATION=n
|
CONFIG_ARCH_CALIBRATION=n
|
||||||
CONFIG_ARCH_DMA=n
|
CONFIG_ARCH_DMA=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Identify toolchain and linker options
|
# Identify toolchain and linker options
|
||||||
@ -127,7 +127,7 @@ CONFIG_STM32_CRC=n
|
|||||||
CONFIG_STM32_BKPSRAM=n
|
CONFIG_STM32_BKPSRAM=n
|
||||||
CONFIG_STM32_CCMDATARAM=n
|
CONFIG_STM32_CCMDATARAM=n
|
||||||
CONFIG_STM32_DMA1=n
|
CONFIG_STM32_DMA1=n
|
||||||
CONFIG_STM32_DMA2=n
|
CONFIG_STM32_DMA2=y
|
||||||
CONFIG_STM32_ETHMAC=y
|
CONFIG_STM32_ETHMAC=y
|
||||||
CONFIG_STM32_OTGHS=n
|
CONFIG_STM32_OTGHS=n
|
||||||
# AHB2:
|
# AHB2:
|
||||||
@ -500,7 +500,7 @@ CONFIG_DEBUG_CAN=n
|
|||||||
CONFIG_DEBUG_I2C=n
|
CONFIG_DEBUG_I2C=n
|
||||||
CONFIG_DEBUG_DMA=n
|
CONFIG_DEBUG_DMA=n
|
||||||
CONFIG_HAVE_CXX=y
|
CONFIG_HAVE_CXX=y
|
||||||
CONFIG_MM_REGIONS=2
|
CONFIG_MM_REGIONS=1
|
||||||
CONFIG_ARCH_LOWPUTC=y
|
CONFIG_ARCH_LOWPUTC=y
|
||||||
CONFIG_RR_INTERVAL=200
|
CONFIG_RR_INTERVAL=200
|
||||||
CONFIG_SCHED_INSTRUMENTATION=n
|
CONFIG_SCHED_INSTRUMENTATION=n
|
||||||
@ -598,7 +598,7 @@ CONFIG_DISABLE_SIGNALS=n
|
|||||||
CONFIG_DISABLE_MQUEUE=n
|
CONFIG_DISABLE_MQUEUE=n
|
||||||
CONFIG_DISABLE_MOUNTPOINT=n
|
CONFIG_DISABLE_MOUNTPOINT=n
|
||||||
CONFIG_DISABLE_ENVIRON=n
|
CONFIG_DISABLE_ENVIRON=n
|
||||||
CONFIG_DISABLE_POLL=y
|
CONFIG_DISABLE_POLL=n
|
||||||
|
|
||||||
#
|
#
|
||||||
# Misc libc settings
|
# Misc libc settings
|
||||||
@ -782,7 +782,7 @@ CONFIG_FS_WRITEBUFFER=n
|
|||||||
# CONFIG_MMCSD_HAVECARDDETECT
|
# CONFIG_MMCSD_HAVECARDDETECT
|
||||||
# SDIO driver card detection is 100% accurate
|
# SDIO driver card detection is 100% accurate
|
||||||
#
|
#
|
||||||
CONFIG_SDIO_DMA=n
|
CONFIG_SDIO_DMA=y
|
||||||
#CONFIG_SDIO_PRI=128
|
#CONFIG_SDIO_PRI=128
|
||||||
#CONFIG_SDIO_DMAPRIO
|
#CONFIG_SDIO_DMAPRIO
|
||||||
#CONFIG_SDIO_WIDTH_D1_ONLY
|
#CONFIG_SDIO_WIDTH_D1_ONLY
|
||||||
|
Loading…
Reference in New Issue
Block a user