提交 8e439999 编写于 作者: B bernard

Prepare for RT-Thread 1.2.4 release.

上级 7e871b0d
...@@ -27,5 +27,6 @@ ...@@ -27,5 +27,6 @@
#include <rtthread.h> #include <rtthread.h>
int devfs_init(void); int devfs_init(void);
void rt_console_init(const char* device_name);
#endif #endif
...@@ -211,7 +211,11 @@ int cmd_free(int argc, char** argv) ...@@ -211,7 +211,11 @@ int cmd_free(int argc, char** argv)
{ {
extern void list_mem(void); extern void list_mem(void);
#ifdef RT_USING_MEMHEAP_AS_HEAP
list_memheap();
#else
list_mem(); list_mem();
#endif
return 0; return 0;
} }
FINSH_FUNCTION_EXPORT_ALIAS(cmd_free, __cmd_free, Show the memory usage in the system.); FINSH_FUNCTION_EXPORT_ALIAS(cmd_free, __cmd_free, Show the memory usage in the system.);
......
...@@ -168,7 +168,8 @@ int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode) ...@@ -168,7 +168,8 @@ int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode)
console_device = rt_console_get_device(); console_device = rt_console_get_device();
if (console_device != 0) rt_device_write(console_device, 0, buf, len); if (console_device != 0) rt_device_write(console_device, 0, buf, len);
return len;
return 0;
#endif #endif
} }
......
...@@ -54,6 +54,7 @@ long int atol(const char* s) ...@@ -54,6 +54,7 @@ long int atol(const char* s)
return sign?-v:v; return sign?-v:v;
} }
#ifdef RT_USING_HEAP
void *malloc(size_t size) void *malloc(size_t size)
{ {
return rt_malloc(size); return rt_malloc(size);
...@@ -73,5 +74,6 @@ void *calloc(size_t nelem, size_t elsize) ...@@ -73,5 +74,6 @@ void *calloc(size_t nelem, size_t elsize)
{ {
return rt_calloc(nelem, elsize); return rt_calloc(nelem, elsize);
} }
#endif
#endif #endif
...@@ -9,6 +9,15 @@ ...@@ -9,6 +9,15 @@
#include <pthread.h> #include <pthread.h>
#endif #endif
#ifdef RT_USING_DFS
#include <dfs_posix.h>
#ifdef RT_USING_DFS_DEVFS
#include <devfs.h>
#endif
#endif
void libc_system_init(const char* tty_name) void libc_system_init(const char* tty_name)
{ {
#ifdef RT_USING_DFS #ifdef RT_USING_DFS
...@@ -18,13 +27,16 @@ void libc_system_init(const char* tty_name) ...@@ -18,13 +27,16 @@ void libc_system_init(const char* tty_name)
#error Please enable devfs by defining RT_USING_DFS_DEVFS in rtconfig.h #error Please enable devfs by defining RT_USING_DFS_DEVFS in rtconfig.h
#endif #endif
/* init console device */ /* initialize console device */
rt_console_init(tty_name); rt_console_init(tty_name);
/* open console as stdin/stdout/stderr */ /* open console as stdin/stdout/stderr */
fd = open("/dev/console", O_RDONLY, 0); /* for stdin */ fd = open("/dev/console", O_RDONLY, 0); /* for stdin */
fd = open("/dev/console", O_WRONLY, 0); /* for stdout */ fd = open("/dev/console", O_WRONLY, 0); /* for stdout */
fd = open("/dev/console", O_WRONLY, 0); /* for stderr */ fd = open("/dev/console", O_WRONLY, 0); /* for stderr */
/* skip warning */
fd = fd;
#endif #endif
/* set PATH and HOME */ /* set PATH and HOME */
......
...@@ -174,6 +174,18 @@ static rt_err_t _rym_trans_data( ...@@ -174,6 +174,18 @@ static rt_err_t _rym_trans_data(
return -RYM_ERR_SEQ; return -RYM_ERR_SEQ;
} }
/* As we are sending C continuously, there is a chance that the
* sender(remote) receive an C after sending the first handshake package.
* So the sender will interpret it as NAK and re-send the package. So we
* just ignore it and proceed. */
if (ctx->stage == RYM_STAGE_ESTABLISHED && ctx->buf[1] == 0x00)
{
*code = RYM_CODE_NONE;
return RT_EOK;
}
ctx->stage = RYM_STAGE_TRANSMITTING;
/* sanity check */ /* sanity check */
recv_crc = (rt_uint16_t)(*(ctx->buf+tsz-1) << 8) | *(ctx->buf+tsz); recv_crc = (rt_uint16_t)(*(ctx->buf+tsz-1) << 8) | *(ctx->buf+tsz);
if (recv_crc != CRC16(ctx->buf+3, data_sz)) if (recv_crc != CRC16(ctx->buf+3, data_sz))
...@@ -214,7 +226,6 @@ static rt_err_t _rym_do_trans(struct rym_ctx *ctx) ...@@ -214,7 +226,6 @@ static rt_err_t _rym_do_trans(struct rym_ctx *ctx)
default: default:
return -RYM_ERR_CODE; return -RYM_ERR_CODE;
}; };
ctx->stage = RYM_STAGE_TRANSMITTING;
err = _rym_trans_data(ctx, data_sz, &code); err = _rym_trans_data(ctx, data_sz, &code);
if (err != RT_EOK) if (err != RT_EOK)
......
...@@ -52,7 +52,12 @@ enum rym_code { ...@@ -52,7 +52,12 @@ enum rym_code {
#endif #endif
/* how many ticks between two handshake code. */ /* how many ticks between two handshake code. */
#ifndef RYM_CHD_INTV_TICK #ifndef RYM_CHD_INTV_TICK
#define RYM_CHD_INTV_TICK (RT_TICK_PER_SECOND / 4) #define RYM_CHD_INTV_TICK (RT_TICK_PER_SECOND * 3)
#endif
/* how many CAN be sent when user active end the session. */
#ifndef RYM_END_SESSION_SEND_CAN_NUM
#define RYM_END_SESSION_SEND_CAN_NUM 0x07
#endif #endif
enum rym_stage { enum rym_stage {
...@@ -61,7 +66,8 @@ enum rym_stage { ...@@ -61,7 +66,8 @@ enum rym_stage {
RYM_STAGE_ESTABLISHING, RYM_STAGE_ESTABLISHING,
/* set when we've got the packet 0 and sent ACK and second C */ /* set when we've got the packet 0 and sent ACK and second C */
RYM_STAGE_ESTABLISHED, RYM_STAGE_ESTABLISHED,
/* set when the sender respond to our second C */ /* set when the sender respond to our second C and recviever got a real
* data packet. */
RYM_STAGE_TRANSMITTING, RYM_STAGE_TRANSMITTING,
/* set when the sender send a EOT */ /* set when the sender send a EOT */
RYM_STAGE_FINISHING, RYM_STAGE_FINISHING,
......
...@@ -50,7 +50,7 @@ extern "C" { ...@@ -50,7 +50,7 @@ extern "C" {
/* RT-Thread version information */ /* RT-Thread version information */
#define RT_VERSION 1L /**< major version number */ #define RT_VERSION 1L /**< major version number */
#define RT_SUBVERSION 2L /**< minor version number */ #define RT_SUBVERSION 2L /**< minor version number */
#define RT_REVISION 3L /**< revise version number */ #define RT_REVISION 4L /**< revise version number */
/* RT-Thread version */ /* RT-Thread version */
#define RTTHREAD_VERSION ((RT_VERSION * 10000) + \ #define RTTHREAD_VERSION ((RT_VERSION * 10000) + \
......
...@@ -517,6 +517,8 @@ void rt_memheap_free(void *ptr) ...@@ -517,6 +517,8 @@ void rt_memheap_free(void *ptr)
/* check magic */ /* check magic */
RT_ASSERT((header_ptr->magic & RT_MEMHEAP_MASK) == RT_MEMHEAP_MAGIC); RT_ASSERT((header_ptr->magic & RT_MEMHEAP_MASK) == RT_MEMHEAP_MAGIC);
/* check whether this block of memory has been over-written. */
RT_ASSERT((header_ptr->next->magic & RT_MEMHEAP_MASK) == RT_MEMHEAP_MAGIC);
/* get pool ptr */ /* get pool ptr */
heap = header_ptr->pool_ptr; heap = header_ptr->pool_ptr;
......
...@@ -82,7 +82,7 @@ static struct rt_module_symtab *_rt_module_symtab_end = RT_NULL; ...@@ -82,7 +82,7 @@ static struct rt_module_symtab *_rt_module_symtab_end = RT_NULL;
*/ */
int rt_system_module_init(void) int rt_system_module_init(void)
{ {
#ifdef __GNUC__ #if defined(__GNUC__) && !defined(__CC_ARM)
extern int __rtmsymtab_start; extern int __rtmsymtab_start;
extern int __rtmsymtab_end; extern int __rtmsymtab_end;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册