Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
rt-thread
提交
350b1080
R
rt-thread
项目概览
BaiXuePrincess
/
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看板
提交
350b1080
编写于
7月 19, 2014
作者:
B
Bernard Xiong
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #303 from BernardXiong/stable-v1.2.x
Merge 2.0.0 modification to prepare v1.2.2 release.
上级
61712bbd
50e7ae7e
变更
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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
/*
* 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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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
浏览文件 @
350b1080
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录