Преглед изворни кода

[BSP] Add width/height options for CLCD.

Bernard Xiong пре 6 година
родитељ
комит
7fb9f37b7d

+ 21 - 27
bsp/qemu-vexpress-a9/.config

@@ -18,6 +18,7 @@ CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_DEBUG_INIT=0
 CONFIG_RT_DEBUG_THREAD=0
 CONFIG_RT_USING_HOOK=y
+CONFIG_RT_IDEL_HOOK_LIST_SIZE=4
 CONFIG_IDLE_THREAD_STACK_SIZE=512
 CONFIG_RT_USING_TIMER_SOFT=y
 CONFIG_RT_TIMER_THREAD_PRIO=4
@@ -127,6 +128,7 @@ CONFIG_RT_USING_DFS_RAMFS=y
 # Device Drivers
 #
 CONFIG_RT_USING_DEVICE_IPC=y
+CONFIG_RT_PIPE_BUFSZ=512
 CONFIG_RT_USING_SERIAL=y
 # CONFIG_RT_USING_CAN is not set
 # CONFIG_RT_USING_HWTIMER is not set
@@ -142,6 +144,11 @@ 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=y
+CONFIG_RT_SDIO_STACK_SIZE=512
+CONFIG_RT_SDIO_THREAD_PRIORITY=15
+CONFIG_RT_MMCSD_STACK_SIZE=1024
+CONFIG_RT_MMCSD_THREAD_PREORITY=22
+CONFIG_RT_MMCSD_MAX_PARTITION=16
 CONFIG_RT_USING_SPI=y
 CONFIG_RT_USING_SPI_MSD=y
 CONFIG_RT_USING_SFUD=y
@@ -182,7 +189,7 @@ CONFIG_RT_USING_POSIX_AIO=y
 CONFIG_RT_USING_LWIP=y
 # CONFIG_RT_USING_LWIP141 is not set
 CONFIG_RT_USING_LWIP202=y
-# CONFIG_RT_USING_LWIP_IPV6 is not set
+CONFIG_RT_USING_LWIP_IPV6=y
 # CONFIG_RT_LWIP_IGMP is not set
 CONFIG_RT_LWIP_ICMP=y
 # CONFIG_RT_LWIP_SNMP is not set
@@ -217,7 +224,7 @@ CONFIG_RT_LWIP_TCPTHREAD_STACKSIZE=1024
 CONFIG_RT_LWIP_ETHTHREAD_PRIORITY=12
 CONFIG_RT_LWIP_ETHTHREAD_STACKSIZE=1024
 CONFIG_RT_LWIP_ETHTHREAD_MBOX_SIZE=8
-# CONFIG_RT_LWIP_REASSEMBLY_FRAG is not set
+CONFIG_RT_LWIP_REASSEMBLY_FRAG=y
 CONFIG_LWIP_NETIF_STATUS_CALLBACK=1
 CONFIG_SO_REUSE=1
 CONFIG_LWIP_SO_RCVTIMEO=1
@@ -286,6 +293,7 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y
 # CONFIG_PKG_USING_NOPOLL is not set
 # CONFIG_PKG_USING_NETUTILS is not set
 # CONFIG_PKG_USING_ONENET is not set
+# CONFIG_PKG_USING_AT_DEVICE is not set
 
 #
 # security packages
@@ -297,6 +305,7 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y
 #
 # language packages
 #
+# CONFIG_PKG_USING_LUA is not set
 # CONFIG_PKG_USING_JERRYSCRIPT is not set
 # CONFIG_PKG_USING_MICROPYTHON is not set
 
@@ -317,12 +326,14 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y
 #
 # system packages
 #
-
-#
-# RT-Thread GUI Engine
-#
 # CONFIG_PKG_USING_GUIENGINE is not set
+# CONFIG_PKG_USING_GUIENGINE_V200 is not set
+# CONFIG_PKG_USING_GUIENGINE_LATEST_VERSION is not set
+# CONFIG_GUIENGINE_IMAGE_LODEPNG is not set
+# CONFIG_GUIENGINE_IMAGE_PNG is not set
 # CONFIG_PKG_USING_PERSIMMON is not set
+# CONFIG_PKG_USING_CAIRO is not set
+# CONFIG_PKG_USING_PIXMAN is not set
 # CONFIG_PKG_USING_LWEXT4 is not set
 # CONFIG_PKG_USING_PARTITION is not set
 # CONFIG_PKG_USING_FAL is not set
@@ -335,10 +346,12 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y
 #
 # CONFIG_PKG_USING_STM32F4_HAL is not set
 # CONFIG_PKG_USING_STM32F4_DRIVERS is not set
+# CONFIG_PKG_USING_REALTEK_AMEBA is not set
 
 #
 # miscellaneous packages
 #
+# CONFIG_PKG_USING_OPTPARSE is not set
 # CONFIG_PKG_USING_FASTLZ is not set
 # CONFIG_PKG_USING_MINILZO is not set
 # CONFIG_PKG_USING_QUICKLZ is not set
@@ -346,6 +359,8 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y
 # CONFIG_PKG_USING_CANFESTIVAL is not set
 # CONFIG_PKG_USING_ZLIB is not set
 # CONFIG_PKG_USING_DSTR is not set
+# CONFIG_PKG_USING_DSTR_V010 is not set
+# CONFIG_PKG_USING_DSTR_LATEST_VERSION is not set
 
 #
 # sample package
@@ -356,27 +371,6 @@ CONFIG_LOG_TRACE_USING_LEVEL_INFO=y
 # example package: hello
 #
 # CONFIG_PKG_USING_HELLO is not set
-
-#
-# Privated Packages of RealThread
-#
-# CONFIG_PKG_USING_CODEC is not set
-# CONFIG_PKG_USING_PLAYER is not set
-# CONFIG_PKG_USING_PERSIMMON_SRC is not set
-
-#
-# Network Utilities
-#
-# CONFIG_PKG_USING_MDNS is not set
-# CONFIG_PKG_USING_UPNP is not set
-# CONFIG_PKG_USING_WLAN_WICED_SRC is not set
-# CONFIG_PKG_USING_CLOUDSDK 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_PKG_USING_RT_AT is not set
-# CONFIG_PKG_USING_RDB is not set
-# CONFIG_PKG_USING_RTINSIGHT is not set
 CONFIG_SOC_VEXPRESS_A9=y
 CONFIG_RT_USING_UART0=y
 CONFIG_RT_USING_UART1=y

+ 10 - 0
bsp/qemu-vexpress-a9/drivers/Kconfig

@@ -11,6 +11,16 @@ config BSP_DRV_CLCD
     depends on PKG_USING_GUIENGINE
     default y
 
+if BSP_DRV_CLCD
+    config BSP_LCD_WIDTH
+    int "Width of LCD panel"
+    default 640
+
+    config BSP_LCD_HEIGHT
+    int "Height of LCD panel"
+    default 480
+endif
+
 config BSP_DRV_EMAC
     bool "EMAC driver"
     depends on RT_USING_LWIP

+ 2 - 2
bsp/qemu-vexpress-a9/drivers/drv_clcd.c

@@ -5,8 +5,8 @@
 #include <rtthread.h>
 #include "drv_clcd.h"
 
-#define CLCD_WIDTH  640
-#define CLCD_HEIGHT 480
+#define CLCD_WIDTH  (BSP_LCD_WIDTH)
+#define CLCD_HEIGHT (BSP_LCD_HEIGHT)
 
 #define CLCD_DEVICE(dev)    (struct drv_clcd_device*)(dev)
 

+ 10 - 0
bsp/qemu-vexpress-a9/drivers/drv_clcd.h

@@ -1,6 +1,16 @@
 #ifndef DRV_CLCD_H__
 #define DRV_CLCD_H__
 
+#include <rtthread.h>
+
+#ifndef BSP_LCD_WIDTH
+#define BSP_LCD_WIDTH   640
+#endif
+
+#ifndef BSP_LCD_HEIGHT
+#define BSP_LCD_HEIGHT  480
+#endif
+
 int drv_clcd_hw_init(void);
 
 #endif

+ 3 - 2
bsp/qemu-vexpress-a9/drivers/drv_mouse.c

@@ -5,6 +5,7 @@
 #include "board.h"
 #include "interrupt.h"
 #include "drv_mouse.h"
+#include "drv_clcd.h"
 
 #define DBG_LEVEL DBG_LOG
 // #define DBG_ENABLE
@@ -14,8 +15,8 @@
 
 #define MOUSE_ADDRESS    (0x10007000)
 #define MOUSE_IRQ_NUM    (IRQ_VEXPRESS_A9_MOUSE)
-#define MOUSE_XMAX       (800)
-#define MOUSE_YMAX       (480)
+#define MOUSE_XMAX       (BSP_LCD_WIDTH)
+#define MOUSE_YMAX       (BSP_LCD_HEIGHT)
 
 #define MOUSE_BUTTON_LEFT    (0x01)
 #define MOUSE_BUTTON_RIGHT   (0x02)

+ 9 - 8
bsp/qemu-vexpress-a9/rtconfig.h

@@ -16,6 +16,7 @@
 #define RT_DEBUG_INIT 0
 #define RT_DEBUG_THREAD 0
 #define RT_USING_HOOK
+#define RT_IDEL_HOOK_LIST_SIZE 4
 #define IDLE_THREAD_STACK_SIZE 512
 #define RT_USING_TIMER_SOFT
 #define RT_TIMER_THREAD_PRIO 4
@@ -101,6 +102,7 @@
 /* Device Drivers */
 
 #define RT_USING_DEVICE_IPC
+#define RT_PIPE_BUFSZ 512
 #define RT_USING_SERIAL
 #define RT_USING_I2C
 #define RT_USING_I2C_BITOPS
@@ -110,6 +112,11 @@
 #define RT_MTD_NAND_DEBUG
 #define RT_USING_RTC
 #define RT_USING_SDIO
+#define RT_SDIO_STACK_SIZE 512
+#define RT_SDIO_THREAD_PRIORITY 15
+#define RT_MMCSD_STACK_SIZE 1024
+#define RT_MMCSD_THREAD_PREORITY 22
+#define RT_MMCSD_MAX_PARTITION 16
 #define RT_USING_SPI
 #define RT_USING_SPI_MSD
 #define RT_USING_SFUD
@@ -135,6 +142,7 @@
 
 #define RT_USING_LWIP
 #define RT_USING_LWIP202
+#define RT_USING_LWIP_IPV6
 #define RT_LWIP_ICMP
 #define RT_LWIP_DNS
 #define RT_LWIP_DHCP
@@ -162,6 +170,7 @@
 #define RT_LWIP_ETHTHREAD_PRIORITY 12
 #define RT_LWIP_ETHTHREAD_STACKSIZE 1024
 #define RT_LWIP_ETHTHREAD_MBOX_SIZE 8
+#define RT_LWIP_REASSEMBLY_FRAG
 #define LWIP_NETIF_STATUS_CALLBACK 1
 #define SO_REUSE 1
 #define LWIP_SO_RCVTIMEO 1
@@ -208,8 +217,6 @@
 
 /* system packages */
 
-/* RT-Thread GUI Engine */
-
 
 /* peripheral libraries and drivers */
 
@@ -222,12 +229,6 @@
 
 /* example package: hello */
 
-
-/* Privated Packages of RealThread */
-
-
-/* Network Utilities */
-
 #define SOC_VEXPRESS_A9
 #define RT_USING_UART0
 #define RT_USING_UART1