mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-11-09 20:45:41 +08:00
[bsp][v2m-mps2] add pin device support and update project files
This commit is contained in:
1 parent
228c820e4d
commit
d43e20676f
6 files changed
+3103
-198
No files matched your search
+53
-12
@@ -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
|
||||
@@ -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')
|
||||
@@ -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
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
+18
-81
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user