* [utest/mm] add testcase for create/init
format codes of create/init in components/mm
* [libcpu/aarch64] fix user stack check routine
* [kservice] export API for utest
* [utest/mm] testcase for aspace_map
format & modify the files under components/mm related with aspace_map
* [lwp/user_mm] add user_map_varea for mmap feature
* [mm] rename rt_mm_fault_try_fix to rt_aspace_fault_try_fix
* [utest/mm] testcase for synchronization
* [mm] modify unmap api to improve throughput
* [utest/mm] testcases for cache and varea map
* [format] remove extra space
* [utest/mm] fix testcase problem in header
* [lwp] extend map_user_varea with a flag
* [utest/mm] testcase for lwp_map_user_varea
* [libcpu/arm/cortex-a] fix kernel space layout
* [utest/mm] adjust for armv7 arch
* Synchronize the code of the rt mart branch to the master branch.
* TTY device
* Add lwP code from rt-smart
* Add vnode in DFS, but DFS will be re-write for rt-smart
* There are three libcpu for rt-smart:
* arm/cortex-a, arm/aarch64
* riscv64
Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
The RT_ASSERT(obj != object) line is only compiled for debug mode.
But the rt_enter/exit_critical causes the compiler not to optimize
at least these 2 calls, even if it could optimize out the whole loop,
because the rt_list_entry function has no side effect, and RT_ASSET
is a no-operation in release mode. So this patch fixes this:
- no warnings anymore
- better speed in release mode
版本控制规范:https://semver.org/
目前的版本子号不是很规范,其中RT_VERSION甚至和VS那边造成了冲突
```c
/* RT-Thread version information */
#define RT_VERSION 4L /**< major version number */
#define RT_SUBVERSION 1L /**< minor version number */
#define RT_REVISION 1L /**< revise version number */
```
参考ESP32:
```c
/** Major version number (X.x.x) */
#define ESP_ARDUINO_VERSION_MAJOR 2
/** Minor version number (x.X.x) */
#define ESP_ARDUINO_VERSION_MINOR 0
/** Patch version number (x.x.X) */
#define ESP_ARDUINO_VERSION_PATCH 3
```
建议改成:
```c
/* Major version number (X.x.x) */
#define RT_VERSION_MAJOR 4
/* Minor version number (x.X.x) */
#define RT_VERSION_MINOR 2
/* Patch version number (x.x.X) */
#define RT_VERSION_PATCH 0
```
* compile_ok
Issues fixed:
(1) update .config: select FINSH_USING_SYMTAB
(2) add rt_size_t in rtconfig_project.h
(3) fix finsh problems of using sym table
(4) update .project to include ipc source codes.
Todo list:
(1) automate the build source selection of ccs and reconcile it with scons
* change compiler
* msh can run now
the key step is to swap the order of rt_interrupt_nest -- and RT_OBJECT_HOOK_CALL(rt_interrupt_leave_hook,()) in irq.c. This is an improvised solution and an issue has been raised.
* Update 2837x_FLASH_lnk_cpu1.cmd
The original one is also fine. Just to make it more rigorous since FSymTab is in data section.
* update readme.md
Complier selection and maintainer update.
Co-authored-by: YuQi <qiyu_sjtu@163.com>