diff --git a/bsp/stm32f20x/.config b/bsp/stm32f20x/.config index 3c406d1af7..d7b8a922cc 100644 --- a/bsp/stm32f20x/.config +++ b/bsp/stm32f20x/.config @@ -74,6 +74,7 @@ CONFIG_FINSH_USING_HISTORY=y CONFIG_FINSH_HISTORY_LINES=5 CONFIG_FINSH_USING_SYMTAB=y CONFIG_FINSH_USING_DESCRIPTION=y +# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set CONFIG_FINSH_THREAD_PRIORITY=20 CONFIG_FINSH_THREAD_STACK_SIZE=4096 CONFIG_FINSH_CMD_SIZE=80 @@ -127,7 +128,9 @@ CONFIG_RT_USING_DEVICE_IPC=y CONFIG_RT_USING_PIN=y # CONFIG_RT_USING_MTD_NOR is not set # CONFIG_RT_USING_MTD_NAND is not set -# CONFIG_RT_USING_RTC is not set +CONFIG_RT_USING_RTC=y +# CONFIG_RT_USING_SOFT_RTC is not set +# CONFIG_RTC_SYNC_USING_NTP is not set # CONFIG_RT_USING_SDIO is not set # CONFIG_RT_USING_SPI is not set # CONFIG_RT_USING_WDT is not set @@ -185,19 +188,6 @@ CONFIG_RT_USING_RTT_CMSIS=y # RT-Thread online packages # -# -# system packages -# - -# -# RT-Thread GUI Engine -# -# CONFIG_PKG_USING_GUIENGINE is not set -# CONFIG_PKG_USING_LWEXT4 is not set -# CONFIG_PKG_USING_PARTITION is not set -# CONFIG_PKG_USING_SQLITE is not set -# CONFIG_PKG_USING_RTI is not set - # # IoT - internet of things # @@ -227,6 +217,7 @@ CONFIG_RT_USING_RTT_CMSIS=y # CONFIG_PKG_USING_COAP is not set # CONFIG_PKG_USING_NOPOLL is not set # CONFIG_PKG_USING_NETUTILS is not set +# CONFIG_PKG_USING_ONENET is not set # # security packages @@ -245,27 +236,55 @@ CONFIG_RT_USING_RTT_CMSIS=y # multimedia packages # # CONFIG_PKG_USING_OPENMV is not set +# CONFIG_PKG_USING_MUPDF is not set # # tools packages # # CONFIG_PKG_USING_CMBACKTRACE is not set +# CONFIG_PKG_USING_EASYFLASH is not set # CONFIG_PKG_USING_EASYLOGGER is not set # CONFIG_PKG_USING_SYSTEMVIEW is not set # CONFIG_PKG_USING_IPERF is not set +# +# system packages +# + +# +# RT-Thread GUI Engine +# +# CONFIG_PKG_USING_GUIENGINE is not set +# CONFIG_PKG_USING_LWEXT4 is not set +# CONFIG_PKG_USING_PARTITION is not set +# CONFIG_PKG_USING_SQLITE is not set +# CONFIG_PKG_USING_RTI is not set +# CONFIG_PKG_USING_LITTLEVGL2RTT is not set + +# +# peripheral libraries and drivers +# +# CONFIG_PKG_USING_STM32F4_HAL is not set +# CONFIG_PKG_USING_STM32F4_DRIVERS is not set + # # miscellaneous packages # # CONFIG_PKG_USING_FASTLZ is not set # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set +# CONFIG_PKG_USING_MULTIBUTTON is not set +# CONFIG_PKG_USING_CANFESTIVAL is not set + +# +# sample package +# +# CONFIG_PKG_USING_SAMPLES is not set # # example package: hello # # CONFIG_PKG_USING_HELLO is not set -# CONFIG_PKG_USING_MULTIBUTTON is not set CONFIG_SOC_STM32F2=y CONFIG_RT_USING_UART1=y # CONFIG_RT_USING_UART6 is not set diff --git a/bsp/stm32f20x/Drivers/rtc.c b/bsp/stm32f20x/Drivers/drv_rtc.c similarity index 77% rename from bsp/stm32f20x/Drivers/rtc.c rename to bsp/stm32f20x/Drivers/drv_rtc.c index 0811b337a3..1715a431d3 100644 --- a/bsp/stm32f20x/Drivers/rtc.c +++ b/bsp/stm32f20x/Drivers/drv_rtc.c @@ -252,92 +252,3 @@ void rt_hw_rtc_init(void) return; } - -#include -#if defined (__IAR_SYSTEMS_ICC__) && (__VER__) >= 6020000 /* for IAR 6.2 later Compiler */ -#pragma module_name = "?time" -time_t (__time32)(time_t *t) /* Only supports 32-bit timestamp */ -#else -time_t time(time_t* t) -#endif -{ - rt_device_t device; - time_t time=0; - - device = rt_device_find("rtc"); - if (device != RT_NULL) - { - rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time); - if (t != RT_NULL) *t = time; - } - - return time; -} - -#ifdef RT_USING_FINSH -#include - -void set_date(rt_uint32_t year, rt_uint32_t month, rt_uint32_t day) -{ - time_t now; - struct tm* ti; - rt_device_t device; - - ti = RT_NULL; - /* get current time */ - time(&now); - - ti = localtime(&now); - if (ti != RT_NULL) - { - ti->tm_year = year - 1900; - ti->tm_mon = month - 1; /* ti->tm_mon = month; */ - ti->tm_mday = day; - } - - now = mktime(ti); - - device = rt_device_find("rtc"); - if (device != RT_NULL) - { - rt_rtc_control(device, RT_DEVICE_CTRL_RTC_SET_TIME, &now); - } -} -FINSH_FUNCTION_EXPORT(set_date, set date. e.g: set_date(2010,2,28)) - -void set_time(rt_uint32_t hour, rt_uint32_t minute, rt_uint32_t second) -{ - time_t now; - struct tm* ti; - rt_device_t device; - - ti = RT_NULL; - /* get current time */ - time(&now); - - ti = localtime(&now); - if (ti != RT_NULL) - { - ti->tm_hour = hour; - ti->tm_min = minute; - ti->tm_sec = second; - } - - now = mktime(ti); - device = rt_device_find("rtc"); - if (device != RT_NULL) - { - rt_rtc_control(device, RT_DEVICE_CTRL_RTC_SET_TIME, &now); - } -} -FINSH_FUNCTION_EXPORT(set_time, set time. e.g: set_time(23,59,59)) - -void list_date() -{ - time_t now; - - time(&now); - rt_kprintf("%s\n", ctime(&now)); -} -FINSH_FUNCTION_EXPORT(list_date, show date and time.) -#endif diff --git a/bsp/stm32f20x/Drivers/rtc.h b/bsp/stm32f20x/Drivers/drv_rtc.h similarity index 100% rename from bsp/stm32f20x/Drivers/rtc.h rename to bsp/stm32f20x/Drivers/drv_rtc.h diff --git a/bsp/stm32f20x/project.ewp b/bsp/stm32f20x/project.ewp index c0c6a8999b..f89de9dffb 100644 --- a/bsp/stm32f20x/project.ewp +++ b/bsp/stm32f20x/project.ewp @@ -1,1977 +1,2414 @@ - - 2 - - Debug - - ARM - - 1 - - General - 3 - - 18 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCARM - 2 - - 26 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AARM - 2 - - 8 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 0 - - 1 - 1 - 1 - - - - - - - - - CUSTOM - 3 - - - - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 0 - - 11 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 0 - - 0 - 1 - 1 - - - - - - - BILINK - 0 - - - - - Release - - ARM - - 0 - - General - 3 - - 18 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCARM - 2 - - 26 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AARM - 2 - - 8 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 0 - - 1 - 1 - 0 - - - - - - - - - CUSTOM - 3 - - - - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 0 - - 11 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 0 - - 0 - 1 - 0 - - - - - - - BILINK - 0 - - - - - Drivers - - $PROJ_DIR$\Drivers/24LCxx.c - - - $PROJ_DIR$\Drivers/FM25Lx.c - - - $PROJ_DIR$\Drivers/board.c - - - $PROJ_DIR$\Drivers/i2c.c - - - $PROJ_DIR$\Drivers/rtc.c - - - $PROJ_DIR$\Drivers/serial.c - - - $PROJ_DIR$\Drivers/stm32f2xx_it.c - - - $PROJ_DIR$\Drivers/usart.c - - - - Applications - - $PROJ_DIR$\applications/application.c - - - $PROJ_DIR$\applications/startup.c - - - - STM32_StdPeriph - - $PROJ_DIR$\Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F2xx/system_stm32f2xx.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/misc.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_adc.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_can.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_crc.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_aes.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_des.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_tdes.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dac.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dbgmcu.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dcmi.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dma.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_exti.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_flash.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_fsmc.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_gpio.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_md5.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_sha1.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_i2c.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_iwdg.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_pwr.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rcc.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rng.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rtc.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_sdio.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_spi.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_syscfg.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_tim.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_usart.c - - - $PROJ_DIR$\Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_wwdg.c - - - $PROJ_DIR$\Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F2xx/startup/iar/startup_stm32f2xx.s - - - - Kernel - - $PROJ_DIR$\../../src/clock.c - - - $PROJ_DIR$\../../src/device.c - - - $PROJ_DIR$\../../src/idle.c - - - $PROJ_DIR$\../../src/ipc.c - - - $PROJ_DIR$\../../src/irq.c - - - $PROJ_DIR$\../../src/kservice.c - - - $PROJ_DIR$\../../src/mem.c - - - $PROJ_DIR$\../../src/mempool.c - - - $PROJ_DIR$\../../src/object.c - - - $PROJ_DIR$\../../src/scheduler.c - - - $PROJ_DIR$\../../src/signal.c - - - $PROJ_DIR$\../../src/thread.c - - - $PROJ_DIR$\../../src/timer.c - - - - CORTEX-M3 - - $PROJ_DIR$\../../libcpu/arm/cortex-m3/cpuport.c - - - $PROJ_DIR$\../../libcpu/arm/cortex-m3/context_iar.S - - - $PROJ_DIR$\../../libcpu/arm/common/backtrace.c - - - $PROJ_DIR$\../../libcpu/arm/common/div0.c - - - $PROJ_DIR$\../../libcpu/arm/common/showmem.c - - - - finsh - - $PROJ_DIR$\../../components/finsh/shell.c - - - $PROJ_DIR$\../../components/finsh/symbol.c - - - $PROJ_DIR$\../../components/finsh/cmd.c - - - $PROJ_DIR$\../../components/finsh/finsh_compiler.c - - - $PROJ_DIR$\../../components/finsh/finsh_error.c - - - $PROJ_DIR$\../../components/finsh/finsh_heap.c - - - $PROJ_DIR$\../../components/finsh/finsh_init.c - - - $PROJ_DIR$\../../components/finsh/finsh_node.c - - - $PROJ_DIR$\../../components/finsh/finsh_ops.c - - - $PROJ_DIR$\../../components/finsh/finsh_parser.c - - - $PROJ_DIR$\../../components/finsh/finsh_var.c - - - $PROJ_DIR$\../../components/finsh/finsh_vm.c - - - $PROJ_DIR$\../../components/finsh/finsh_token.c - - - + + + 3 + + Debug + + ARM + + 1 + + General + 3 + + 29 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 34 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 10 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 20 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Release + + ARM + + 0 + + General + 3 + + 29 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 34 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 10 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 20 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + Applications + + $PROJ_DIR$\applications\application.c + + + $PROJ_DIR$\applications\startup.c + + + + CORTEX-M3 + + $PROJ_DIR$\..\..\libcpu\arm\common\backtrace.c + + + $PROJ_DIR$\..\..\libcpu\arm\cortex-m3\context_iar.S + + + $PROJ_DIR$\..\..\libcpu\arm\cortex-m3\cpuport.c + + + $PROJ_DIR$\..\..\libcpu\arm\common\div0.c + + + $PROJ_DIR$\..\..\libcpu\arm\common\showmem.c + + + + DeviceDrivers + + $PROJ_DIR$\..\..\components\drivers\src\completion.c + + + $PROJ_DIR$\..\..\components\drivers\src\dataqueue.c + + + $PROJ_DIR$\..\..\components\drivers\misc\pin.c + + + $PROJ_DIR$\..\..\components\drivers\src\pipe.c + + + $PROJ_DIR$\..\..\components\drivers\src\ringbuffer.c + + + $PROJ_DIR$\..\..\components\drivers\rtc\rtc.c + + + $PROJ_DIR$\..\..\components\drivers\src\waitqueue.c + + + $PROJ_DIR$\..\..\components\drivers\src\workqueue.c + + + + dlib + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\environ.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\libc.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\rmtx.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\stdio.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_close.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_lseek.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_mem.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_open.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_read.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_remove.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_write.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\time.c + + + + Drivers + + $PROJ_DIR$\Drivers\24LCxx.c + + + $PROJ_DIR$\Drivers\board.c + + + $PROJ_DIR$\Drivers\drv_rtc.c + + + $PROJ_DIR$\Drivers\FM25Lx.c + + + $PROJ_DIR$\Drivers\i2c.c + + + $PROJ_DIR$\Drivers\sdio_sd.c + + + $PROJ_DIR$\Drivers\serial.c + + + $PROJ_DIR$\Drivers\stm32f2xx_it.c + + + $PROJ_DIR$\Drivers\usart.c + + + + Filesystem + + $PROJ_DIR$\..\..\components\dfs\filesystems\devfs\devfs.c + + + $PROJ_DIR$\..\..\components\dfs\src\dfs.c + + + $PROJ_DIR$\..\..\components\dfs\filesystems\elmfat\dfs_elm.c + + + $PROJ_DIR$\..\..\components\dfs\src\dfs_file.c + + + $PROJ_DIR$\..\..\components\dfs\src\dfs_fs.c + + + $PROJ_DIR$\..\..\components\dfs\src\dfs_posix.c + + + $PROJ_DIR$\..\..\components\dfs\filesystems\elmfat\ff.c + + + $PROJ_DIR$\..\..\components\dfs\src\poll.c + + + $PROJ_DIR$\..\..\components\dfs\src\select.c + + + + finsh + + $PROJ_DIR$\..\..\components\finsh\cmd.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_compiler.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_error.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_heap.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_init.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_node.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_ops.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_parser.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_token.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_var.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_vm.c + + + $PROJ_DIR$\..\..\components\finsh\msh.c + + + $PROJ_DIR$\..\..\components\finsh\msh_cmd.c + + + $PROJ_DIR$\..\..\components\finsh\msh_file.c + + + $PROJ_DIR$\..\..\components\finsh\shell.c + + + $PROJ_DIR$\..\..\components\finsh\symbol.c + + + + Kernel + + $PROJ_DIR$\..\..\src\clock.c + + + $PROJ_DIR$\..\..\src\device.c + + + $PROJ_DIR$\..\..\src\idle.c + + + $PROJ_DIR$\..\..\src\ipc.c + + + $PROJ_DIR$\..\..\src\irq.c + + + $PROJ_DIR$\..\..\src\kservice.c + + + $PROJ_DIR$\..\..\src\mem.c + + + $PROJ_DIR$\..\..\src\mempool.c + + + $PROJ_DIR$\..\..\src\object.c + + + $PROJ_DIR$\..\..\src\scheduler.c + + + $PROJ_DIR$\..\..\src\signal.c + + + $PROJ_DIR$\..\..\src\thread.c + + + $PROJ_DIR$\..\..\src\timer.c + + + + STM32_StdPeriph + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\startup\iar\startup_stm32f2xx.s + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_adc.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_can.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_crc.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_aes.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_des.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_tdes.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dac.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dbgmcu.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dcmi.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dma.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_exti.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_flash.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_fsmc.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_gpio.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_md5.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_sha1.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_i2c.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_iwdg.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_pwr.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rcc.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rng.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rtc.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_sdio.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_spi.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_syscfg.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_tim.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_usart.c + + + $PROJ_DIR$\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_wwdg.c + + + $PROJ_DIR$\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\system_stm32f2xx.c + + + diff --git a/bsp/stm32f20x/project.uvproj b/bsp/stm32f20x/project.uvproj index 6f91e9810d..9fd9689fd7 100644 --- a/bsp/stm32f20x/project.uvproj +++ b/bsp/stm32f20x/project.uvproj @@ -1,36 +1,42 @@ + 1.1 +
### uVision Project, (C) Keil Software
+ RT-Thread STM32 0x4 ARM-ADS + 5060528::V5.06 update 5 (build 528)::ARMCC + 0 STM32F207VG STMicroelectronics IRAM(0x20000000-0x2001FFFF) IROM(0x8000000-0x80FFFFF) CLOCK(25000000) CPUTYPE("Cortex-M3") - + "STARTUP\ST\STM32F2xx\startup_stm32f2xx.s" ("STM32F2xx Startup Code") UL2CM3(-O207 -S0 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000) 5118 stm32f2xx.h - - - - - - - - - + + + + + + + + + SFD\ST\STM32F2xx\STM32F2xx.sfr + 0 0 - - - + + + ST\STM32F2xx\ ST\STM32F2xx\ @@ -54,29 +60,35 @@ 0 0 - - + + 0 0 + 0 + 0 0 0 - - + + 0 0 + 0 + 0 1 0 fromelf --bin !L --output rtthread.bin - + 0 0 + 0 + 0 0 - + 0 @@ -90,8 +102,9 @@ 0 0 3 - - + + + 1 SARMCM3.DLL @@ -121,6 +134,7 @@ 1 1 0 + 1 1 @@ -131,22 +145,24 @@ 1 0 1 + 0 + 1 0 - 7 + 3 - - - - - + + + + + - - - - - + + + + + Segger\JL2CM3.dll @@ -159,9 +175,14 @@ 1 4099 + 0 Segger\JL2CM3.dll "" () - + + + + + 0 @@ -193,7 +214,7 @@ 0 0 "Cortex-M3" - + 0 0 0 @@ -208,6 +229,7 @@ 0 0 0 + 0 3 3 0 @@ -324,7 +346,7 @@ 0x0 - + 1 @@ -339,11 +361,21 @@ 0 0 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 - - USE_STDPERIPH_DRIVER - - Drivers;applications;.;Libraries/STM32F2xx_StdPeriph_Driver/inc;Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F2xx;../../components/CMSIS/Include;../../include;../../libcpu/arm/cortex-m3;../../libcpu/arm/common;../../components/finsh + + RT_USING_ARM_LIBC, USE_STDPERIPH_DRIVER + + applications;.;Drivers;Libraries\STM32F2xx_StdPeriph_Driver\inc;Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx;..\..\components\CMSIS\Include;..\..\include;..\..\libcpu\arm\cortex-m3;..\..\libcpu\arm\common;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\dfs\filesystems\elmfat;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\finsh;..\..\components\libc\compilers\armlibc @@ -354,11 +386,14 @@ 0 0 0 + 0 + 0 + 0 - - - - + + + + @@ -370,89 +405,79 @@ 0 0x08000000 0x20000000 - - - + + + + --keep *.o(FSymTab) --keep *.o(VSymTab) - - + + - - Drivers - - - 24LCxx.c - 1 - Drivers/24LCxx.c - - - - - FM25Lx.c - 1 - Drivers/FM25Lx.c - - - - - board.c - 1 - Drivers/board.c - - - - - i2c.c - 1 - Drivers/i2c.c - - - - - rtc.c - 1 - Drivers/rtc.c - - - - - serial.c - 1 - Drivers/serial.c - - - - - stm32f2xx_it.c - 1 - Drivers/stm32f2xx_it.c - - - - - usart.c - 1 - Drivers/usart.c - - - Applications application.c 1 - applications/application.c + applications\application.c - - startup.c 1 - applications/startup.c + applications\startup.c + + + + + Drivers + + + 24LCxx.c + 1 + Drivers\24LCxx.c + + + FM25Lx.c + 1 + Drivers\FM25Lx.c + + + board.c + 1 + Drivers\board.c + + + drv_rtc.c + 1 + Drivers\drv_rtc.c + + + i2c.c + 1 + Drivers\i2c.c + + + sdio_sd.c + 1 + Drivers\sdio_sd.c + + + serial.c + 1 + Drivers\serial.c + + + stm32f2xx_it.c + 1 + Drivers\stm32f2xx_it.c + + + usart.c + 1 + Drivers\usart.c @@ -462,231 +487,167 @@ system_stm32f2xx.c 1 - Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F2xx/system_stm32f2xx.c + Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\system_stm32f2xx.c - - misc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/misc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\misc.c - - stm32f2xx_adc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_adc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_adc.c - - stm32f2xx_can.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_can.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_can.c - - stm32f2xx_crc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_crc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_crc.c - - stm32f2xx_cryp.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp.c - - stm32f2xx_cryp_aes.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_aes.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_aes.c - - stm32f2xx_cryp_des.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_des.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_des.c - - stm32f2xx_cryp_tdes.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_tdes.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_tdes.c - - stm32f2xx_dac.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dac.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dac.c - - stm32f2xx_dbgmcu.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dbgmcu.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dbgmcu.c - - stm32f2xx_dcmi.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dcmi.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dcmi.c - - stm32f2xx_dma.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dma.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dma.c - - stm32f2xx_exti.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_exti.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_exti.c - - stm32f2xx_flash.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_flash.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_flash.c - - stm32f2xx_fsmc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_fsmc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_fsmc.c - - stm32f2xx_gpio.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_gpio.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_gpio.c - - stm32f2xx_hash.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash.c - - stm32f2xx_hash_md5.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_md5.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_md5.c - - stm32f2xx_hash_sha1.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_sha1.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_sha1.c - - stm32f2xx_i2c.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_i2c.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_i2c.c - - stm32f2xx_iwdg.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_iwdg.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_iwdg.c - - stm32f2xx_pwr.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_pwr.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_pwr.c - - stm32f2xx_rcc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rcc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rcc.c - - stm32f2xx_rng.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rng.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rng.c - - stm32f2xx_rtc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rtc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rtc.c - - stm32f2xx_sdio.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_sdio.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_sdio.c - - stm32f2xx_spi.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_spi.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_spi.c - - stm32f2xx_syscfg.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_syscfg.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_syscfg.c - - stm32f2xx_tim.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_tim.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_tim.c - - stm32f2xx_usart.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_usart.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_usart.c - - stm32f2xx_wwdg.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_wwdg.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_wwdg.c - - startup_stm32f2xx.s 2 - Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F2xx/startup/arm/startup_stm32f2xx.s + Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\startup\arm\startup_stm32f2xx.s @@ -696,91 +657,67 @@ clock.c 1 - ../../src/clock.c + ..\..\src\clock.c - - device.c 1 - ../../src/device.c + ..\..\src\device.c - - idle.c 1 - ../../src/idle.c + ..\..\src\idle.c - - ipc.c 1 - ../../src/ipc.c + ..\..\src\ipc.c - - irq.c 1 - ../../src/irq.c + ..\..\src\irq.c - - kservice.c 1 - ../../src/kservice.c + ..\..\src\kservice.c - - mem.c 1 - ../../src/mem.c + ..\..\src\mem.c - - mempool.c 1 - ../../src/mempool.c + ..\..\src\mempool.c - - object.c 1 - ../../src/object.c + ..\..\src\object.c - - scheduler.c 1 - ../../src/scheduler.c + ..\..\src\scheduler.c - - signal.c 1 - ../../src/signal.c + ..\..\src\signal.c - - thread.c 1 - ../../src/thread.c + ..\..\src\thread.c - - timer.c 1 - ../../src/timer.c + ..\..\src\timer.c @@ -790,35 +727,122 @@ cpuport.c 1 - ../../libcpu/arm/cortex-m3/cpuport.c + ..\..\libcpu\arm\cortex-m3\cpuport.c - - context_rvds.S 2 - ../../libcpu/arm/cortex-m3/context_rvds.S + ..\..\libcpu\arm\cortex-m3\context_rvds.S - - backtrace.c 1 - ../../libcpu/arm/common/backtrace.c + ..\..\libcpu\arm\common\backtrace.c - - div0.c 1 - ../../libcpu/arm/common/div0.c + ..\..\libcpu\arm\common\div0.c - - showmem.c 1 - ../../libcpu/arm/common/showmem.c + ..\..\libcpu\arm\common\showmem.c + + + + + Filesystem + + + dfs.c + 1 + ..\..\components\dfs\src\dfs.c + + + dfs_file.c + 1 + ..\..\components\dfs\src\dfs_file.c + + + dfs_fs.c + 1 + ..\..\components\dfs\src\dfs_fs.c + + + dfs_posix.c + 1 + ..\..\components\dfs\src\dfs_posix.c + + + poll.c + 1 + ..\..\components\dfs\src\poll.c + + + select.c + 1 + ..\..\components\dfs\src\select.c + + + devfs.c + 1 + ..\..\components\dfs\filesystems\devfs\devfs.c + + + dfs_elm.c + 1 + ..\..\components\dfs\filesystems\elmfat\dfs_elm.c + + + ff.c + 1 + ..\..\components\dfs\filesystems\elmfat\ff.c + + + + + DeviceDrivers + + + pin.c + 1 + ..\..\components\drivers\misc\pin.c + + + rtc.c + 1 + ..\..\components\drivers\rtc\rtc.c + + + completion.c + 1 + ..\..\components\drivers\src\completion.c + + + dataqueue.c + 1 + ..\..\components\drivers\src\dataqueue.c + + + pipe.c + 1 + ..\..\components\drivers\src\pipe.c + + + ringbuffer.c + 1 + ..\..\components\drivers\src\ringbuffer.c + + + waitqueue.c + 1 + ..\..\components\drivers\src\waitqueue.c + + + workqueue.c + 1 + ..\..\components\drivers\src\workqueue.c @@ -828,95 +852,122 @@ shell.c 1 - ../../components/finsh/shell.c + ..\..\components\finsh\shell.c - - symbol.c 1 - ../../components/finsh/symbol.c + ..\..\components\finsh\symbol.c - - cmd.c 1 - ../../components/finsh/cmd.c + ..\..\components\finsh\cmd.c + + + msh.c + 1 + ..\..\components\finsh\msh.c + + + msh_cmd.c + 1 + ..\..\components\finsh\msh_cmd.c + + + msh_file.c + 1 + ..\..\components\finsh\msh_file.c - - finsh_compiler.c 1 - ../../components/finsh/finsh_compiler.c + ..\..\components\finsh\finsh_compiler.c - - finsh_error.c 1 - ../../components/finsh/finsh_error.c + ..\..\components\finsh\finsh_error.c - - finsh_heap.c 1 - ../../components/finsh/finsh_heap.c + ..\..\components\finsh\finsh_heap.c - - finsh_init.c 1 - ../../components/finsh/finsh_init.c + ..\..\components\finsh\finsh_init.c - - finsh_node.c 1 - ../../components/finsh/finsh_node.c + ..\..\components\finsh\finsh_node.c - - finsh_ops.c 1 - ../../components/finsh/finsh_ops.c + ..\..\components\finsh\finsh_ops.c - - finsh_parser.c 1 - ../../components/finsh/finsh_parser.c + ..\..\components\finsh\finsh_parser.c - - finsh_var.c 1 - ../../components/finsh/finsh_var.c + ..\..\components\finsh\finsh_var.c - - finsh_vm.c 1 - ../../components/finsh/finsh_vm.c + ..\..\components\finsh\finsh_vm.c - - finsh_token.c 1 - ../../components/finsh/finsh_token.c + ..\..\components\finsh\finsh_token.c + + + + + libc + + + libc.c + 1 + ..\..\components\libc\compilers\armlibc\libc.c + + + libc_syms.c + 1 + ..\..\components\libc\compilers\armlibc\libc_syms.c + + + mem_std.c + 1 + ..\..\components\libc\compilers\armlibc\mem_std.c + + + stdio.c + 1 + ..\..\components\libc\compilers\armlibc\stdio.c + + + stubs.c + 1 + ..\..\components\libc\compilers\armlibc\stubs.c + + + time.c + 1 + ..\..\components\libc\compilers\armlibc\time.c +
diff --git a/bsp/stm32f20x/project.uvprojx b/bsp/stm32f20x/project.uvprojx index 6d25f60d59..203042d561 100644 --- a/bsp/stm32f20x/project.uvprojx +++ b/bsp/stm32f20x/project.uvprojx @@ -344,9 +344,9 @@ 0 - USE_STDPERIPH_DRIVER + RT_USING_ARM_LIBC, USE_STDPERIPH_DRIVER - Drivers;applications;.;Libraries/STM32F2xx_StdPeriph_Driver/inc;Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F2xx;../../components/CMSIS/Include;../../include;../../libcpu/arm/cortex-m3;../../libcpu/arm/common;../../components/finsh + applications;.;Drivers;Libraries\STM32F2xx_StdPeriph_Driver\inc;Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx;..\..\components\CMSIS\Include;..\..\include;..\..\libcpu\arm\cortex-m3;..\..\libcpu\arm\common;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\dfs\filesystems\elmfat;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\finsh;..\..\components\libc\compilers\armlibc @@ -383,79 +383,86 @@ - - Drivers - - - 24LCxx.c - 1 - Drivers/24LCxx.c - - - - - FM25Lx.c - 1 - Drivers/FM25Lx.c - - - - - board.c - 1 - Drivers/board.c - - - - - i2c.c - 1 - Drivers/i2c.c - - - - - rtc.c - 1 - Drivers/rtc.c - - - - - serial.c - 1 - Drivers/serial.c - - - - - stm32f2xx_it.c - 1 - Drivers/stm32f2xx_it.c - - - - - usart.c - 1 - Drivers/usart.c - - - Applications application.c 1 - applications/application.c + applications\application.c startup.c 1 - applications/startup.c + applications\startup.c + + + + + Drivers + + + 24LCxx.c + 1 + Drivers\24LCxx.c + + + + + FM25Lx.c + 1 + Drivers\FM25Lx.c + + + + + board.c + 1 + Drivers\board.c + + + + + drv_rtc.c + 1 + Drivers\drv_rtc.c + + + + + i2c.c + 1 + Drivers\i2c.c + + + + + sdio_sd.c + 1 + Drivers\sdio_sd.c + + + + + serial.c + 1 + Drivers\serial.c + + + + + stm32f2xx_it.c + 1 + Drivers\stm32f2xx_it.c + + + + + usart.c + 1 + Drivers\usart.c @@ -465,231 +472,231 @@ system_stm32f2xx.c 1 - Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F2xx/system_stm32f2xx.c + Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\system_stm32f2xx.c misc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/misc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\misc.c stm32f2xx_adc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_adc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_adc.c stm32f2xx_can.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_can.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_can.c stm32f2xx_crc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_crc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_crc.c stm32f2xx_cryp.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp.c stm32f2xx_cryp_aes.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_aes.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_aes.c stm32f2xx_cryp_des.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_des.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_des.c stm32f2xx_cryp_tdes.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_tdes.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_tdes.c stm32f2xx_dac.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dac.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dac.c stm32f2xx_dbgmcu.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dbgmcu.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dbgmcu.c stm32f2xx_dcmi.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dcmi.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dcmi.c stm32f2xx_dma.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dma.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dma.c stm32f2xx_exti.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_exti.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_exti.c stm32f2xx_flash.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_flash.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_flash.c stm32f2xx_fsmc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_fsmc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_fsmc.c stm32f2xx_gpio.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_gpio.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_gpio.c stm32f2xx_hash.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash.c stm32f2xx_hash_md5.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_md5.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_md5.c stm32f2xx_hash_sha1.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_sha1.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_sha1.c stm32f2xx_i2c.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_i2c.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_i2c.c stm32f2xx_iwdg.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_iwdg.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_iwdg.c stm32f2xx_pwr.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_pwr.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_pwr.c stm32f2xx_rcc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rcc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rcc.c stm32f2xx_rng.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rng.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rng.c stm32f2xx_rtc.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rtc.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rtc.c stm32f2xx_sdio.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_sdio.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_sdio.c stm32f2xx_spi.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_spi.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_spi.c stm32f2xx_syscfg.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_syscfg.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_syscfg.c stm32f2xx_tim.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_tim.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_tim.c stm32f2xx_usart.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_usart.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_usart.c stm32f2xx_wwdg.c 1 - Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_wwdg.c + Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_wwdg.c startup_stm32f2xx.s 2 - Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F2xx/startup/arm/startup_stm32f2xx.s + Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\startup\arm\startup_stm32f2xx.s @@ -699,91 +706,91 @@ clock.c 1 - ../../src/clock.c + ..\..\src\clock.c device.c 1 - ../../src/device.c + ..\..\src\device.c idle.c 1 - ../../src/idle.c + ..\..\src\idle.c ipc.c 1 - ../../src/ipc.c + ..\..\src\ipc.c irq.c 1 - ../../src/irq.c + ..\..\src\irq.c kservice.c 1 - ../../src/kservice.c + ..\..\src\kservice.c mem.c 1 - ../../src/mem.c + ..\..\src\mem.c mempool.c 1 - ../../src/mempool.c + ..\..\src\mempool.c object.c 1 - ../../src/object.c + ..\..\src\object.c scheduler.c 1 - ../../src/scheduler.c + ..\..\src\scheduler.c signal.c 1 - ../../src/signal.c + ..\..\src\signal.c thread.c 1 - ../../src/thread.c + ..\..\src\thread.c timer.c 1 - ../../src/timer.c + ..\..\src\timer.c @@ -793,35 +800,160 @@ cpuport.c 1 - ../../libcpu/arm/cortex-m3/cpuport.c + ..\..\libcpu\arm\cortex-m3\cpuport.c context_rvds.S 2 - ../../libcpu/arm/cortex-m3/context_rvds.S + ..\..\libcpu\arm\cortex-m3\context_rvds.S backtrace.c 1 - ../../libcpu/arm/common/backtrace.c + ..\..\libcpu\arm\common\backtrace.c div0.c 1 - ../../libcpu/arm/common/div0.c + ..\..\libcpu\arm\common\div0.c showmem.c 1 - ../../libcpu/arm/common/showmem.c + ..\..\libcpu\arm\common\showmem.c + + + + + Filesystem + + + dfs.c + 1 + ..\..\components\dfs\src\dfs.c + + + + + dfs_file.c + 1 + ..\..\components\dfs\src\dfs_file.c + + + + + dfs_fs.c + 1 + ..\..\components\dfs\src\dfs_fs.c + + + + + dfs_posix.c + 1 + ..\..\components\dfs\src\dfs_posix.c + + + + + poll.c + 1 + ..\..\components\dfs\src\poll.c + + + + + select.c + 1 + ..\..\components\dfs\src\select.c + + + + + devfs.c + 1 + ..\..\components\dfs\filesystems\devfs\devfs.c + + + + + dfs_elm.c + 1 + ..\..\components\dfs\filesystems\elmfat\dfs_elm.c + + + + + ff.c + 1 + ..\..\components\dfs\filesystems\elmfat\ff.c + + + + + DeviceDrivers + + + pin.c + 1 + ..\..\components\drivers\misc\pin.c + + + + + rtc.c + 1 + ..\..\components\drivers\rtc\rtc.c + + + + + completion.c + 1 + ..\..\components\drivers\src\completion.c + + + + + dataqueue.c + 1 + ..\..\components\drivers\src\dataqueue.c + + + + + pipe.c + 1 + ..\..\components\drivers\src\pipe.c + + + + + ringbuffer.c + 1 + ..\..\components\drivers\src\ringbuffer.c + + + + + waitqueue.c + 1 + ..\..\components\drivers\src\waitqueue.c + + + + + workqueue.c + 1 + ..\..\components\drivers\src\workqueue.c @@ -831,91 +963,157 @@ shell.c 1 - ../../components/finsh/shell.c + ..\..\components\finsh\shell.c symbol.c 1 - ../../components/finsh/symbol.c + ..\..\components\finsh\symbol.c cmd.c 1 - ../../components/finsh/cmd.c + ..\..\components\finsh\cmd.c + + + + + msh.c + 1 + ..\..\components\finsh\msh.c + + + + + msh_cmd.c + 1 + ..\..\components\finsh\msh_cmd.c + + + + + msh_file.c + 1 + ..\..\components\finsh\msh_file.c finsh_compiler.c 1 - ../../components/finsh/finsh_compiler.c + ..\..\components\finsh\finsh_compiler.c finsh_error.c 1 - ../../components/finsh/finsh_error.c + ..\..\components\finsh\finsh_error.c finsh_heap.c 1 - ../../components/finsh/finsh_heap.c + ..\..\components\finsh\finsh_heap.c finsh_init.c 1 - ../../components/finsh/finsh_init.c + ..\..\components\finsh\finsh_init.c finsh_node.c 1 - ../../components/finsh/finsh_node.c + ..\..\components\finsh\finsh_node.c finsh_ops.c 1 - ../../components/finsh/finsh_ops.c + ..\..\components\finsh\finsh_ops.c finsh_parser.c 1 - ../../components/finsh/finsh_parser.c + ..\..\components\finsh\finsh_parser.c finsh_var.c 1 - ../../components/finsh/finsh_var.c + ..\..\components\finsh\finsh_var.c finsh_vm.c 1 - ../../components/finsh/finsh_vm.c + ..\..\components\finsh\finsh_vm.c finsh_token.c 1 - ../../components/finsh/finsh_token.c + ..\..\components\finsh\finsh_token.c + + + + + libc + + + libc.c + 1 + ..\..\components\libc\compilers\armlibc\libc.c + + + + + libc_syms.c + 1 + ..\..\components\libc\compilers\armlibc\libc_syms.c + + + + + mem_std.c + 1 + ..\..\components\libc\compilers\armlibc\mem_std.c + + + + + stdio.c + 1 + ..\..\components\libc\compilers\armlibc\stdio.c + + + + + stubs.c + 1 + ..\..\components\libc\compilers\armlibc\stubs.c + + + + + time.c + 1 + ..\..\components\libc\compilers\armlibc\time.c diff --git a/bsp/stm32f20x/rtconfig.h b/bsp/stm32f20x/rtconfig.h index b3ffda07dc..04df5cb236 100644 --- a/bsp/stm32f20x/rtconfig.h +++ b/bsp/stm32f20x/rtconfig.h @@ -8,9 +8,7 @@ #define RT_NAME_MAX 8 #define RT_ALIGN_SIZE 4 -/* RT_THREAD_PRIORITY_8 is not set */ #define RT_THREAD_PRIORITY_32 -/* RT_THREAD_PRIORITY_256 is not set */ #define RT_THREAD_PRIORITY_MAX 32 #define RT_TICK_PER_SECOND 100 #define RT_DEBUG @@ -19,7 +17,6 @@ #define RT_DEBUG_THREAD 0 #define RT_USING_HOOK #define IDLE_THREAD_STACK_SIZE 256 -/* RT_USING_TIMER_SOFT is not set */ /* Inter-Thread communication */ @@ -28,37 +25,28 @@ #define RT_USING_EVENT #define RT_USING_MAILBOX #define RT_USING_MESSAGEQUEUE -/* RT_USING_SIGNALS is not set */ /* Memory Management */ #define RT_USING_MEMPOOL -/* RT_USING_MEMHEAP is not set */ -/* RT_USING_NOHEAP is not set */ #define RT_USING_SMALL_MEM -/* RT_USING_SLAB is not set */ -/* RT_USING_MEMTRACE is not set */ #define RT_USING_HEAP /* Kernel Device Object */ #define RT_USING_DEVICE -/* RT_USING_INTERRUPT_INFO is not set */ #define RT_USING_CONSOLE #define RT_CONSOLEBUF_SIZE 128 #define RT_CONSOLE_DEVICE_NAME "uart1" -/* RT_USING_MODULE is not set */ #define ARCH_ARM #define ARCH_ARM_CORTEX_M #define ARCH_ARM_CORTEX_M3 /* RT-Thread Components */ -/* RT_USING_COMPONENTS_INIT is not set */ /* C++ features */ -/* RT_USING_CPLUSPLUS is not set */ /* Command shell */ @@ -71,10 +59,8 @@ #define FINSH_THREAD_PRIORITY 20 #define FINSH_THREAD_STACK_SIZE 4096 #define FINSH_CMD_SIZE 80 -/* FINSH_USING_AUTH is not set */ #define FINSH_USING_MSH #define FINSH_USING_MSH_DEFAULT -/* FINSH_USING_MSH_ONLY is not set */ /* Device virtual file system */ @@ -90,150 +76,93 @@ #define RT_DFS_ELM_CODE_PAGE 437 #define RT_DFS_ELM_WORD_ACCESS #define RT_DFS_ELM_USE_LFN_0 -/* RT_DFS_ELM_USE_LFN_1 is not set */ -/* RT_DFS_ELM_USE_LFN_2 is not set */ -/* RT_DFS_ELM_USE_LFN_3 is not set */ #define RT_DFS_ELM_USE_LFN 0 #define RT_DFS_ELM_MAX_LFN 255 #define RT_DFS_ELM_DRIVES 1 #define RT_DFS_ELM_MAX_SECTOR_SIZE 512 -/* RT_DFS_ELM_USE_ERASE is not set */ #define RT_DFS_ELM_REENTRANT #define RT_USING_DFS_DEVFS -/* RT_USING_DFS_NET is not set */ -/* RT_USING_DFS_ROMFS is not set */ -/* RT_USING_DFS_RAMFS is not set */ -/* RT_USING_DFS_UFFS is not set */ -/* RT_USING_DFS_JFFS2 is not set */ -/* RT_USING_DFS_NFS is not set */ /* Device Drivers */ #define RT_USING_DEVICE_IPC -/* RT_USING_SERIAL is not set */ -/* RT_USING_CAN is not set */ -/* RT_USING_HWTIMER is not set */ -/* RT_USING_CPUTIME is not set */ -/* RT_USING_I2C is not set */ #define RT_USING_PIN -/* RT_USING_MTD_NOR is not set */ -/* RT_USING_MTD_NAND is not set */ -/* RT_USING_RTC is not set */ -/* RT_USING_SDIO is not set */ -/* RT_USING_SPI is not set */ -/* RT_USING_WDT is not set */ -/* RT_USING_WIFI is not set */ +#define RT_USING_RTC /* Using USB */ -/* RT_USING_USB_HOST is not set */ -/* RT_USING_USB_DEVICE is not set */ /* POSIX layer and C standard library */ #define RT_USING_LIBC -/* RT_USING_PTHREADS is not set */ #define RT_USING_POSIX -/* RT_USING_POSIX_MMAP is not set */ -/* RT_USING_POSIX_TERMIOS is not set */ -/* RT_USING_POSIX_AIO is not set */ -/* HAVE_SYS_SIGNALS is not set */ /* Network stack */ /* light weight TCP/IP stack */ -/* RT_USING_LWIP is not set */ /* Modbus master and slave stack */ -/* RT_USING_MODBUS is not set */ /* VBUS(Virtual Software BUS) */ -/* RT_USING_VBUS is not set */ /* Utilities */ -/* RT_USING_LOGTRACE is not set */ -/* RT_USING_RYM is not set */ /* ARM CMSIS */ -/* RT_USING_CMSIS_OS is not set */ #define RT_USING_RTT_CMSIS /* RT-Thread online packages */ -/* system packages */ - -/* RT-Thread GUI Engine */ - -/* PKG_USING_GUIENGINE is not set */ -/* PKG_USING_LWEXT4 is not set */ -/* PKG_USING_PARTITION is not set */ -/* PKG_USING_SQLITE is not set */ -/* PKG_USING_RTI is not set */ - /* IoT - internet of things */ -/* PKG_USING_PAHOMQTT is not set */ -/* PKG_USING_WEBCLIENT is not set */ -/* PKG_USING_MONGOOSE is not set */ -/* PKG_USING_WEBTERMINAL is not set */ -/* PKG_USING_CJSON is not set */ -/* PKG_USING_LJSON is not set */ -/* PKG_USING_EZXML is not set */ -/* PKG_USING_NANOPB is not set */ -/* PKG_USING_GAGENT_CLOUD is not set */ /* Wi-Fi */ /* Marvell WiFi */ -/* PKG_USING_WLANMARVELL is not set */ /* Wiced WiFi */ -/* PKG_USING_WLAN_WICED is not set */ -/* PKG_USING_COAP is not set */ -/* PKG_USING_NOPOLL is not set */ -/* PKG_USING_NETUTILS is not set */ /* security packages */ -/* PKG_USING_MBEDTLS is not set */ -/* PKG_USING_libsodium is not set */ -/* PKG_USING_TINYCRYPT is not set */ /* language packages */ -/* PKG_USING_JERRYSCRIPT is not set */ -/* PKG_USING_MICROPYTHON is not set */ /* multimedia packages */ -/* PKG_USING_OPENMV is not set */ /* tools packages */ -/* PKG_USING_CMBACKTRACE is not set */ -/* PKG_USING_EASYLOGGER is not set */ -/* PKG_USING_SYSTEMVIEW is not set */ -/* PKG_USING_IPERF is not set */ + +/* system packages */ + +/* RT-Thread GUI Engine */ + + +/* peripheral libraries and drivers */ + /* miscellaneous packages */ -/* PKG_USING_FASTLZ is not set */ -/* PKG_USING_MINILZO is not set */ -/* PKG_USING_QUICKLZ is not set */ + +/* sample package */ + /* example package: hello */ -/* PKG_USING_HELLO is not set */ -/* PKG_USING_MULTIBUTTON is not set */ + +/* Privated Packages of RealThread */ + + +/* Network Utilities */ + #define SOC_STM32F2 #define RT_USING_UART1 -/* RT_USING_UART6 is not set */ #endif diff --git a/components/drivers/rtc/rtc.c b/components/drivers/rtc/rtc.c index 48da802627..fa0025d428 100644 --- a/components/drivers/rtc/rtc.c +++ b/components/drivers/rtc/rtc.c @@ -29,6 +29,8 @@ #include #include +#ifdef RT_USING_RTC + /* Using NTP auto sync RTC time */ #ifdef RTC_SYNC_USING_NTP /* NTP first sync delay time for network connect, unit: second */ @@ -41,55 +43,6 @@ #endif #endif /* RTC_SYNC_USING_NTP */ -/** - * Returns the current time. - * - * @param time_t * t the timestamp pointer, if not used, keep NULL. - * - * @return time_t return timestamp current. - * - */ -/* for IAR 6.2 later Compiler */ -#if defined (__IAR_SYSTEMS_ICC__) && (__VER__) >= 6020000 -#pragma module_name = "?time" -time_t (__time32)(time_t *t) /* Only supports 32-bit timestamp */ -#else -time_t time(time_t *t) -#endif -{ - static rt_device_t device = RT_NULL; - time_t time_now = 0; - - /* optimization: find rtc device only first. */ - if (device == RT_NULL) - { - device = rt_device_find("rtc"); - } - - /* read timestamp from RTC device. */ - if (device != RT_NULL) - { - if (rt_device_open(device, 0) == RT_EOK) - { - rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time_now); - rt_device_close(device); - } - } - - /* if t is not NULL, write timestamp to *t */ - if (t != RT_NULL) - { - *t = time_now; - } - - return time_now; -} - -RT_WEAK clock_t clock(void) -{ - return rt_tick_get(); -} - /** * Set system date(time not modify). * @@ -311,3 +264,5 @@ MSH_CMD_EXPORT(date, get date and time or set [year month day hour min sec]); #endif /* defined(RT_USING_FINSH) && defined(FINSH_USING_MSH) */ #endif /* RT_USING_FINSH */ + +#endif /* RT_USING_RTC */ diff --git a/components/libc/compilers/armlibc/time.c b/components/libc/compilers/armlibc/time.c index 7b9c2f185b..e7ad19ad3c 100644 --- a/components/libc/compilers/armlibc/time.c +++ b/components/libc/compilers/armlibc/time.c @@ -1,7 +1,7 @@ #include #include -#if defined(RT_USING_DEVICE) && defined(RT_USING_RTC) +#ifdef RT_USING_DEVICE int gettimeofday(struct timeval *tp, void *ignore) { time_t time; @@ -23,3 +23,55 @@ int gettimeofday(struct timeval *tp, void *ignore) return 0; } #endif + +/** + * Returns the current time. + * + * @param time_t * t the timestamp pointer, if not used, keep NULL. + * + * @return time_t return timestamp current. + * + */ +/* for IAR 6.2 later Compiler */ +#if defined (__IAR_SYSTEMS_ICC__) && (__VER__) >= 6020000 +#pragma module_name = "?time" +time_t (__time32)(time_t *t) /* Only supports 32-bit timestamp */ +#else +time_t time(time_t *t) +#endif +{ + time_t time_now = 0; + +#ifdef RT_USING_RTC + static rt_device_t device = RT_NULL; + + /* optimization: find rtc device only first. */ + if (device == RT_NULL) + { + device = rt_device_find("rtc"); + } + + /* read timestamp from RTC device. */ + if (device != RT_NULL) + { + if (rt_device_open(device, 0) == RT_EOK) + { + rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time_now); + rt_device_close(device); + } + } +#endif /* RT_USING_RTC */ + + /* if t is not NULL, write timestamp to *t */ + if (t != RT_NULL) + { + *t = time_now; + } + + return time_now; +} + +RT_WEAK clock_t clock(void) +{ + return rt_tick_get(); +} diff --git a/components/libc/compilers/dlib/time.c b/components/libc/compilers/dlib/time.c index 7b9c2f185b..e7ad19ad3c 100644 --- a/components/libc/compilers/dlib/time.c +++ b/components/libc/compilers/dlib/time.c @@ -1,7 +1,7 @@ #include #include -#if defined(RT_USING_DEVICE) && defined(RT_USING_RTC) +#ifdef RT_USING_DEVICE int gettimeofday(struct timeval *tp, void *ignore) { time_t time; @@ -23,3 +23,55 @@ int gettimeofday(struct timeval *tp, void *ignore) return 0; } #endif + +/** + * Returns the current time. + * + * @param time_t * t the timestamp pointer, if not used, keep NULL. + * + * @return time_t return timestamp current. + * + */ +/* for IAR 6.2 later Compiler */ +#if defined (__IAR_SYSTEMS_ICC__) && (__VER__) >= 6020000 +#pragma module_name = "?time" +time_t (__time32)(time_t *t) /* Only supports 32-bit timestamp */ +#else +time_t time(time_t *t) +#endif +{ + time_t time_now = 0; + +#ifdef RT_USING_RTC + static rt_device_t device = RT_NULL; + + /* optimization: find rtc device only first. */ + if (device == RT_NULL) + { + device = rt_device_find("rtc"); + } + + /* read timestamp from RTC device. */ + if (device != RT_NULL) + { + if (rt_device_open(device, 0) == RT_EOK) + { + rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time_now); + rt_device_close(device); + } + } +#endif /* RT_USING_RTC */ + + /* if t is not NULL, write timestamp to *t */ + if (t != RT_NULL) + { + *t = time_now; + } + + return time_now; +} + +RT_WEAK clock_t clock(void) +{ + return rt_tick_get(); +} diff --git a/components/libc/compilers/minilibc/time.c b/components/libc/compilers/minilibc/time.c index efd6be8754..605f6f573e 100644 --- a/components/libc/compilers/minilibc/time.c +++ b/components/libc/compilers/minilibc/time.c @@ -1,4 +1,5 @@ #include +#include /* days per month -- nonleap! */ const short __spm[13] = @@ -227,3 +228,55 @@ int _gettimeofday( struct timeval *tv, void *ignore) return 0; // return non-zero for error } #endif + +/** + * Returns the current time. + * + * @param time_t * t the timestamp pointer, if not used, keep NULL. + * + * @return time_t return timestamp current. + * + */ +/* for IAR 6.2 later Compiler */ +#if defined (__IAR_SYSTEMS_ICC__) && (__VER__) >= 6020000 +#pragma module_name = "?time" +time_t (__time32)(time_t *t) /* Only supports 32-bit timestamp */ +#else +time_t time(time_t *t) +#endif +{ + time_t time_now = 0; + +#ifdef RT_USING_RTC + static rt_device_t device = RT_NULL; + + /* optimization: find rtc device only first. */ + if (device == RT_NULL) + { + device = rt_device_find("rtc"); + } + + /* read timestamp from RTC device. */ + if (device != RT_NULL) + { + if (rt_device_open(device, 0) == RT_EOK) + { + rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time_now); + rt_device_close(device); + } + } +#endif /* RT_USING_RTC */ + + /* if t is not NULL, write timestamp to *t */ + if (t != RT_NULL) + { + *t = time_now; + } + + return time_now; +} + +RT_WEAK clock_t clock(void) +{ + return rt_tick_get(); +} diff --git a/components/libc/compilers/newlib/time.c b/components/libc/compilers/newlib/time.c index 7b9c2f185b..e7ad19ad3c 100644 --- a/components/libc/compilers/newlib/time.c +++ b/components/libc/compilers/newlib/time.c @@ -1,7 +1,7 @@ #include #include -#if defined(RT_USING_DEVICE) && defined(RT_USING_RTC) +#ifdef RT_USING_DEVICE int gettimeofday(struct timeval *tp, void *ignore) { time_t time; @@ -23,3 +23,55 @@ int gettimeofday(struct timeval *tp, void *ignore) return 0; } #endif + +/** + * Returns the current time. + * + * @param time_t * t the timestamp pointer, if not used, keep NULL. + * + * @return time_t return timestamp current. + * + */ +/* for IAR 6.2 later Compiler */ +#if defined (__IAR_SYSTEMS_ICC__) && (__VER__) >= 6020000 +#pragma module_name = "?time" +time_t (__time32)(time_t *t) /* Only supports 32-bit timestamp */ +#else +time_t time(time_t *t) +#endif +{ + time_t time_now = 0; + +#ifdef RT_USING_RTC + static rt_device_t device = RT_NULL; + + /* optimization: find rtc device only first. */ + if (device == RT_NULL) + { + device = rt_device_find("rtc"); + } + + /* read timestamp from RTC device. */ + if (device != RT_NULL) + { + if (rt_device_open(device, 0) == RT_EOK) + { + rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time_now); + rt_device_close(device); + } + } +#endif /* RT_USING_RTC */ + + /* if t is not NULL, write timestamp to *t */ + if (t != RT_NULL) + { + *t = time_now; + } + + return time_now; +} + +RT_WEAK clock_t clock(void) +{ + return rt_tick_get(); +}