Skip to content

Commit e0b0416

Browse files
author
shaojinchun
committed
[bsp][raspi2] add raspberry pi 2 support
1 parent c5a9371 commit e0b0416

34 files changed

+2715
-0
lines changed

bsp/raspi2/.config

Lines changed: 274 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,274 @@
1+
#
2+
# Automatically generated file; DO NOT EDIT.
3+
# RT-Thread Project Configuration
4+
#
5+
6+
#
7+
# RT-Thread Kernel
8+
#
9+
CONFIG_RT_NAME_MAX=8
10+
CONFIG_RT_ALIGN_SIZE=4
11+
# CONFIG_RT_THREAD_PRIORITY_8 is not set
12+
CONFIG_RT_THREAD_PRIORITY_32=y
13+
# CONFIG_RT_THREAD_PRIORITY_256 is not set
14+
CONFIG_RT_THREAD_PRIORITY_MAX=32
15+
CONFIG_RT_TICK_PER_SECOND=100
16+
CONFIG_RT_DEBUG=y
17+
CONFIG_RT_USING_OVERFLOW_CHECK=y
18+
CONFIG_RT_DEBUG_INIT=0
19+
CONFIG_RT_DEBUG_THREAD=0
20+
CONFIG_RT_USING_HOOK=y
21+
CONFIG_IDLE_THREAD_STACK_SIZE=256
22+
# CONFIG_RT_USING_TIMER_SOFT is not set
23+
24+
#
25+
# Inter-Thread communication
26+
#
27+
CONFIG_RT_USING_SEMAPHORE=y
28+
CONFIG_RT_USING_MUTEX=y
29+
CONFIG_RT_USING_EVENT=y
30+
CONFIG_RT_USING_MAILBOX=y
31+
CONFIG_RT_USING_MESSAGEQUEUE=y
32+
# CONFIG_RT_USING_SIGNALS is not set
33+
34+
#
35+
# Memory Management
36+
#
37+
CONFIG_RT_USING_MEMPOOL=y
38+
# CONFIG_RT_USING_MEMHEAP is not set
39+
# CONFIG_RT_USING_NOHEAP is not set
40+
CONFIG_RT_USING_SMALL_MEM=y
41+
# CONFIG_RT_USING_SLAB is not set
42+
# CONFIG_RT_USING_MEMTRACE is not set
43+
CONFIG_RT_USING_HEAP=y
44+
45+
#
46+
# Kernel Device Object
47+
#
48+
CONFIG_RT_USING_DEVICE=y
49+
# CONFIG_RT_USING_INTERRUPT_INFO is not set
50+
CONFIG_RT_USING_CONSOLE=y
51+
CONFIG_RT_CONSOLEBUF_SIZE=128
52+
CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
53+
# CONFIG_RT_USING_MODULE is not set
54+
CONFIG_ARCH_ARM=y
55+
CONFIG_ARCH_ARM_CORTEX_A=y
56+
CONFIG_ARCH_ARM_CORTEX_A7=y
57+
58+
#
59+
# RT-Thread Components
60+
#
61+
CONFIG_RT_USING_COMPONENTS_INIT=y
62+
CONFIG_RT_USING_USER_MAIN=y
63+
CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048
64+
65+
#
66+
# C++ features
67+
#
68+
# CONFIG_RT_USING_CPLUSPLUS is not set
69+
70+
#
71+
# Command shell
72+
#
73+
CONFIG_RT_USING_FINSH=y
74+
CONFIG_FINSH_THREAD_NAME="tshell"
75+
CONFIG_FINSH_USING_HISTORY=y
76+
CONFIG_FINSH_HISTORY_LINES=5
77+
CONFIG_FINSH_USING_SYMTAB=y
78+
CONFIG_FINSH_USING_DESCRIPTION=y
79+
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
80+
CONFIG_FINSH_THREAD_PRIORITY=20
81+
CONFIG_FINSH_THREAD_STACK_SIZE=4096
82+
CONFIG_FINSH_CMD_SIZE=80
83+
# CONFIG_FINSH_USING_AUTH is not set
84+
CONFIG_FINSH_USING_MSH=y
85+
CONFIG_FINSH_USING_MSH_DEFAULT=y
86+
CONFIG_FINSH_USING_MSH_ONLY=y
87+
88+
#
89+
# Device virtual file system
90+
#
91+
# CONFIG_RT_USING_DFS is not set
92+
93+
#
94+
# Device Drivers
95+
#
96+
CONFIG_RT_USING_DEVICE_IPC=y
97+
CONFIG_RT_USING_SERIAL=y
98+
# CONFIG_RT_USING_CAN is not set
99+
# CONFIG_RT_USING_HWTIMER is not set
100+
# CONFIG_RT_USING_CPUTIME is not set
101+
# CONFIG_RT_USING_I2C is not set
102+
CONFIG_RT_USING_PIN=y
103+
# CONFIG_RT_USING_MTD_NOR is not set
104+
# CONFIG_RT_USING_MTD_NAND is not set
105+
# CONFIG_RT_USING_RTC is not set
106+
# CONFIG_RT_USING_SDIO is not set
107+
# CONFIG_RT_USING_SPI is not set
108+
# CONFIG_RT_USING_WDT is not set
109+
# CONFIG_RT_USING_WIFI is not set
110+
111+
#
112+
# Using USB
113+
#
114+
# CONFIG_RT_USING_USB_HOST is not set
115+
# CONFIG_RT_USING_USB_DEVICE is not set
116+
117+
#
118+
# POSIX layer and C standard library
119+
#
120+
CONFIG_RT_USING_LIBC=y
121+
# CONFIG_RT_USING_PTHREADS is not set
122+
# CONFIG_HAVE_SYS_SIGNALS is not set
123+
124+
#
125+
# Network stack
126+
#
127+
128+
#
129+
# light weight TCP/IP stack
130+
#
131+
# CONFIG_RT_USING_LWIP is not set
132+
133+
#
134+
# Modbus master and slave stack
135+
#
136+
# CONFIG_RT_USING_MODBUS is not set
137+
138+
#
139+
# VBUS(Virtual Software BUS)
140+
#
141+
# CONFIG_RT_USING_VBUS is not set
142+
143+
#
144+
# Utilities
145+
#
146+
# CONFIG_RT_USING_LOGTRACE is not set
147+
# CONFIG_RT_USING_RYM is not set
148+
149+
#
150+
# RT-Thread online packages
151+
#
152+
153+
#
154+
# IoT - internet of things
155+
#
156+
# CONFIG_PKG_USING_PAHOMQTT is not set
157+
# CONFIG_PKG_USING_WEBCLIENT is not set
158+
# CONFIG_PKG_USING_MONGOOSE is not set
159+
# CONFIG_PKG_USING_WEBTERMINAL is not set
160+
# CONFIG_PKG_USING_CJSON is not set
161+
# CONFIG_PKG_USING_LJSON is not set
162+
# CONFIG_PKG_USING_EZXML is not set
163+
# CONFIG_PKG_USING_NANOPB is not set
164+
# CONFIG_PKG_USING_GAGENT_CLOUD is not set
165+
166+
#
167+
# Wi-Fi
168+
#
169+
170+
#
171+
# Marvell WiFi
172+
#
173+
# CONFIG_PKG_USING_WLANMARVELL is not set
174+
175+
#
176+
# Wiced WiFi
177+
#
178+
# CONFIG_PKG_USING_WLAN_WICED is not set
179+
# CONFIG_PKG_USING_COAP is not set
180+
# CONFIG_PKG_USING_NOPOLL is not set
181+
# CONFIG_PKG_USING_NETUTILS is not set
182+
# CONFIG_PKG_USING_ONENET is not set
183+
184+
#
185+
# security packages
186+
#
187+
# CONFIG_PKG_USING_MBEDTLS is not set
188+
# CONFIG_PKG_USING_libsodium is not set
189+
# CONFIG_PKG_USING_TINYCRYPT is not set
190+
191+
#
192+
# language packages
193+
#
194+
# CONFIG_PKG_USING_JERRYSCRIPT is not set
195+
# CONFIG_PKG_USING_MICROPYTHON is not set
196+
197+
#
198+
# multimedia packages
199+
#
200+
# CONFIG_PKG_USING_OPENMV is not set
201+
202+
#
203+
# tools packages
204+
#
205+
# CONFIG_PKG_USING_CMBACKTRACE is not set
206+
# CONFIG_PKG_USING_EASYFLASH is not set
207+
# CONFIG_PKG_USING_EASYLOGGER is not set
208+
# CONFIG_PKG_USING_SYSTEMVIEW is not set
209+
# CONFIG_PKG_USING_IPERF is not set
210+
211+
#
212+
# system packages
213+
#
214+
215+
#
216+
# RT-Thread GUI Engine
217+
#
218+
# CONFIG_PKG_USING_GUIENGINE is not set
219+
# CONFIG_PKG_USING_PERSIMMON is not set
220+
# CONFIG_PKG_USING_LWEXT4 is not set
221+
# CONFIG_PKG_USING_PARTITION is not set
222+
# CONFIG_PKG_USING_SQLITE is not set
223+
# CONFIG_PKG_USING_RTI is not set
224+
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
225+
226+
#
227+
# peripheral libraries and drivers
228+
#
229+
# CONFIG_PKG_USING_STM32F4_HAL is not set
230+
# CONFIG_PKG_USING_STM32F4_DRIVERS is not set
231+
232+
#
233+
# miscellaneous packages
234+
#
235+
# CONFIG_PKG_USING_FASTLZ is not set
236+
# CONFIG_PKG_USING_MINILZO is not set
237+
# CONFIG_PKG_USING_QUICKLZ is not set
238+
# CONFIG_PKG_USING_MULTIBUTTON is not set
239+
# CONFIG_PKG_USING_CANFESTIVAL is not set
240+
241+
#
242+
# sample package
243+
#
244+
# CONFIG_PKG_USING_SAMPLES is not set
245+
246+
#
247+
# example package: hello
248+
#
249+
# CONFIG_PKG_USING_HELLO is not set
250+
251+
#
252+
# Privated Packages of RealThread
253+
#
254+
# CONFIG_PKG_USING_CODEC is not set
255+
# CONFIG_PKG_USING_PLAYER is not set
256+
# CONFIG_PKG_USING_PERSIMMON_SRC is not set
257+
258+
#
259+
# Network Utilities
260+
#
261+
# CONFIG_PKG_USING_WLAN_WICED_SRC is not set
262+
# CONFIG_PKG_USING_CLOUDSDK is not set
263+
# CONFIG_PKG_USING_COREMARK is not set
264+
# CONFIG_PKG_USING_POWER_MANAGER is not set
265+
# CONFIG_PKG_USING_RT_OTA is not set
266+
# CONFIG_PKG_USING_RT_AT is not set
267+
268+
#
269+
# Test Packages of RealThread
270+
#
271+
# CONFIG_PKG_USING_JERRYSCRIPT_WIN32 is not set
272+
# CONFIG_PKG_USING_JS_PERSIMMON is not set
273+
CONFIG_BCM2836_SOC=y
274+
CONFIG_RT_USING_UART1=y

bsp/raspi2/Kconfig

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
mainmenu "RT-Thread Project Configuration"
2+
3+
config $BSP_DIR
4+
string
5+
option env="BSP_ROOT"
6+
default "."
7+
8+
config $RTT_DIR
9+
string
10+
option env="RTT_ROOT"
11+
default "../.."
12+
13+
config $PKGS_DIR
14+
string
15+
option env="PKGS_ROOT"
16+
default "packages"
17+
18+
source "$RTT_DIR/KConfig"
19+
source "$PKGS_DIR/KConfig"
20+
21+
config BCM2836_SOC
22+
bool
23+
select ARCH_ARM_CORTEX_A7
24+
default y
25+
26+
source "driver/Kconfig"

bsp/raspi2/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# raspi2
2+
RT-Thread for Raspberry Pi 2B

bsp/raspi2/SConscript

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# for module compiling
2+
import os
3+
from building import *
4+
5+
cwd = GetCurrentDir()
6+
objs = []
7+
list = os.listdir(cwd)
8+
9+
for d in list:
10+
path = os.path.join(cwd, d)
11+
if os.path.isfile(os.path.join(path, 'SConscript')):
12+
objs = objs + SConscript(os.path.join(d, 'SConscript'))
13+
14+
Return('objs')

bsp/raspi2/SConstruct

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import os
2+
import sys
3+
import rtconfig
4+
5+
from rtconfig import RTT_ROOT
6+
7+
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
8+
from building import *
9+
10+
TARGET = 'rtthread.' + rtconfig.TARGET_EXT
11+
12+
env = Environment(tools = ['mingw'],
13+
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
14+
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
15+
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
16+
AR = rtconfig.AR, ARFLAGS = '-rc',
17+
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
18+
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
19+
20+
Export('RTT_ROOT')
21+
Export('rtconfig')
22+
23+
# prepare building environment
24+
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=True)
25+
26+
# make a building
27+
DoBuilding(TARGET, objs)

bsp/raspi2/applications/SConscript

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from building import *
2+
3+
cwd = GetCurrentDir()
4+
src = Glob('*.c') + Glob('*.cpp')
5+
CPPPATH = [cwd, str(Dir('#'))]
6+
7+
group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)
8+
9+
Return('group')

bsp/raspi2/applications/main.c

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* File : main.c
3+
* This file is part of RT-Thread RTOS
4+
* COPYRIGHT (C) 2017, RT-Thread Development Team
5+
*
6+
* This program is free software; you can redistribute it and/or modify
7+
* it under the terms of the GNU General Public License as published by
8+
* the Free Software Foundation; either version 2 of the License, or
9+
* (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU General Public License along
17+
* with this program; if not, write to the Free Software Foundation, Inc.,
18+
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19+
*
20+
* Change Logs:
21+
* Date Author Notes
22+
* 2017-5-30 Bernard the first version
23+
*/
24+
#include <stdint.h>
25+
#include <stdio.h>
26+
#include <stdlib.h>
27+
28+
#include <rtthread.h>
29+
30+
int main(int argc, char** argv)
31+
{
32+
rt_kprintf("Hello RT-Thread!\n");
33+
34+
return 0;
35+
}
36+

0 commit comments

Comments
 (0)