Fix a optimization related problem in the LM3S

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4907 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-07-04 22:11:31 +00:00
parent 92e24d894a
commit 8c9d2a06c4
5 changed files with 10 additions and 6 deletions

View File

@ -2952,4 +2952,8 @@
Xplorer board. This is just to facilitate testing of the LPC43xx Xplorer board. This is just to facilitate testing of the LPC43xx
port but will, with any luck, become proper board support for that port but will, with any luck, become proper board support for that
board. board.
* arch/arm/src/lm3s/lm3s_syscontrol.c: Fix an optimization related problem
by adding a volatile qualifier to a timing loop. Oddly, the consequence
of the bug is that when debug was off, the LM3S platform too a long time
to boot. It now boots rapidly whether debug is on or off.

View File

@ -110,7 +110,7 @@ static inline void lm3s_oscdelay(uint32_t rcc, uint32_t rcc2)
* current clock rate is very slow. * current clock rate is very slow.
*/ */
uint32_t delay = FAST_OSCDELAY; uint32_t delay = FAST_OSCDELAY;
/* Are we currently using RCC2? */ /* Are we currently using RCC2? */
@ -150,7 +150,7 @@ static inline void lm3s_oscdelay(uint32_t rcc, uint32_t rcc2)
static inline void lm3s_plllock(void) static inline void lm3s_plllock(void)
{ {
uint32_t delay; volatile uint32_t delay;
/* Loop until the lock is achieved or until a timeout occurs */ /* Loop until the lock is achieved or until a timeout occurs */

View File

@ -268,7 +268,7 @@ Stellaris EKK-LM3S9B96 Evaluation Kit Configuration Options
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case): CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
CONFIG_DRAM_SIZE=0x00010000 (64Kb) CONFIG_DRAM_SIZE=0x00018000 (96Kb)
CONFIG_DRAM_START - The start address of installed DRAM CONFIG_DRAM_START - The start address of installed DRAM

View File

@ -72,7 +72,7 @@
void lm3s_boardinitialize(void) void lm3s_boardinitialize(void)
{ {
/* Configure SPI chip selects if 1) SSI is not disabled, and 2) the weak function /* Configure chip selects if 1) SSI is not disabled, and 2) the weak function
* lm3s_ssiinitialize() has been brought into the link. * lm3s_ssiinitialize() has been brought into the link.
*/ */

View File

@ -99,13 +99,13 @@
* Name: lm3s_ssiinitialize * Name: lm3s_ssiinitialize
* *
* Description: * Description:
* Called to configure SPI chip select GPIO pins for the LM3S6965 Eval Kit. * Called to configure chip select GPIO pins for the LM3S9B96 Eval board.
* *
************************************************************************************/ ************************************************************************************/
void weak_function lm3s_ssiinitialize(void) void weak_function lm3s_ssiinitialize(void)
{ {
/* Configure the SPI CS GPIO */ /* Configure the CS GPIO */
#if 0 #if 0
ssi_dumpgpio("lm3s_ssiinitialize() Entry"); ssi_dumpgpio("lm3s_ssiinitialize() Entry");
ssi_dumpgpio("lm3s_ssiinitialize() Exit"); ssi_dumpgpio("lm3s_ssiinitialize() Exit");