Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
宁楠萍
rt-thread
提交
50e7ae7e
R
rt-thread
项目概览
宁楠萍
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
50e7ae7e
编写于
7月 19, 2014
作者:
B
bernard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Merge 2.0.0 modification to prepare v1.2.2 release.
上级
61712bbd
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
130 addition
and
47 deletion
+130
-47
bsp/ls1bdev/ls1b_ram.lds
bsp/ls1bdev/ls1b_ram.lds
+6
-0
bsp/stm32f40x/stm32_rom.ld
bsp/stm32f40x/stm32_rom.ld
+2
-2
components/external/libpng/pngconf.h
components/external/libpng/pngconf.h
+2
-0
components/external/tjpgd1a/SConscript
components/external/tjpgd1a/SConscript
+1
-1
components/external/tjpgd1a/tjpgd.c
components/external/tjpgd1a/tjpgd.c
+1
-1
components/finsh/shell.c
components/finsh/shell.c
+6
-0
components/libc/armlibc/stubs.c
components/libc/armlibc/stubs.c
+9
-4
components/net/lwip-1.4.1/src/arch/sys_arch.c
components/net/lwip-1.4.1/src/arch/sys_arch.c
+1
-1
components/net/lwip-1.4.1/src/include/netif/ethernetif.h
components/net/lwip-1.4.1/src/include/netif/ethernetif.h
+4
-0
components/net/lwip-1.4.1/src/lwipopts.h
components/net/lwip-1.4.1/src/lwipopts.h
+15
-7
components/utilities/logtrace/log_trace.c
components/utilities/logtrace/log_trace.c
+11
-10
components/utilities/logtrace/log_trace.h
components/utilities/logtrace/log_trace.h
+39
-3
components/utilities/ymodem/ymodem.c
components/utilities/ymodem/ymodem.c
+15
-10
include/rtdef.h
include/rtdef.h
+1
-1
src/device.c
src/device.c
+7
-5
src/timer.c
src/timer.c
+10
-2
未找到文件。
bsp/ls1bdev/ls1b_ram.lds
浏览文件 @
50e7ae7e
...
...
@@ -46,6 +46,12 @@ SECTIONS
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
}
. = ALIGN(4);
...
...
bsp/stm32f40x/stm32_rom.ld
浏览文件 @
50e7ae7e
...
...
@@ -6,8 +6,8 @@
/* Program Entry, set to mark it as "used" and avoid gc */
MEMORY
{
CODE (rx) : ORIGIN = 0x08000000, LENGTH =
512k /* 512
KB flash */
DATA (rw) : ORIGIN = 0x20000000, LENGTH =
64k /* 64
K sram */
CODE (rx) : ORIGIN = 0x08000000, LENGTH =
1024k /* 1024
KB flash */
DATA (rw) : ORIGIN = 0x20000000, LENGTH =
128k /* 128
K sram */
}
ENTRY(Reset_Handler)
_system_stack_size = 0x100;
...
...
components/external/libpng/pngconf.h
浏览文件 @
50e7ae7e
...
...
@@ -23,6 +23,8 @@
#include <rtthread.h>
#define PNG_MAX_MALLOC_64K
#define PNG_NO_STDIO
#define PNG_NO_ERROR_NUMBERS
#define PNG_ABORT() do { rt_kprintf("libpng abort.\n"); } while (0)
#ifndef RT_USING_NEWLIB
#define PNG_NO_WRITE_SUPPORTED
...
...
components/external/tjpgd1a/SConscript
浏览文件 @
50e7ae7e
...
...
@@ -8,7 +8,7 @@ tjpgd.c
CPPPATH
=
[
RTT_ROOT
+
'/components/external/tjpgd1a'
]
group
=
DefineGroup
(
'
tjpgd'
,
src
,
depend
=
[
'RTGUI_IMAGE_TJPGD'
],
CPPPATH
=
CPPPATH
)
group
=
DefineGroup
(
'
RTGUI'
,
src
,
depend
=
[
'RT_USING_RTGUI'
,
'RTGUI_IMAGE_TJPGD'
],
CPPPATH
=
CPPPATH
)
Return
(
'group'
)
components/external/tjpgd1a/tjpgd.c
浏览文件 @
50e7ae7e
...
...
@@ -525,7 +525,7 @@ JRESULT mcu_load (
}
while
(
++
i
<
64
);
/* Next AC element */
if
(
JD_USE_SCALE
&&
jd
->
scale
==
3
)
*
bp
=
(
*
tmp
/
256
)
+
128
;
/* If scale ratio is 1/8, IDCT can be ommited and only DC element is used */
*
bp
=
(
BYTE
)((
*
tmp
/
256
)
+
128
)
;
/* If scale ratio is 1/8, IDCT can be ommited and only DC element is used */
else
block_idct
(
tmp
,
bp
);
/* Apply IDCT and store the block to the MCU buffer */
...
...
components/finsh/shell.c
浏览文件 @
50e7ae7e
...
...
@@ -530,6 +530,12 @@ 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
;
}
}
/* end of device read */
}
}
...
...
components/libc/armlibc/stubs.c
浏览文件 @
50e7ae7e
...
...
@@ -46,8 +46,10 @@ const char __stderr_name[] = "STDERR";
*/
FILEHANDLE
_sys_open
(
const
char
*
name
,
int
openmode
)
{
#ifdef RT_USING_DFS
int
fd
;
#endif
/* Register standard Input Output devices. */
if
(
strcmp
(
name
,
__stdin_name
)
==
0
)
return
(
STDIN
);
...
...
@@ -91,12 +93,13 @@ int _sys_close(FILEHANDLE fh)
*/
int
_sys_read
(
FILEHANDLE
fh
,
unsigned
char
*
buf
,
unsigned
len
,
int
mode
)
{
#ifdef RT_USING_DFS
int
size
;
#endif
if
(
fh
==
STDIN
)
{
/* TODO */
return
0
;
}
...
...
@@ -125,8 +128,10 @@ int _sys_read(FILEHANDLE fh, unsigned char *buf, unsigned len, int mode)
*/
int
_sys_write
(
FILEHANDLE
fh
,
const
unsigned
char
*
buf
,
unsigned
len
,
int
mode
)
{
#ifdef RT_USING_DFS
int
size
;
#endif
if
((
fh
==
STDOUT
)
||
(
fh
==
STDERR
))
{
#ifndef RT_USING_CONSOLE
...
...
components/net/lwip-1.4.1/src/arch/sys_arch.c
浏览文件 @
50e7ae7e
...
...
@@ -108,7 +108,7 @@ static void tcpip_init_done_callback(void *arg)
netif_set_up
(
ethif
->
netif
);
}
#if
def
LWIP_NETIF_LINK_CALLBACK
#if LWIP_NETIF_LINK_CALLBACK
netif_set_link_up
(
ethif
->
netif
);
#endif
...
...
components/net/lwip-1.4.1/src/include/netif/ethernetif.h
浏览文件 @
50e7ae7e
...
...
@@ -5,7 +5,11 @@
#include <rtthread.h>
#define NIOCTL_GADDR 0x01
#ifndef RT_LWIP_ETH_MTU
#define ETHERNET_MTU 1500
#else
#define ETHERNET_MTU RT_LWIP_ETH_MTU
#endif
struct
eth_device
{
...
...
components/net/lwip-1.4.1/src/lwipopts.h
浏览文件 @
50e7ae7e
...
...
@@ -38,8 +38,9 @@
#define LWIP_PLATFORM_BYTESWAP 0
#define BYTE_ORDER LITTLE_ENDIAN
/* Enable SO_RCVTIMEO processing. */
/* Enable SO_RCVTIMEO
/LWIP_SO_SNDTIMEO
processing. */
#define LWIP_SO_RCVTIMEO 1
#define LWIP_SO_SNDTIMEO 1
/* #define RT_LWIP_DEBUG */
...
...
@@ -117,6 +118,8 @@
/* the number of simultaneously queued TCP */
#ifdef RT_LWIP_TCP_SEG_NUM
#define MEMP_NUM_TCP_SEG RT_LWIP_TCP_SEG_NUM
#else
#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN
#endif
...
...
@@ -135,12 +138,12 @@
/* ---------- Pbuf options ---------- */
/* PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */
#ifdef RT_LWIP_PBUF_NUM
#define PBUF_POOL_SIZE RT_LWIP_PBUF_NUM
#define PBUF_POOL_SIZE
RT_LWIP_PBUF_NUM
#endif
/* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. */
#ifdef RT_LWIP_PBUF_POOL_BUFSIZE
#define PBUF_POOL_BUFSIZE
RT_LWIP_PBUF_POOL_BUFSIZE
#define PBUF_POOL_BUFSIZE
RT_LWIP_PBUF_POOL_BUFSIZE
#endif
/* PBUF_LINK_HLEN: the number of bytes that should be allocated for a
...
...
@@ -176,7 +179,7 @@
/* TCP sender buffer space (bytes). */
#ifdef RT_LWIP_TCP_SND_BUF
#define TCP_SND_BUF
RT_LWIP_TCP_SND_BUF
#define TCP_SND_BUF
RT_LWIP_TCP_SND_BUF
#else
#define TCP_SND_BUF (TCP_MSS * 2)
#endif
...
...
@@ -230,10 +233,15 @@
/* IP reassembly and segmentation.These are orthogonal even
* if they both deal with IP fragments */
#define IP_REASSEMBLY 0
#ifdef RT_LWIP_REASSEMBLY_FRAG
#define IP_REASSEMBLY 1
#define IP_FRAG 1
#define IP_REASS_MAX_PBUFS 10
#define MEMP_NUM_REASSDATA 10
#else
#define IP_REASSEMBLY 0
#define IP_FRAG 0
#endif
/* ---------- ICMP options ---------- */
#define ICMP_TTL 255
...
...
@@ -307,7 +315,7 @@
* in this file.
*/
#ifdef RT_LWIP_PPPOE
#define PPPOE_SUPPORT
1
#define PPPOE_SUPPORT
1
#else
#define PPPOE_SUPPORT 0
#endif
...
...
@@ -315,7 +323,7 @@
#ifdef RT_LWIP_PPPOS
#define PPPOS_SUPPORT 1
#else
#define PPPOS_SUPPORT
0
#define PPPOS_SUPPORT
0
#endif
#define PAP_SUPPORT 1
/* Set > 0 for PAP. */
...
...
components/utilities/logtrace/log_trace.c
浏览文件 @
50e7ae7e
...
...
@@ -42,7 +42,7 @@ static rt_device_t _traceout_device = RT_NULL;
/* define a default lg session. The name is empty. */
static
struct
log_trace_session
_def_session
=
{{
"
\0
"
},
LOG_TRACE_LEVEL_INFO
};
static
struct
log_trace_session
*
_the_sessions
[
LOG_TRACE_MAX_SESSION
]
=
{
&
_def_session
};
static
const
struct
log_trace_session
*
_the_sessions
[
LOG_TRACE_MAX_SESSION
]
=
{
&
_def_session
};
/* there is a default session at least */
static
rt_uint16_t
_the_sess_nr
=
1
;
...
...
@@ -83,11 +83,11 @@ rt_inline int _idname_len(log_trace_idnum_t id)
*/
static
struct
log_trace_session
*
_lg_lookup_session
(
log_trace_idnum_t
num
)
{
static
struct
log_trace_session
*
_cache
=
&
_def_session
;
static
const
struct
log_trace_session
*
_cache
=
&
_def_session
;
rt_uint16_t
first
,
last
;
if
(
_cache
->
id
.
num
==
num
)
return
_cache
;
return
(
struct
log_trace_session
*
)
_cache
;
first
=
0
;
last
=
_the_sess_nr
;
...
...
@@ -104,7 +104,7 @@ static struct log_trace_session* _lg_lookup_session(log_trace_idnum_t num)
* process and we wrote the old one to _cache. But it doesn't harm
* a lot because it will be flushed in the next time. */
_cache
=
_the_sessions
[
i
];
return
_the_sessions
[
i
];
return
(
struct
log_trace_session
*
)
_the_sessions
[
i
];
}
else
if
(
_the_sessions
[
i
]
->
id
.
num
>
num
)
{
...
...
@@ -119,7 +119,7 @@ static struct log_trace_session* _lg_lookup_session(log_trace_idnum_t num)
return
RT_NULL
;
}
rt_err_t
log_trace_register_session
(
struct
log_trace_session
*
session
)
rt_err_t
log_trace_register_session
(
const
struct
log_trace_session
*
session
)
{
unsigned
int
lvl
,
i
;
...
...
@@ -255,8 +255,9 @@ static rt_size_t _lg_parse_session(
return
0
;
}
static
void
_lg_fmtout
(
struct
log_trace_session
*
session
,
const
char
*
fmt
,
va_list
argptr
)
void
__logtrace_vfmtout
(
const
struct
log_trace_session
*
session
,
const
char
*
fmt
,
va_list
argptr
)
{
/* 1 for ']' */
static
char
_trace_buf
[
1
+
LOG_TRACE_BUFSZ
];
...
...
@@ -303,12 +304,12 @@ void log_trace(const char *fmt, ...)
return
;
va_start
(
args
,
fmt
);
_
lg_
fmtout
(
session
,
fmt
,
args
);
_
_logtrace_v
fmtout
(
session
,
fmt
,
args
);
va_end
(
args
);
}
FINSH_FUNCTION_EXPORT
(
log_trace
,
log
trace
);
void
log_session
(
struct
log_trace_session
*
session
,
const
char
*
fmt
,
...)
void
log_session
(
const
struct
log_trace_session
*
session
,
const
char
*
fmt
,
...)
{
va_list
args
;
int
level
;
...
...
@@ -321,7 +322,7 @@ void log_session(struct log_trace_session *session, const char *fmt, ...)
return
;
va_start
(
args
,
fmt
);
_
lg_
fmtout
(
session
,
fmt
,
args
);
_
_logtrace_v
fmtout
(
session
,
fmt
,
args
);
va_end
(
args
);
}
...
...
components/utilities/logtrace/log_trace.h
浏览文件 @
50e7ae7e
/*
* File : log_trace.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2013, RT-Thread Development Team
* COPYRIGHT (C) 2013
-2014
, RT-Thread Development Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
...
...
@@ -95,7 +95,7 @@ void log_trace_init(void);
*
* @return RT_EOK on success. -RT_EFULL if there is no space for registration.
*/
rt_err_t
log_trace_register_session
(
struct
log_trace_session
*
session
);
rt_err_t
log_trace_register_session
(
const
struct
log_trace_session
*
session
);
/** find a session with name
*
...
...
@@ -130,7 +130,43 @@ void log_trace(const char *fmt, ...);
* "[systick][name]log messages". The name is the name of the session. It is
* faster than bare log_trace.
*/
void
log_session
(
struct
log_trace_session
*
session
,
const
char
*
fmt
,
...);
void
log_session
(
const
struct
log_trace_session
*
session
,
const
char
*
fmt
,
...);
extern
void
__logtrace_vfmtout
(
const
struct
log_trace_session
*
session
,
const
char
*
fmt
,
va_list
argptr
);
rt_inline
void
__logtrace_fmtout
(
const
struct
log_trace_session
*
session
,
const
char
*
fmt
,
...)
{
va_list
args
;
va_start
(
args
,
fmt
);
__logtrace_vfmtout
(
session
,
fmt
,
args
);
va_end
(
args
);
}
/**
* log with numeric level
*
* The prototype of this function is:
*
* void log_session_lvl(struct log_trace_session *session,
* int lvl,
* const char *fmt, ...);
*
* If the @session is const and @level is greater than @session->lvl, the whole
* function will be optimized out. This is suitable for performance critical
* places where in most cases, the log is turned off by level.
*/
#define log_session_lvl(session, level, fmt, ...) \
do { \
if ((level) > (session)->lvl) \
{ \
break; \
} \
__logtrace_fmtout(session, fmt, ##__VA_ARGS__); \
} while (0)
/* here comes the global part. All sessions share the some output backend. */
...
...
components/utilities/ymodem/ymodem.c
浏览文件 @
50e7ae7e
...
...
@@ -70,18 +70,23 @@ static enum rym_code _rym_read_code(
struct
rym_ctx
*
ctx
,
rt_tick_t
timeout
)
{
/* consume the available sem and read the data in buffer if possible */
while
(
rt_sem_trytake
(
&
ctx
->
sem
)
==
RT_EOK
)
;
/* Fast path */
if
(
rt_device_read
(
ctx
->
dev
,
0
,
ctx
->
buf
,
1
)
==
1
)
return
*
ctx
->
buf
;
/* no data yet, wait for one */
if
(
rt_sem_take
(
&
ctx
->
sem
,
timeout
)
!=
RT_EOK
)
return
RYM_CODE_NONE
;
/* read one */
if
(
rt_device_read
(
ctx
->
dev
,
0
,
ctx
->
buf
,
1
)
==
1
)
return
*
ctx
->
buf
;
return
RYM_CODE_NONE
;
/* Slow path */
do
{
rt_size_t
rsz
;
/* No data yet, wait for one */
if
(
rt_sem_take
(
&
ctx
->
sem
,
timeout
)
!=
RT_EOK
)
return
RYM_CODE_NONE
;
/* Try to read one */
rsz
=
rt_device_read
(
ctx
->
dev
,
0
,
ctx
->
buf
,
1
);
if
(
rsz
==
1
)
return
*
ctx
->
buf
;
}
while
(
1
);
}
/* the caller should at least alloc _RYM_STX_PKG_SZ buffer */
...
...
include/rtdef.h
浏览文件 @
50e7ae7e
...
...
@@ -50,7 +50,7 @@ extern "C" {
/* RT-Thread version information */
#define RT_VERSION 1L
/**< major version number */
#define RT_SUBVERSION 2L
/**< minor version number */
#define RT_REVISION
1
L
/**< revise version number */
#define RT_REVISION
2
L
/**< revise version number */
/* RT-Thread version */
#define RTTHREAD_VERSION ((RT_VERSION * 10000) + \
...
...
src/device.c
浏览文件 @
50e7ae7e
...
...
@@ -239,11 +239,6 @@ rt_err_t rt_device_open(rt_device_t dev, rt_uint16_t oflag)
return
-
RT_EBUSY
;
}
dev
->
ref_count
++
;
/* don't let bad things happen silently. If you are bitten by this assert,
* please set the ref_count to a bigger type. */
RT_ASSERT
(
dev
->
ref_count
!=
0
);
/* call device open interface */
if
(
dev
->
open
!=
RT_NULL
)
{
...
...
@@ -252,8 +247,15 @@ rt_err_t rt_device_open(rt_device_t dev, rt_uint16_t oflag)
/* set open flag */
if
(
result
==
RT_EOK
||
result
==
-
RT_ENOSYS
)
{
dev
->
open_flag
=
oflag
|
RT_DEVICE_OFLAG_OPEN
;
dev
->
ref_count
++
;
/* don't let bad things happen silently. If you are bitten by this assert,
* please set the ref_count to a bigger type. */
RT_ASSERT
(
dev
->
ref_count
!=
0
);
}
return
result
;
}
RTM_EXPORT
(
rt_device_open
);
...
...
src/timer.c
浏览文件 @
50e7ae7e
...
...
@@ -128,6 +128,7 @@ rt_inline void _rt_timer_remove(rt_timer_t timer)
}
}
#if RT_DEBUG_TIMER
static
int
rt_timer_count_height
(
struct
rt_timer
*
timer
)
{
int
i
,
cnt
=
0
;
...
...
@@ -155,6 +156,7 @@ void rt_timer_dump(rt_list_t timer_heads[])
}
rt_kprintf
(
"
\n
"
);
}
#endif
/**
* @addtogroup Clock
...
...
@@ -298,8 +300,14 @@ rt_err_t rt_timer_start(rt_timer_t timer)
/* timer check */
RT_ASSERT
(
timer
!=
RT_NULL
);
if
(
timer
->
parent
.
flag
&
RT_TIMER_FLAG_ACTIVATED
)
return
-
RT_ERROR
;
/* stop timer firstly */
level
=
rt_hw_interrupt_disable
();
/* remove timer from list */
_rt_timer_remove
(
timer
);
/* change status of timer */
timer
->
parent
.
flag
&=
~
RT_TIMER_FLAG_ACTIVATED
;
rt_hw_interrupt_enable
(
level
);
RT_OBJECT_HOOK_CALL
(
rt_object_take_hook
,
(
&
(
timer
->
parent
)));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录