Skip to content

Commit e600aa3

Browse files
committed
add all
1 parent d8a7adc commit e600aa3

File tree

5 files changed

+86
-80
lines changed

5 files changed

+86
-80
lines changed

bsp/gd32/arm/gd32e230-lckfb/.config

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
# CONFIG_RT_UTEST_TC_USING_KLIBC is not set
109109
# end of klibc options
110110

111-
CONFIG_RT_NAME_MAX=8
111+
CONFIG_RT_NAME_MAX=20
112112
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
113113
# CONFIG_RT_USING_NANO is not set
114114
# CONFIG_RT_USING_SMART is not set
@@ -224,7 +224,11 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
224224
# CONFIG_RT_USING_SERIAL_BYPASS is not set
225225
# CONFIG_RT_USING_CAN is not set
226226
# CONFIG_RT_USING_CPUTIME is not set
227-
# CONFIG_RT_USING_I2C is not set
227+
CONFIG_RT_USING_I2C=y
228+
# CONFIG_RT_I2C_DEBUG is not set
229+
CONFIG_RT_USING_I2C_BITOPS=y
230+
# CONFIG_RT_I2C_BITOPS_DEBUG is not set
231+
# CONFIG_RT_USING_SOFT_I2C is not set
228232
# CONFIG_RT_USING_PHY is not set
229233
# CONFIG_RT_USING_PHY_V2 is not set
230234
# CONFIG_RT_USING_ADC is not set
@@ -321,7 +325,34 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
321325
# Utilities
322326
#
323327
# CONFIG_RT_USING_RYM is not set
324-
# CONFIG_RT_USING_ULOG is not set
328+
CONFIG_RT_USING_ULOG=y
329+
# CONFIG_ULOG_OUTPUT_LVL_A is not set
330+
# CONFIG_ULOG_OUTPUT_LVL_E is not set
331+
# CONFIG_ULOG_OUTPUT_LVL_W is not set
332+
# CONFIG_ULOG_OUTPUT_LVL_I is not set
333+
CONFIG_ULOG_OUTPUT_LVL_D=y
334+
CONFIG_ULOG_OUTPUT_LVL=7
335+
CONFIG_ULOG_USING_ISR_LOG=y
336+
CONFIG_ULOG_ASSERT_ENABLE=y
337+
CONFIG_ULOG_LINE_BUF_SIZE=128
338+
# CONFIG_ULOG_USING_ASYNC_OUTPUT is not set
339+
340+
#
341+
# log format
342+
#
343+
# CONFIG_ULOG_OUTPUT_FLOAT is not set
344+
CONFIG_ULOG_USING_COLOR=y
345+
CONFIG_ULOG_OUTPUT_TIME=y
346+
# CONFIG_ULOG_TIME_USING_TIMESTAMP is not set
347+
CONFIG_ULOG_OUTPUT_LEVEL=y
348+
CONFIG_ULOG_OUTPUT_TAG=y
349+
# CONFIG_ULOG_OUTPUT_THREAD_NAME is not set
350+
# end of log format
351+
352+
CONFIG_ULOG_BACKEND_USING_CONSOLE=y
353+
# CONFIG_ULOG_BACKEND_USING_FILE is not set
354+
# CONFIG_ULOG_USING_FILTER is not set
355+
# CONFIG_ULOG_USING_SYSLOG is not set
325356
# CONFIG_RT_USING_UTEST is not set
326357
# CONFIG_RT_USING_VAR_EXPORT is not set
327358
# CONFIG_RT_USING_RESOURCE_ID is not set
@@ -995,7 +1026,15 @@ CONFIG_PKG_GD32_ARM_SERIES_DRIVER_VER="latest"
9951026
# CONFIG_PKG_USING_WK2124 is not set
9961027
# CONFIG_PKG_USING_LY68L6400 is not set
9971028
# CONFIG_PKG_USING_DM9051 is not set
998-
# CONFIG_PKG_USING_SSD1306 is not set
1029+
CONFIG_PKG_USING_SSD1306=y
1030+
CONFIG_PKG_SSD1306_PATH="/packages/peripherals/ssd1306"
1031+
# CONFIG_PKG_USING_SSD1306_DEBUG is not set
1032+
CONFIG_PKG_USING_SSD1306_I2C_ADDRESS=0x3C
1033+
CONFIG_PKG_USING_SSD1306_I2C_BUS_NAME="i2c1"
1034+
# CONFIG_PKG_USING_SSD1306_SAMPLE is not set
1035+
# CONFIG_PKG_USING_SSD1306_V100 is not set
1036+
CONFIG_PKG_USING_SSD1306_LATEST_VERSION=y
1037+
CONFIG_PKG_SSD1306_VER="latest"
9991038
# CONFIG_PKG_USING_QKEY is not set
10001039
# CONFIG_PKG_USING_RS485 is not set
10011040
# CONFIG_PKG_USING_RS232 is not set
@@ -1407,7 +1446,10 @@ CONFIG_BSP_USING_UART0=y
14071446
#
14081447
# I2C Configuration
14091448
#
1410-
# CONFIG_BSP_USING_HW_I2C is not set
1449+
CONFIG_BSP_USING_HW_I2C=y
1450+
# CONFIG_BSP_USING_HW_I2C0 is not set
1451+
CONFIG_BSP_USING_HW_I2C1=y
1452+
CONFIG_BSP_HW_I2C1_CLOCK_SPEED=100000
14111453
# CONFIG_BSP_USING_I2C0 is not set
14121454
# CONFIG_BSP_USING_I2C1 is not set
14131455
# end of I2C Configuration

bsp/gd32/arm/gd32e230-lckfb/applications/main.c

Lines changed: 9 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -12,88 +12,25 @@
1212
#include <rtdevice.h>
1313
#include <board.h>
1414

15-
16-
#define LED_PIN BSP_LED_PIN
17-
18-
19-
static void led_blink_thread_entry(void *parameter)
20-
{
21-
rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);
22-
23-
rt_kprintf("LED blink thread started.\n");
24-
25-
while (1)
26-
{
27-
rt_pin_write(LED_PIN, PIN_HIGH);
28-
rt_thread_mdelay(500);
29-
30-
rt_pin_write(LED_PIN, PIN_LOW);
31-
rt_thread_mdelay(500);
32-
}
33-
}
34-
35-
#define UART_DEVICE_NAME "uart0"
36-
37-
static void uart_send_thread_entry(void *parameter)
15+
#include "ssd1306.h"
16+
void ssd1306_TestCircle()
3817
{
39-
rt_device_t console_dev;
40-
char msg[] = "hello rt-thread\r\n";
41-
42-
console_dev = rt_console_get_device();
43-
44-
if (!console_dev)
45-
{
46-
rt_kprintf("Failed to get console device.\n");
47-
return;
48-
}
18+
uint32_t delta;
4919

50-
rt_kprintf("UART send thread started. Will send message every 2 seconds.\n");
51-
52-
while (1)
20+
for(delta = 0; delta < 5; delta ++)
5321
{
54-
rt_device_write(console_dev, 0, msg, (sizeof(msg) - 1));
55-
rt_thread_mdelay(2000);
22+
ssd1306_DrawCircle(20* delta+30, 30, 10, White);
5623
}
24+
ssd1306_UpdateScreen();
25+
return;
5726
}
5827

5928

6029
int main(void)
6130
{
62-
rt_thread_t led_tid = RT_NULL;
63-
rt_thread_t uart_tid = RT_NULL;
64-
65-
led_tid = rt_thread_create("led_blink",
66-
led_blink_thread_entry,
67-
RT_NULL,
68-
256,
69-
20,
70-
10);
71-
72-
if (led_tid != RT_NULL)
73-
{
74-
rt_thread_startup(led_tid);
75-
}
76-
else
77-
{
78-
rt_kprintf("Failed to create led_blink thread.\n");
79-
}
31+
ssd1306_Init();
8032

81-
uart_tid = rt_thread_create("uart_send",
82-
uart_send_thread_entry,
83-
RT_NULL,
84-
512,
85-
21,
86-
10);
87-
88-
if (uart_tid != RT_NULL)
89-
{
90-
rt_kprintf("uart_send thread created successfully. Starting it up...\n");
91-
rt_thread_startup(uart_tid);
92-
}
93-
else
94-
{
95-
rt_kprintf("!!! FAILED to create uart_send thread. Not enough memory?\n");
96-
}
33+
ssd1306_TestCircle();
9734

9835
return 0;
9936
}

bsp/gd32/arm/gd32e230-lckfb/rtconfig.h

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161

6262
/* end of rt_strnlen options */
6363
/* end of klibc options */
64-
#define RT_NAME_MAX 16
64+
#define RT_NAME_MAX 20
6565
#define RT_CPUS_NR 1
6666
#define RT_ALIGN_SIZE 8
6767
#define RT_THREAD_PRIORITY_32
@@ -128,6 +128,8 @@
128128
#define RT_USING_SERIAL
129129
#define RT_USING_SERIAL_V1
130130
#define RT_SERIAL_RB_BUFSZ 64
131+
#define RT_USING_I2C
132+
#define RT_USING_I2C_BITOPS
131133
#define RT_USING_PIN
132134
/* end of Device Drivers */
133135

@@ -166,6 +168,21 @@
166168

167169
/* Utilities */
168170

171+
#define RT_USING_ULOG
172+
#define ULOG_OUTPUT_LVL_D
173+
#define ULOG_OUTPUT_LVL 7
174+
#define ULOG_USING_ISR_LOG
175+
#define ULOG_ASSERT_ENABLE
176+
#define ULOG_LINE_BUF_SIZE 128
177+
178+
/* log format */
179+
180+
#define ULOG_USING_COLOR
181+
#define ULOG_OUTPUT_TIME
182+
#define ULOG_OUTPUT_LEVEL
183+
#define ULOG_OUTPUT_TAG
184+
/* end of log format */
185+
#define ULOG_BACKEND_USING_CONSOLE
169186
/* end of Utilities */
170187

171188
/* Using USB legacy version */
@@ -311,6 +328,10 @@
311328
/* touch drivers */
312329

313330
/* end of touch drivers */
331+
#define PKG_USING_SSD1306
332+
#define PKG_USING_SSD1306_I2C_ADDRESS 0x3C
333+
#define PKG_USING_SSD1306_I2C_BUS_NAME "i2c1"
334+
#define PKG_USING_SSD1306_LATEST_VERSION
314335
/* end of peripheral libraries and drivers */
315336

316337
/* AI packages */
@@ -402,6 +423,9 @@
402423

403424
/* I2C Configuration */
404425

426+
#define BSP_USING_HW_I2C
427+
#define BSP_USING_HW_I2C1
428+
#define BSP_HW_I2C1_CLOCK_SPEED 100000
405429
/* end of I2C Configuration */
406430
/* end of On-chip Peripheral Drivers */
407431

bsp/gd32/arm/gd32e230-lckfb/rtconfig.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
1818
if CROSS_TOOL == 'gcc':
1919
PLATFORM = 'gcc'
20-
EXEC_PATH = r'/usr/bin'
20+
EXEC_PATH = r'/home/htynkn/Programs/arm-gnu-toolchain-14.3/bin'
2121
elif CROSS_TOOL == 'keil':
2222
PLATFORM = 'armcc'
2323
EXEC_PATH = r'C:/Keil_v5'
@@ -28,7 +28,7 @@
2828
if os.getenv('RTT_EXEC_PATH'):
2929
EXEC_PATH = os.getenv('RTT_EXEC_PATH')
3030

31-
BUILD = 'release'
31+
BUILD = 'debug'
3232

3333
if PLATFORM == 'gcc':
3434
# toolchains

bsp/gd32/arm/libraries/gd32_drivers/drv_hw_i2c.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ static struct gd32_i2c i2c_objs[sizeof(i2c_configs) / sizeof(i2c_configs[0])];
4444
*/
4545
static void gd32_i2c_irq_handler(struct gd32_i2c *i2c_obj)
4646
{
47+
LOG_D("gd32_i2c_irq_handler");
4748
uint32_t i2c_periph = i2c_obj->config->i2c_periph;
4849

4950
/* Start bit sent successfully */
@@ -145,6 +146,8 @@ else if(i2c_flag_get(i2c_periph, I2C_FLAG_MASTER) && !i2c_flag_get(i2c_periph, I
145146
*/
146147
static void gd32_i2c_err_irq_handler(struct gd32_i2c *i2c_obj)
147148
{
149+
LOG_D("gd32_i2c_err_irq_handler.");
150+
148151
uint32_t i2c_periph = i2c_obj->config->i2c_periph;
149152
i2c_obj->result = -RT_ERROR; // Default error
150153

0 commit comments

Comments
 (0)