Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2345VOR
rt-thread
提交
91ae73e4
R
rt-thread
项目概览
2345VOR
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
91ae73e4
编写于
9月 24, 2015
作者:
B
Bernard Xiong
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://github.com/RT-Thread/rt-thread
上级
72f79d8e
a8dc960b
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
80 addition
and
82 deletion
+80
-82
bsp/lpc408x/rtconfig.h
bsp/lpc408x/rtconfig.h
+1
-13
bsp/stm32f7-disco/rtconfig.h
bsp/stm32f7-disco/rtconfig.h
+1
-1
bsp/stm32f7-disco/rtconfig.py
bsp/stm32f7-disco/rtconfig.py
+1
-1
components/finsh/shell.c
components/finsh/shell.c
+72
-67
components/libc/newlib/syscalls.c
components/libc/newlib/syscalls.c
+5
-0
未找到文件。
bsp/lpc408x/rtconfig.h
浏览文件 @
91ae73e4
...
...
@@ -151,9 +151,7 @@
// </section>
// <section name="RT_USING_LWIP" description="lwip, a lightweight TCP/IP protocol stack" default="true" >
//#define RT_USING_LWIP
// <bool name="RT_USING_LWIP141" description="Using lwIP 1.4.1 version" default="true" />
#define RT_USING_LWIP141
#define RT_USING_LWIP
// <bool name="RT_LWIP_ICMP" description="Enable ICMP protocol" default="true" />
#define RT_LWIP_ICMP
// <bool name="RT_LWIP_IGMP" description="Enable IGMP protocol" default="false" />
...
...
@@ -164,20 +162,10 @@
#define RT_LWIP_TCP
// <bool name="RT_LWIP_DNS" description="Enable DNS protocol" default="true" />
#define RT_LWIP_DNS
// <integer name="RT_LWIP_PBUF_NUM" description="Maximal number of buffers in the pbuf pool" default="4" />
#define RT_LWIP_PBUF_NUM 4
// <integer name="RT_LWIP_TCP_PCB_NUM" description="Maximal number of simultaneously active TCP connections" default="5" />
#define RT_LWIP_TCP_PCB_NUM 3
// <integer name="RT_LWIP_TCP_SND_BUF" description="TCP sender buffer size" default="8192" />
#define RT_LWIP_TCP_SND_BUF 4086
// <integer name="RT_LWIP_TCP_WND" description="TCP receive window" default="8192" />
#define RT_LWIP_TCP_WND 2048
// <bool name="RT_LWIP_SNMP" description="Enable SNMP protocol" default="false" />
// #define RT_LWIP_SNMP
// <bool name="RT_LWIP_DHCP" description="Enable DHCP client to get IP address" default="false" />
// #define RT_LWIP_DHCP
// <integer name="RT_LWIP_TCP_SEG_NUM" description="the number of simultaneously queued TCP" default="4" />
#define RT_LWIP_TCP_SEG_NUM 4
// <integer name="RT_LWIP_TCPTHREAD_PRIORITY" description="the thread priority of TCP thread" default="128" />
#define RT_LWIP_TCPTHREAD_PRIORITY 12
// <integer name="RT_LWIP_TCPTHREAD_MBOX_SIZE" description="the mail box size of TCP thread to wait for" default="32" />
...
...
bsp/stm32f7-disco/rtconfig.h
浏览文件 @
91ae73e4
...
...
@@ -116,7 +116,7 @@
// <bool name="RT_USING_LIBC" description="Using libc library" default="true" />
#define RT_USING_LIBC
// <bool name="RT_USING_PTHREADS" description="Using POSIX threads library" default="true" />
//
#define RT_USING_PTHREADS
#define RT_USING_PTHREADS
// </section>
// <section name="RT_USING_DFS" description="Device file system" default="true" >
...
...
bsp/stm32f7-disco/rtconfig.py
浏览文件 @
91ae73e4
...
...
@@ -44,7 +44,7 @@ if PLATFORM == 'gcc':
OBJCPY
=
PREFIX
+
'objcopy'
STRIP
=
PREFIX
+
'strip'
DEVICE
=
' -mcpu=cortex-m7 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=
hard
-ffunction-sections -fdata-sections'
DEVICE
=
' -mcpu=cortex-m7 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=
softfp
-ffunction-sections -fdata-sections'
CFLAGS
=
DEVICE
+
' -g -Wall -DSTM32F756xx -DUSE_HAL_DRIVER -D__ASSEMBLY__ -D__FPU_USED'
AFLAGS
=
' -c'
+
DEVICE
+
' -x assembler-with-cpp -Wa,-mimplicit-it=thumb '
LFLAGS
=
DEVICE
+
' -lm -lgcc -lc'
+
' -nostartfiles -Wl,--gc-sections,-Map=rtthread_stm32f7xx.map,-cref,-u,Reset_Handler -T rtthread-stm32f7xx.ld'
...
...
components/finsh/shell.c
浏览文件 @
91ae73e4
...
...
@@ -52,23 +52,23 @@
static
struct
rt_thread
finsh_thread
;
ALIGN
(
RT_ALIGN_SIZE
)
static
char
finsh_thread_stack
[
FINSH_THREAD_STACK_SIZE
];
struct
finsh_shell
*
shell
;
struct
finsh_shell
*
shell
;
#if defined(FINSH_USING_MSH) || (defined(RT_USING_DFS) && defined(DFS_USING_WORKDIR))
#if defined(RT_USING_DFS)
#include <dfs_posix.h>
#endif
const
char
*
finsh_get_prompt
()
const
char
*
finsh_get_prompt
()
{
#define _MSH_PROMPT "msh "
#define _PROMPT
"finsh "
#define _MSH_PROMPT "msh "
#define _PROMPT
"finsh "
static
char
finsh_prompt
[
RT_CONSOLEBUF_SIZE
+
1
]
=
{
0
};
#ifdef FINSH_USING_MSH
if
(
msh_is_used
())
strcpy
(
finsh_prompt
,
_MSH_PROMPT
);
else
#endif
strcpy
(
finsh_prompt
,
_PROMPT
);
strcpy
(
finsh_prompt
,
_PROMPT
);
#if defined(RT_USING_DFS) && defined(DFS_USING_WORKDIR)
/* get current working directory */
...
...
@@ -98,7 +98,7 @@ static rt_err_t finsh_rx_ind(rt_device_t dev, rt_size_t size)
*
* @param device_name the name of new input device.
*/
void
finsh_set_device
(
const
char
*
device_name
)
void
finsh_set_device
(
const
char
*
device_name
)
{
rt_device_t
dev
=
RT_NULL
;
...
...
@@ -113,7 +113,7 @@ void finsh_set_device(const char* device_name)
/* check whether it's a same device */
if
(
dev
==
shell
->
device
)
return
;
/* open this device and set the new device in finsh shell */
if
(
rt_device_open
(
dev
,
RT_DEVICE_OFLAG_RDWR
|
RT_DEVICE_FLAG_INT_RX
|
\
if
(
rt_device_open
(
dev
,
RT_DEVICE_OFLAG_RDWR
|
RT_DEVICE_FLAG_INT_RX
|
\
RT_DEVICE_FLAG_STREAM
)
==
RT_EOK
)
{
if
(
shell
->
device
!=
RT_NULL
)
...
...
@@ -122,11 +122,11 @@ void finsh_set_device(const char* device_name)
rt_device_close
(
shell
->
device
);
rt_device_set_rx_indicate
(
shell
->
device
,
RT_NULL
);
}
/* clear line buffer before switch to new device */
memset
(
shell
->
line
,
0
,
sizeof
(
shell
->
line
));
shell
->
line_curpos
=
shell
->
line_position
=
0
;
shell
->
device
=
dev
;
rt_device_set_rx_indicate
(
dev
,
finsh_rx_ind
);
}
...
...
@@ -139,7 +139,7 @@ void finsh_set_device(const char* device_name)
*
* @return the finsh shell input device name is returned.
*/
const
char
*
finsh_get_device
()
const
char
*
finsh_get_device
()
{
RT_ASSERT
(
shell
!=
RT_NULL
);
return
shell
->
device
->
parent
.
name
;
...
...
@@ -174,7 +174,7 @@ rt_uint32_t finsh_get_echo()
return
shell
->
echo_mode
;
}
static
void
shell_auto_complete
(
char
*
prefix
)
static
void
shell_auto_complete
(
char
*
prefix
)
{
rt_kprintf
(
"
\n
"
);
...
...
@@ -183,11 +183,11 @@ static void shell_auto_complete(char* prefix)
{
msh_auto_complete
(
prefix
);
}
else
else
#endif
{
#ifndef FINSH_USING_MSH_ONLY
extern
void
list_prefix
(
char
*
prefix
);
#ifndef FINSH_USING_MSH_ONLY
extern
void
list_prefix
(
char
*
prefix
);
list_prefix
(
prefix
);
#endif
}
...
...
@@ -196,12 +196,12 @@ static void shell_auto_complete(char* prefix)
}
#ifndef FINSH_USING_MSH_ONLY
void
finsh_run_line
(
struct
finsh_parser
*
parser
,
const
char
*
line
)
void
finsh_run_line
(
struct
finsh_parser
*
parser
,
const
char
*
line
)
{
const
char
*
err_str
;
const
char
*
err_str
;
rt_kprintf
(
"
\n
"
);
finsh_parser_run
(
parser
,
(
unsigned
char
*
)
line
);
finsh_parser_run
(
parser
,
(
unsigned
char
*
)
line
);
/* compile node root */
if
(
finsh_errno
()
==
0
)
...
...
@@ -224,15 +224,15 @@ void finsh_run_line(struct finsh_parser* parser, const char *line)
if
(
ch
>
0x20
&&
ch
<
0x7e
)
{
rt_kprintf
(
"
\t
'%c', %d, 0x%08x
\n
"
,
(
unsigned
char
)
finsh_stack_bottom
(),
(
unsigned
int
)
finsh_stack_bottom
(),
(
unsigned
int
)
finsh_stack_bottom
());
(
unsigned
char
)
finsh_stack_bottom
(),
(
unsigned
int
)
finsh_stack_bottom
(),
(
unsigned
int
)
finsh_stack_bottom
());
}
else
{
rt_kprintf
(
"
\t
%d, 0x%08x
\n
"
,
(
unsigned
int
)
finsh_stack_bottom
(),
(
unsigned
int
)
finsh_stack_bottom
());
(
unsigned
int
)
finsh_stack_bottom
(),
(
unsigned
int
)
finsh_stack_bottom
());
}
}
...
...
@@ -241,13 +241,13 @@ void finsh_run_line(struct finsh_parser* parser, const char *line)
#endif
#ifdef FINSH_USING_HISTORY
static
rt_bool_t
shell_handle_history
(
struct
finsh_shell
*
shell
)
static
rt_bool_t
shell_handle_history
(
struct
finsh_shell
*
shell
)
{
#if defined(_WIN32)
int
i
;
rt_kprintf
(
"
\r
"
);
for
(
i
=
0
;
i
<=
60
;
i
++
)
for
(
i
=
0
;
i
<=
60
;
i
++
)
putchar
(
' '
);
rt_kprintf
(
"
\r
"
);
...
...
@@ -258,7 +258,7 @@ static rt_bool_t shell_handle_history(struct finsh_shell* shell)
return
RT_FALSE
;
}
static
void
shell_push_history
(
struct
finsh_shell
*
shell
)
static
void
shell_push_history
(
struct
finsh_shell
*
shell
)
{
if
(
shell
->
line_position
!=
0
)
{
...
...
@@ -270,7 +270,7 @@ static void shell_push_history(struct finsh_shell* shell)
for
(
index
=
0
;
index
<
FINSH_HISTORY_LINES
-
1
;
index
++
)
{
memcpy
(
&
shell
->
cmd_history
[
index
][
0
],
&
shell
->
cmd_history
[
index
+
1
][
0
],
FINSH_CMD_SIZE
);
&
shell
->
cmd_history
[
index
+
1
][
0
],
FINSH_CMD_SIZE
);
}
memset
(
&
shell
->
cmd_history
[
index
][
0
],
0
,
FINSH_CMD_SIZE
);
memcpy
(
&
shell
->
cmd_history
[
index
][
0
],
shell
->
line
,
shell
->
line_position
);
...
...
@@ -294,7 +294,7 @@ static void shell_push_history(struct finsh_shell* shell)
#ifndef RT_USING_HEAP
struct
finsh_shell
_shell
;
#endif
void
finsh_thread_entry
(
void
*
parameter
)
void
finsh_thread_entry
(
void
*
parameter
)
{
char
ch
;
...
...
@@ -424,7 +424,10 @@ void finsh_thread_entry(void* parameter)
char
next
;
if
(
rt_device_read
(
shell
->
device
,
0
,
&
next
,
1
)
==
1
)
ch
=
next
;
{
if
(
next
==
'\0'
)
ch
=
'r'
;
/* linux telnet will issue '\0' */
else
ch
=
next
;
}
else
ch
=
'\r'
;
}
/* handle tab key */
...
...
@@ -479,26 +482,26 @@ void finsh_thread_entry(void* parameter)
/* handle end of line, break */
if
(
ch
==
'\r'
||
ch
==
'\n'
)
{
#ifdef FINSH_USING_HISTORY
#ifdef FINSH_USING_HISTORY
shell_push_history
(
shell
);
#endif
#endif
#ifdef FINSH_USING_MSH
#ifdef FINSH_USING_MSH
if
(
msh_is_used
()
==
RT_TRUE
)
{
rt_kprintf
(
"
\n
"
);
msh_exec
(
shell
->
line
,
shell
->
line_position
);
}
else
#endif
#endif
{
#ifndef FINSH_USING_MSH_ONLY
#ifndef FINSH_USING_MSH_ONLY
/* add ';' and run the command line */
shell
->
line
[
shell
->
line_position
]
=
';'
;
if
(
shell
->
line_position
!=
0
)
finsh_run_line
(
&
shell
->
parser
,
shell
->
line
);
else
rt_kprintf
(
"
\n
"
);
#endif
#endif
}
rt_kprintf
(
FINSH_PROMPT
);
...
...
@@ -537,45 +540,45 @@ void finsh_thread_entry(void* parameter)
ch
=
0
;
shell
->
line_position
++
;
shell
->
line_curpos
++
;
if
(
shell
->
line_position
>=
80
)
{
/* clear command line */
shell
->
line_position
=
0
;
shell
->
line_curpos
=
0
;
}
if
(
shell
->
line_position
>=
80
)
{
/* clear command line */
shell
->
line_position
=
0
;
shell
->
line_curpos
=
0
;
}
}
/* end of device read */
}
}
void
finsh_system_function_init
(
const
void
*
begin
,
const
void
*
end
)
void
finsh_system_function_init
(
const
void
*
begin
,
const
void
*
end
)
{
_syscall_table_begin
=
(
struct
finsh_syscall
*
)
begin
;
_syscall_table_end
=
(
struct
finsh_syscall
*
)
end
;
_syscall_table_begin
=
(
struct
finsh_syscall
*
)
begin
;
_syscall_table_end
=
(
struct
finsh_syscall
*
)
end
;
}
void
finsh_system_var_init
(
const
void
*
begin
,
const
void
*
end
)
void
finsh_system_var_init
(
const
void
*
begin
,
const
void
*
end
)
{
_sysvar_table_begin
=
(
struct
finsh_sysvar
*
)
begin
;
_sysvar_table_end
=
(
struct
finsh_sysvar
*
)
end
;
_sysvar_table_begin
=
(
struct
finsh_sysvar
*
)
begin
;
_sysvar_table_end
=
(
struct
finsh_sysvar
*
)
end
;
}
#if defined(__ICCARM__) || defined(__ICCRX__)
/* for IAR compiler */
#ifdef FINSH_USING_SYMTAB
#pragma section="FSymTab"
#pragma section="VSymTab"
#endif
#ifdef FINSH_USING_SYMTAB
#pragma section="FSymTab"
#pragma section="VSymTab"
#endif
#elif defined(__ADSPBLACKFIN__)
/* for VisaulDSP++ Compiler*/
#ifdef FINSH_USING_SYMTAB
extern
"asm"
int
__fsymtab_start
;
extern
"asm"
int
__fsymtab_end
;
extern
"asm"
int
__vsymtab_start
;
extern
"asm"
int
__vsymtab_end
;
#endif
#ifdef FINSH_USING_SYMTAB
extern
"asm"
int
__fsymtab_start
;
extern
"asm"
int
__fsymtab_end
;
extern
"asm"
int
__vsymtab_start
;
extern
"asm"
int
__vsymtab_end
;
#endif
#elif defined(_MSC_VER)
#pragma section("FSymTab$a", read)
const
char
__fsym_begin_name
[]
=
"__start"
;
const
char
__fsym_begin_desc
[]
=
"begin of finsh"
;
__declspec
(
allocate
(
"FSymTab$a"
))
const
struct
finsh_syscall
__fsym_begin
=
__declspec
(
allocate
(
"FSymTab$a"
))
const
struct
finsh_syscall
__fsym_begin
=
{
__fsym_begin_name
,
__fsym_begin_desc
,
...
...
@@ -585,7 +588,7 @@ __declspec(allocate("FSymTab$a")) const struct finsh_syscall __fsym_begin =
#pragma section("FSymTab$z", read)
const
char
__fsym_end_name
[]
=
"__end"
;
const
char
__fsym_end_desc
[]
=
"end of finsh"
;
__declspec
(
allocate
(
"FSymTab$z"
))
const
struct
finsh_syscall
__fsym_end
=
__declspec
(
allocate
(
"FSymTab$z"
))
const
struct
finsh_syscall
__fsym_end
=
{
__fsym_end_name
,
__fsym_end_desc
,
...
...
@@ -609,9 +612,9 @@ int finsh_system_init(void)
extern
const
int
VSymTab
$$
Base
;
extern
const
int
VSymTab
$$
Limit
;
finsh_system_function_init
(
&
FSymTab
$$
Base
,
&
FSymTab
$$
Limit
);
#ifndef FINSH_USING_MSH_ONLY
#ifndef FINSH_USING_MSH_ONLY
finsh_system_var_init
(
&
VSymTab
$$
Base
,
&
VSymTab
$$
Limit
);
#endif
#endif
#elif defined (__ICCARM__) || defined(__ICCRX__)
/* for IAR Compiler */
finsh_system_function_init
(
__section_begin
(
"FSymTab"
),
__section_end
(
"FSymTab"
));
...
...
@@ -631,10 +634,12 @@ int finsh_system_init(void)
#elif defined(_MSC_VER)
unsigned
int
*
ptr_begin
,
*
ptr_end
;
ptr_begin
=
(
unsigned
int
*
)
&
__fsym_begin
;
ptr_begin
+=
(
sizeof
(
struct
finsh_syscall
)
/
sizeof
(
unsigned
int
));
ptr_begin
=
(
unsigned
int
*
)
&
__fsym_begin
;
ptr_begin
+=
(
sizeof
(
struct
finsh_syscall
)
/
sizeof
(
unsigned
int
));
while
(
*
ptr_begin
==
0
)
ptr_begin
++
;
ptr_end
=
(
unsigned
int
*
)
&
__fsym_end
;
ptr_end
--
;
ptr_end
=
(
unsigned
int
*
)
&
__fsym_end
;
ptr_end
--
;
while
(
*
ptr_end
==
0
)
ptr_end
--
;
finsh_system_function_init
(
ptr_begin
,
ptr_end
);
...
...
@@ -643,7 +648,7 @@ int finsh_system_init(void)
/* create or set shell structure */
#ifdef RT_USING_HEAP
shell
=
(
struct
finsh_shell
*
)
rt_malloc
(
sizeof
(
struct
finsh_shell
));
shell
=
(
struct
finsh_shell
*
)
rt_malloc
(
sizeof
(
struct
finsh_shell
));
if
(
shell
==
RT_NULL
)
{
rt_kprintf
(
"no memory for shell
\n
"
);
...
...
@@ -657,10 +662,10 @@ int finsh_system_init(void)
rt_sem_init
(
&
(
shell
->
rx_sem
),
"shrx"
,
0
,
0
);
result
=
rt_thread_init
(
&
finsh_thread
,
"tshell"
,
finsh_thread_entry
,
RT_NULL
,
&
finsh_thread_stack
[
0
],
sizeof
(
finsh_thread_stack
),
FINSH_THREAD_PRIORITY
,
10
);
"tshell"
,
finsh_thread_entry
,
RT_NULL
,
&
finsh_thread_stack
[
0
],
sizeof
(
finsh_thread_stack
),
FINSH_THREAD_PRIORITY
,
10
);
if
(
result
==
RT_EOK
)
rt_thread_startup
(
&
finsh_thread
);
...
...
components/libc/newlib/syscalls.c
浏览文件 @
91ae73e4
...
...
@@ -442,3 +442,8 @@ _system(const char *s)
/* not support this call */
return
;
}
void
__libc_init_array
(
void
)
{
/* we not use __libc init_aray to initialize C++ objects */
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录