[bsp][v2m-mps2] add pin device support and update project files

This commit is contained in:
liang yongxiang committed 2018-03-25 23:38:29 +08:00
1 parent 228c820e4d
commit d43e20676f
6 files changed
+3103 -198

No files matched your search

+53 -12
View File
@@ -76,6 +76,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
@@ -98,7 +99,7 @@ CONFIG_RT_USING_SERIAL=y
# CONFIG_RT_USING_HWTIMER is not set
# CONFIG_RT_USING_CPUTIME is not set
# CONFIG_RT_USING_I2C is not set
# CONFIG_RT_USING_PIN is not set
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
@@ -118,6 +119,7 @@ CONFIG_RT_USING_SERIAL=y
#
CONFIG_RT_USING_LIBC=y
# CONFIG_RT_USING_PTHREADS is not set
# CONFIG_HAVE_SYS_SIGNALS is not set
#
# Network stack
@@ -133,11 +135,6 @@ CONFIG_RT_USING_LIBC=y
#
# CONFIG_RT_USING_MODBUS is not set
#
# RT-Thread UI Engine
#
# CONFIG_PKG_USING_GUIENGINE is not set
#
# VBUS(Virtual Software BUS)
#
@@ -162,8 +159,14 @@ CONFIG_RT_USING_LIBC=y
#
# system packages
#
# CONFIG_PKG_USING_PARTITION is not set
#
# RT-Thread GUI Engine
#
# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_PERSIMMON 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
@@ -194,6 +197,8 @@ CONFIG_RT_USING_LIBC=y
#
# CONFIG_PKG_USING_WLAN_WICED is not set
# CONFIG_PKG_USING_COAP is not set
# CONFIG_PKG_USING_NOPOLL is not set
# CONFIG_PKG_USING_NETUTILS is not set
#
# security packages
@@ -206,7 +211,43 @@ CONFIG_RT_USING_LIBC=y
# language packages
#
# CONFIG_PKG_USING_JERRYSCRIPT is not set
# CONFIG_PKG_USING_MICROPYTHON is not set
CONFIG_PKG_USING_MICROPYTHON=y
CONFIG_PKG_MICROPYTHON_PATH="/packages/language/micropython"
#
# System Module
#
# CONFIG_MICROPYTHON_USING_UOS is not set
# CONFIG_MICROPYTHON_USING_USELECT is not set
# CONFIG_MICROPYTHON_USING_UCTYPES is not set
# CONFIG_MICROPYTHON_USING_UERRNO is not set
#
# Tools Module
#
# CONFIG_MICROPYTHON_USING_CMATH is not set
# CONFIG_MICROPYTHON_USING_UBINASCII is not set
# CONFIG_MICROPYTHON_USING_UHASHLIB is not set
# CONFIG_MICROPYTHON_USING_UHEAPQ is not set
# CONFIG_MICROPYTHON_USING_UJSON is not set
# CONFIG_MICROPYTHON_USING_URE is not set
# CONFIG_MICROPYTHON_USING_UZLIB is not set
# CONFIG_MICROPYTHON_USING_URANDOM is not set
#
# Network Module
#
# CONFIG_MICROPYTHON_USING_USOCKET is not set
#
# Hardware Module
#
# CONFIG_MICROPYTHON_USING_MACHINE_I2C is not set
# CONFIG_MICROPYTHON_USING_MACHINE_SPI is not set
CONFIG_PKG_MICROPYTHON_HEAP_SIZE=8192
CONFIG_PKG_USING_MICROPYTHON_LATEST_VERSION=y
# CONFIG_PKG_USING_MICROPYTHON_V10903 is not set
CONFIG_PKG_MICROPYTHON_VER="latest"
#
# multimedia packages
@@ -217,6 +258,7 @@ CONFIG_RT_USING_LIBC=y
# 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
@@ -226,6 +268,8 @@ CONFIG_RT_USING_LIBC=y
#
# 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
#
# example package: hello
@@ -243,10 +287,6 @@ CONFIG_RT_USING_LIBC=y
# Network Utilities
#
# CONFIG_PKG_USING_WLAN_WICED_SRC is not set
#
# Cloudsdk: RT_thread IOT Cloudsdk
#
# CONFIG_PKG_USING_CLOUDSDK is not set
#
@@ -255,6 +295,7 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_PKG_USING_WEBNET is not set
# CONFIG_PKG_USING_COREMARK is not set
# CONFIG_PKG_USING_POWER_MANAGER is not set
# CONFIG_PKG_USING_RT_OTA is not set
CONFIG_SOC_V2M_MPS2=y
CONFIG_RT_USING_UART=y
CONFIG_RT_USING_UART0=y
+3
View File
@@ -11,6 +11,9 @@ drv_uart.c
CPPPATH = [cwd]
CPPDEFINES = []
if GetDepend('RT_USING_PIN'):
src += ['drv_pin.c']
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES=CPPDEFINES)
Return('group')
+89
View File
@@ -0,0 +1,89 @@
/*
* File : drv_pin.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006-2013, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE
*
* Change Logs:
* Date Author Notes
* 2018-03-25 Tanek the first version.
*/
#include <rtthread.h>
#include <rthw.h>
#include <drivers/pin.h>
#include <SMM_MPS2.h>
#ifdef RT_USING_PIN
// pin 0 ~ 7 : switch 0 ~ 7
// pin 8 ~ 15 : user led 0 ~ 7
static void v2m_pin_mode(rt_device_t dev, rt_base_t pin, rt_base_t mode)
{
return ;
}
static int v2m_pin_read(rt_device_t dev, rt_base_t pin)
{
RT_ASSERT(dev != RT_NULL);
if (0 <= pin && pin <= 7)
{
return !!(MPS2_SCC->CFG_REG3 & (0x01 << pin)); // switchs
}
else if (8 <= pin && pin <= 15)
{
return !!(MPS2_SCC->CFG_REG1 & (0x01 << (pin - 8))); // leds
}
else
{
RT_ASSERT(RT_NULL);
return 0;
}
}
static void v2m_pin_write(rt_device_t dev, rt_base_t pin, rt_base_t value)
{
RT_ASSERT(dev != RT_NULL);
if (8 <= pin && pin <= 15)
{
rt_uint32_t reg = MPS2_SCC->CFG_REG1;
if (value)
reg |= 1 << (pin - 8);
else
reg &= ~(1 << (pin - 8));
MPS2_SCC->CFG_REG1 = reg;
}
else
{
RT_ASSERT(RT_NULL);
}
}
int rt_hw_pin_init(void)
{
int ret = RT_EOK;
static const struct rt_pin_ops v2m_pin_ops =
{
v2m_pin_mode,
v2m_pin_write,
v2m_pin_read,
RT_NULL,
RT_NULL,
RT_NULL
};
ret = rt_device_pin_register("pin", &v2m_pin_ops, RT_NULL);
return ret;
}
INIT_BOARD_EXPORT(rt_hw_pin_init);
#endif /*RT_USING_PIN */
+2061 -104
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+18 -81
View File
File diff suppressed because it is too large. Load diff