| Age | Commit message (Collapse) | Author |
|
This reverts commit 07bd09fc0fc256e5c53ad3c6157802fd94c9910c.
The validation of the context is done with in `rt_set_errno`. So it's
safe to call it here.
|
|
Serial fix
|
|
|
|
The errno is associated with threads. It will crash the thread if we set
it in interrupt context.
|
|
Return early if the size is 0 as there is nothing to do.
|
|
K60: fix compile error
|
|
|
|
Log trace in mem
|
|
Rm48x50 next
|
|
After `log_trace_init()`, call `memlog_init`. It then turn the logtrace
into a "in-memory" logger which will buffer all the log in memory. It
also set a hook in idle to flush all the log into console. One may
create an other thread to flush the logs but idle might be the simplest
place to go.
|
|
|
|
initialize timer in bsp
|
|
With new timer algorithm, timer should be initialized during startup. So
add them to the bsps. Use these commands to get which bsp is missing
calling the function:
% git grep rt_system_timer_init bsp|sed -n 's|bsp/\([^/]*\).*|\1|p' | sort | uniq > have_tm_init
% ls -1 bsp |sed -n 's|\([^/]*\).*|\1|p' | sort > all_bsp
% comm -3 all_bsp have_tm_init
beaglebone
lpc176x
lpc178x
ls1bdev
mb9bf506r
stm32f10x
xplorer4330
|
|
We could not handle any traps except IRQ/FIQ.
|
|
|
|
|
|
|
|
|
|
|
|
kernel: timer: fix compiling bug in d59aa279c37b7
|
|
|
|
|
|
Finsh ex
|
|
We split the history handling form the key handling. So we could handle
the direction key even if the history is disabled. As a "side effect", I
also remove the unnecessary "use_history" bit.
|
|
kernel: use skip list to implement timer list
|
|
make sure the device is in STREAM mode when used by rt_kprintf.
|
|
UART DMA tx_complete() with buffer information
|
|
simulator/jffs2: remove _TIME_T_DEFINED when built by VC++
|
|
_TIME_T_DEFINED was pre-defined in order to build jffs2 with VC.
While it may cause many side effects.
|
|
simulator: add createdef.py to generate def file for VS
|
|
kernel: mutex could only be released in thread context
|
|
Now we can get rid off Mingw to create def file. To create def file, one
should run:
scons --def
in the bsp/simulator.
|
|
Mutex has the idea of ownership, only the thread which owns the mutex
can release it. So rt_mutex_release could only be called in thread
context. Add a debug guard to it.
|
|
Skip list is a "random" data structure that in high possibilities it
would get O(log(N)) time complexity in inserting while the old list get
O(N). Forthermore, when set RT_TIMER_SKIP_LIST_LEVEL to 1, it will just
the same as the old double linked list, both in time and space
complexity.
Benchmarks shows that when RT_TIMER_SKIP_LIST_LEVEL is 3, the average
time of random insertion of new timer is about 2 times faster than the
old timer when there are 100 timers and 3 times faster when there are
200 timers.
However, it restores the deprecated funcion rt_system_timer_init. BSPs
must invoke it upon system startup.
|
|
kernel: fix compiling error when RT_DEBUG is not defined
|
|
Define RT_DEBUG_IN_THREAD_CONTEXT when RT_DEBUG is not defined.
|
|
kernel: add RT_DEBUG_IN_THREAD_CONTEXT
|
|
In thread context means: 1) the scheduler has been started; 2) not in
interrupt context. It is more stronger than RT_DEBUG_NOT_IN_INTERRUPT.
With this commit, you will catch the error on situations like taking
mutex before scheduling instead of crashing on NULL pointer reference.
|
|
DFS: add dfs_file_flush prototype in dfs_file.h
|
|
log_trace: fix the memmove use
|
|
The first parameter of memmove is the dst, not src. Besides, fix the
wrong move size.
|
|
|
|
|
|
|
|
components/utilities: add ymodem
|
|
Real-YModem implemented a flexible YModem support. It use callback-based
structure to let the user application to deal with the data. It contains
3 examples:
1. echo.c: write the data recieved on YModem to an other device
2. null.c: discard the YModem data
3. tofile.c: write the data to the file system
Currently, it does not support batch file transmission.
|
|
|
|
|
|
|
|
scons script: support to generate vs2012 project xml
|