Browse Source

STM32 FLASH pre-fetch is no long enabled unless it is so configured

git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5388 42af7a65-404d-4744-a932-0658087f49c3
sbg
patacongo 12 years ago
parent
commit
7d61592105
  1. 3
      nuttx/ChangeLog
  2. 6
      nuttx/Makefile.unix
  3. 9
      nuttx/arch/arm/src/stm32/Kconfig
  4. 4
      nuttx/arch/arm/src/stm32/stm32f20xxx_rcc.c
  5. 4
      nuttx/arch/arm/src/stm32/stm32f40xxx_rcc.c

3
nuttx/ChangeLog

@ -3686,4 +3686,7 @@ @@ -3686,4 +3686,7 @@
* arch/arm/srch/stm32/stm32_otgfshost.c: Replace timeout handling; use
system tick instead of frame counter. The frame counter gets rset to
zero at 0x3fff making it error prone.
* arch/arm/src/stm32/stm32f20xx_rcc.c and stm32f40xx_rcc.c: Added option
CONFIG_STM32_FLASH_PREFETCH. FLASH prefetch will now only be enabled
if this option is selected.

6
nuttx/Makefile.unix

@ -34,9 +34,9 @@ @@ -34,9 +34,9 @@
############################################################################
TOPDIR := ${shell pwd | sed -e 's/ /\\ /g'}
-include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-include ${TOPDIR}/Make.defs
-include $(TOPDIR)/.config
include $(TOPDIR)/tools/Config.mk
-include $(TOPDIR)/Make.defs
# Control build verbosity

9
nuttx/arch/arm/src/stm32/Kconfig

@ -689,6 +689,15 @@ endchoice @@ -689,6 +689,15 @@ endchoice
endmenu
config STM32_FLASH_PREFETCH
bool "Enable FLASH Pre-fetch"
depends on STM32_STM32F20XX || STM32_STM32F40XX
default n
---help---
Enable FLASH prefetch and F2 and F4 parts (FLASH pre-fetch is always enabled
on F1 parts). Some early revisions of F4 parts do not support FLASH pre-fetch
properly and enabling this option may interfere with ADC accuracy.
choice
prompt "JTAG Configuration"
default STM32_JTAG_DISABLE

4
nuttx/arch/arm/src/stm32/stm32f20xxx_rcc.c

@ -631,7 +631,11 @@ static void stm32_stdclockconfig(void) @@ -631,7 +631,11 @@ static void stm32_stdclockconfig(void)
/* Enable FLASH prefetch, instruction cache, data cache, and 5 wait states */
#ifdef STM32_FLASH_PREFETCH
regval = (FLASH_ACR_LATENCY_5 | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_PRFTEN);
#else
regval = (FLASH_ACR_LATENCY_5 | FLASH_ACR_ICEN | FLASH_ACR_DCEN);
#endif
putreg32(regval, STM32_FLASH_ACR);
/* Select the main PLL as system clock source */

4
nuttx/arch/arm/src/stm32/stm32f40xxx_rcc.c

@ -633,7 +633,11 @@ static void stm32_stdclockconfig(void) @@ -633,7 +633,11 @@ static void stm32_stdclockconfig(void)
/* Enable FLASH prefetch, instruction cache, data cache, and 5 wait states */
#ifdef STM32_FLASH_PREFETCH
regval = (FLASH_ACR_LATENCY_5 | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_PRFTEN);
#else
regval = (FLASH_ACR_LATENCY_5 | FLASH_ACR_ICEN | FLASH_ACR_DCEN);
#endif
putreg32(regval, STM32_FLASH_ACR);
/* Select the main PLL as system clock source */

Loading…
Cancel
Save