summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2017-12-11 14:59:51 +0800
committerGitHub <[email protected]>2017-12-11 14:59:51 +0800
commit2553dd0a15bc61cafd18d46d10a04ef1a5012662 (patch)
treefb427b9dd6ecb8af2b7eb5f280f8cbd0f51d9893
parent3f6f872ceb01abcb51fb0790a4b19f08aa88b6a9 (diff)
parent8768f31fc1cff03cd0833f1e40c786173dfcd7b9 (diff)
Merge pull request #1095 from armink/fix_sfud
Fix sfud
-rw-r--r--components/drivers/spi/SConscript8
-rw-r--r--components/drivers/spi/spi_flash_sfud.c11
2 files changed, 10 insertions, 9 deletions
diff --git a/components/drivers/spi/SConscript b/components/drivers/spi/SConscript
index 5608bdcab6..01cc608c2b 100644
--- a/components/drivers/spi/SConscript
+++ b/components/drivers/spi/SConscript
@@ -1,8 +1,10 @@
from building import *
+import rtconfig
cwd = GetCurrentDir()
src = ['spi_core.c', 'spi_dev.c']
CPPPATH = [cwd, cwd + '/../include']
+LOCAL_CCFLAGS = ''
src_device = []
@@ -32,9 +34,13 @@ if GetDepend('RT_USING_SFUD'):
CPPPATH += [cwd + '/sfud/inc']
if GetDepend('RT_SFUD_USING_SFDP'):
src_device += ['sfud/src/sfud_sfdp.c']
+ if rtconfig.CROSS_TOOL == 'gcc':
+ LOCAL_CCFLAGS += ' -std=c99'
+ elif rtconfig.CROSS_TOOL == 'keil':
+ LOCAL_CCFLAGS += ' --c99'
src += src_device
-group = DefineGroup('DeviceDrivers', src, depend = ['RT_USING_SPI'], CPPPATH = CPPPATH)
+group = DefineGroup('DeviceDrivers', src, depend = ['RT_USING_SPI'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS)
Return('group')
diff --git a/components/drivers/spi/spi_flash_sfud.c b/components/drivers/spi/spi_flash_sfud.c
index aef6babe0e..c94effa613 100644
--- a/components/drivers/spi/spi_flash_sfud.c
+++ b/components/drivers/spi/spi_flash_sfud.c
@@ -165,11 +165,6 @@ static void spi_unlock(const sfud_spi *spi) {
rt_mutex_release(&(rtt_dev->lock));
}
-static void retry_delay_ms(void) {
- /* millisecond delay */
- rt_tick_from_millisecond(1);
-}
-
static void retry_delay_100us(void) {
/* 100 microsecond delay */
rt_thread_delay((RT_TICK_PER_SECOND * 1 + 9999) / 10000);
@@ -242,6 +237,9 @@ rt_spi_flash_device_t rt_sfud_flash_probe(const char *spi_flash_dev_name, const
rt_spi_flash_device_t rtt_dev = RT_NULL;
sfud_flash *sfud_dev = RT_NULL;
char *spi_flash_dev_name_bak = RT_NULL, *spi_dev_name_bak = RT_NULL;
+ /* using default flash SPI configuration for initialize SPI Flash
+ * @note you also can change the SPI to other configuration after initialized finish */
+ struct rt_spi_configuration cfg = RT_SFUD_DEFAULT_SPI_CFG;
extern sfud_err sfud_device_init(sfud_flash *flash);
RT_ASSERT(spi_flash_dev_name);
@@ -269,9 +267,6 @@ rt_spi_flash_device_t rt_sfud_flash_probe(const char *spi_flash_dev_name, const
goto error;
}
sfud_dev->spi.name = spi_dev_name_bak;
- /* using default flash SPI configuration for initialize SPI Flash
- * @note you also can change the SPI to other configuration after initialized finish */
- struct rt_spi_configuration cfg = RT_SFUD_DEFAULT_SPI_CFG;
rt_spi_configure(rtt_dev->rt_spi_device, &cfg);
/* initialize lock */
rt_mutex_init(&(rtt_dev->lock), spi_flash_dev_name, RT_IPC_FLAG_FIFO);