Commit Graph

322 Commits

Author SHA1 Message Date
Meco Man 211090203b [kernel] remove RT_THREAD_BLOCK 2022-01-14 23:04:22 +08:00
Bernard Xiong 43e7186a99
Merge pull request #5443 from mysterywolf/removeinit
[kernel] remove .init_priority
2022-01-14 22:55:54 +08:00
guo ac4b5e1216
Merge pull request #5503 from whj4674672/notes
update notes
2022-01-13 15:42:39 +08:00
Man, Jianting (Meco) c6852aa306
Merge branch 'master' into removeinit 2022-01-10 14:25:46 -05:00
wanghaijing 2fa44bdef4 update notes 2022-01-10 18:03:00 +08:00
Gabriel Wang 844f2ef76f
Merge branch 'master' into master 2022-01-08 20:07:54 +00:00
tangyuxin 09f439bcc2 [memheap] Fix 64 bit potential risk 2022-01-08 15:50:14 +08:00
Gabriel Wang d7b8cf81e6 move some __on_rt_xxxxx_hook from rtdef.h to dedicated c soure files 2022-01-07 23:35:44 +00:00
Gabriel Wang b627414f67 Improving hooking methods
- Backward compatible with existing function-pointer based hooking method
- Using RT_USING_HOOK as an on/off switch
- Introducing a new low-overhead macro-based hooking method
2022-01-05 15:48:42 +08:00
Meco Man 5187d75af5 [armclang] 使用__clang__代替__CLANG_ARM 2021-12-29 14:15:38 -05:00
Wayne Lin e8f4208bb2 Update LVGLv81 porting.
1. Add RTGRAPHIC_CTRL_PAN_DISPLAY and RTGRAPHIC_CTRL_WAIT_VSYNC control command.
2. Add calibration data of 480x272 ADC touching.
3. Add 480x272 LCD panel menu option and driver.
4. Update lv_conf.h.
2021-12-30 01:39:17 +08:00
Meco Man 1f2e93f1a3 [kernel] remove .init_priority 2021-12-27 20:34:35 -05:00
Meco Man 2c1077692b [rtdef] 将defined(__CC_ARM) || defined(__CLANG_ARM)并为defined(__ARMCC_VERSION) 2021-12-27 00:51:22 +08:00
Meco Man 923fb0c146 [rtdef] re-implement RT_UNUSED 2021-12-27 00:51:22 +08:00
Tangyuxin d724eed9fc
分离内存分配接口与内存分配算法 (#5175)
* [kernel][mem] Multiple instances of small memory allocation algorithm

* [kernel][mem] Change small memory management algorithm memory header flag

* [kernel][mem] Fix assertion problem

* [kernel][slab] Multiple instances of slab memory management algorithm

* [kernel][memheap] Remove rt_malloc/rt_free/rt_realloc and other related memory interfaces

* [kernel][mem] Clean up memory space of small memory management objects

* [kernel][kservice] Add memory application interface and thread protection interface

* [kernel][kservice] Fix function return value problem

* [kernel][memheap] Optimize memheaptrace print

* [kernel][memheap] Support best mode

* [kernel][memory] Remove semaphore lock

* [kernel][memheap] Add locked flag

* [kernel][memory] Support malloc memory in interrupt

* [kernel][memheap] Add 'memheapcheck' cmd

* [kernel][mem] Fix failure to request full memory

* [kernel][memheap] Fix compilation warning

* [kernel][mem] Fix mem realloc ASSERT

* [examples][testcases] Add small mem testcase

* [examples][mem_tc] Modify test memory size

* [examples][testcases] Add slab memory management algorithm test case

* [examples][testcases] fix small memory management algorithm test case

* [kernel][memory] Adjusting memory allocation algorithm object definition and interface

* [kernel][memory] Fix compilation warning

* [examples][utest] Fix mem test case

* [examples][utest] fix slab test case

* [utest][testcases] Shorten test time

* [kernel][memory] Formatting code

* [examples][utest] Adjust test run time

* [examples][utest] Formatting code

* [bsp] update all rtconfig.h
2021-12-16 16:23:58 +08:00
Meco Man 7c789d4b11 revise some RT_USING_POSIX to RT_USING_POSIX_DEVIO 2021-11-24 09:47:55 -05:00
Bernard Xiong 6a6b43fe3e
Merge pull request #5261 from mysterywolf/weak
[kernel] prepare to support full functional sprintf-family functions
2021-11-24 17:38:15 +08:00
Meco Man cefc77ad11 modify rt_size_t's type 2021-11-22 19:16:11 -05:00
Meco Man cc44316410 [master] modify version to v4.1.0 2021-11-19 17:27:43 -05:00
Meco Man e82fe76a0f fix rt_size_t as rt_uint32_t 2021-11-16 12:06:55 -05:00
armink a4619732df [DeviceDriver] Change the special device commands form 0x1X to 0x2X. It will avoid same of general device commands. 2021-09-29 17:15:40 +08:00
Bernard Xiong 8da9f78d72 [libc] remove rtlibc 2021-09-11 11:07:51 +08:00
马志远 221da7f464 Remove C Style Command Shell 2021-08-23 17:30:05 +08:00
Man, Jianting (Meco) 3e6578916f
Merge branch 'master' into security 2021-08-17 16:56:10 -05:00
lymzzyh 1e51b40d57 Add device type USBOTG to redef.h 2021-08-13 16:29:37 +08:00
Meco Man fc094e9211 [rtlibc] remove libc_signal.h and libc_fdset.h 2021-07-21 19:42:38 +08:00
guozhanxin 40e7d5a23d Merge remote-tracking branch 'remotes/gitee/master' 2021-07-12 10:14:20 +08:00
iysheng a2a7f3c2d9 [components][rtc] Add RTC framework V2.0 to simplify RTC registration process 2021-07-08 22:41:06 +08:00
fenghuijie 0015af02e4 调整代码,以支持cpu usage 2021-07-05 18:33:22 +08:00
fenghuijie e933c1f610 调整异常处理代码结构,以支持backtrace功能 2021-07-05 14:43:33 +08:00
armink c61419b69b Update the version number to 4.0.4 2021-05-10 09:10:54 +08:00
Meco Man 8e2a456d7a implement set_timeval 2021-04-15 14:01:55 +08:00
armink b027ad8b2e [DeviceDriver] Add get/set microsecond time control command 2021-04-14 20:06:39 +08:00
tangyuxin 015418fa9b [bsp][simulator] 支持自动初始化及用户 main 入口 2021-04-01 17:01:14 +08:00
crazt 7272da20c2 [toolchain] fix TASKING toolchain attributes . 2021-03-23 19:11:22 +08:00
crazt 2517907b48 [toolchain] TASKING toolchain attributes update. 2021-03-20 10:42:47 +08:00
Meco Man 37a9231e62 [kernel][devices] add security devices 2021-03-19 13:26:12 +08:00
Bernard Xiong b9fca2fced
Merge pull request #4411 from yangfasheng/master
【更新】调整图形设备驱动相关定义
2021-03-12 08:32:46 +08:00
Meco Man 2fd265406e [include] auto formatted 2021-03-08 17:22:21 +08:00
yangfasheng 2892faccc8 【更新】调整图形设备驱动相关定义
Signed-off-by: yangfasheng <yangfasheng@live.com>
2021-03-05 10:08:49 +08:00
cliff-cmc eea0c3d74a Add memtrace command for memheap.c 2021-02-26 11:45:19 +08:00
liruncong f5ede64c83 [include]SECTION=>RT_SECTION(与catch2中SECTION冲突) 2021-02-09 23:25:16 +08:00
tangweikang b1cdc3a2cb [toolchain] Added support for the TASKING toolchain. 2021-02-07 12:06:02 +08:00
Bernard Xiong 065488e746
Merge pull request #3956 from xfwangqiang/gcc-fix
[Components]&&[BSP][imxrt]add ethernet configuration for imxrt1064-nxp-evk
2020-11-13 07:10:16 +08:00
mysterywolf 98f0cfbf6e define maximum value of ipc type 2020-10-23 01:04:06 +08:00
WangQiang 502378cf93 1. 抽象了PHY的设备模型,在components中增加了PHY设备的相关代码以及KCONFIG配置和SConscript脚本
2. 在IMXRT的Libraries中增加了peripherals目录,用于具体型号的设备驱动相关的代码的实现,不应与MCU的平台相关,实现PHY的设备对象中的相关接口。
3. 修改了BSP中的Sconstruct文件,增加了peripherals目录的构建
4. 修改了KEIL环境的SCT文件,用于实现以太网功能
2020-10-12 19:17:00 +08:00
Meco 5e92521e0d struct rt_device_ops 结构体增加宏定义 2020-08-10 04:35:08 +08:00
chenchaoqun 224c3224c7 [format] enumeration define two styles: define first or all. 2020-07-27 14:11:35 +08:00
Bernard Xiong fe2e9e924e [libc] fix 64bit issue for pthreads 2020-06-06 13:21:32 +08:00
SummerGift e5c1183350 [optimize] stm32 uart driver 2020-03-23 15:44:54 +08:00
longtengmcu 720d8479a5 给软件定时器增加定时器工作状态查询的功能 2020-02-07 16:43:39 +08:00
Bernard Xiong 64945ba882
[Kernel] Update version number. 2019-12-20 08:24:45 +08:00
Bernard Xiong 992d3af3ae [kernel] code and comments cleanup 2019-12-16 13:59:46 +08:00
Bernard Xiong da7751c044
Merge pull request #3129 from jesven/fix_same_prio
修正相同优先级任务切换太频繁的问题
2019-11-12 22:47:18 +08:00
shaojinchun e03ac83ad3 将yield状态置于tcb的stat位域中 2019-11-05 08:41:38 +08:00
Dryad baeda71eaa 修复了g++编译器无法展开自动初始化宏的错误 2019-10-28 10:38:05 +08:00
shaojinchun 234af6aaa2 修正相同优先级任务切换太频繁的问题 2019-10-12 10:51:47 +08:00
shaojinchun cb07e5fb24 开放spinlock相关函数 2019-09-27 14:38:33 +08:00
tangyuxin e4671d2916 [kernel][ipc] add send wait support for message queue 2019-09-19 10:10:02 +08:00
Bernard Xiong ae7a33c27c
Merge pull request #3077 from jesven/fix_mempool
修正rt_mp_free有可能唤醒一个错误任务指针的问题
2019-09-17 14:11:14 +08:00
shaojinchun ae1fdc70f0 修正rt_mp_free有可能唤醒一个错误任务指针的问题 2019-09-16 16:55:40 +08:00
tyustli 89b90592ee add touch framework 2019-06-12 09:38:32 +08:00
Bernard Xiong b4e141fee1
Update rtdef.h 2019-05-17 08:34:10 +08:00
shaojinchun c5249157d7 增加signal的状态位说明及一处代码修改,以防止编译警告 2019-05-11 09:35:26 +08:00
shaojinchun 6cdfb2ac92 fix signal code 2019-05-11 09:34:26 +08:00
shaojinchun 7bcee9bcb1 semaphore结构中value仍改为uint16_t,加入对其设置范围的检测,加入对齐变量 2019-04-24 09:14:00 +08:00
shaojinchun fa697a763f 修改sem中的value成员变量和赋值参数类型相同 2019-04-19 14:57:50 +08:00
yangfasheng fde1346d5b add RTGRAPHIC_PIXEL_FORMAT_COLOR to graphic deice
Signed-off-by: yangfasheng <yangfasheng@live.com>
2019-04-14 13:33:29 +08:00
BernardXiong 1487a4f732 [Kernel] Support ARCH data types definitions 2019-03-26 01:03:39 +00:00
guozhanxin 64813b6b07 add first version 2019-02-12 14:09:34 +08:00
Bernard Xiong d68c0f225d
Update rtdef.h
Update version number to v4.0.1
2019-01-27 21:58:07 +08:00
Bernard Xiong 137ed381c7
Merge pull request #2123 from jesven/fix_list_thread
修正list_thread关中断时间过长的问题
2018-12-27 17:16:32 +08:00
shaojinchun ed9a558da9 list_*时,提供对第一层object的原子保护 2018-12-27 16:31:22 +08:00
Owen e716bbfa22
Update rtdef.h
更正为正确的Doxygen组定义语法
2018-12-26 10:13:26 +08:00
Bernard Xiong a74a3031f0
Merge pull request #2081 from jesven/sync_smp_skeleton
Sync smp skeleton
2018-12-18 14:02:04 +08:00
shaojinchun eff767a074 remove rt_hw_mb define
sync smp skeleton
2018-12-17 11:02:09 +08:00
shaojinchun b3e1507bcf 1 RT_THREAD_CTRL_BIND_CPU define to 4
2 RTM_EXPORT(rt_cpus_lock_status_restore)
3 sync ARCH_CPU_STACK_GROWS_UPWARD in _rt_scheduler_stack_check()
2018-12-12 09:36:39 +08:00
shaojinchun fc6bc1ad39 Add smp support to RT-Thread 4.0 2018-11-22 18:16:47 +08:00
Bernard Xiong 484afe9d2c [Kernel] Add 64bit CPU support. 2018-10-26 06:35:42 +08:00
Bernard Xiong 4660882320
[Kernel] Change number to v4.0.0 2018-10-13 09:36:23 +08:00
Bernard Xiong b98a0ba804 [Kernel] Add ARMCC 6.x support. 2018-09-23 12:08:44 +08:00
Bernard Xiong 41f7f2c284 [Kernel] Update to Apache License v2.0
Update license for RT-Thread kernel.
2018-09-14 22:37:43 +08:00
Bernard Xiong 95c36f32e2
Update rtdef.h 2018-09-04 07:01:39 +08:00
Bernard Xiong ab1a220eae [components] Remove lwP from v3.1.0 2018-09-01 12:03:32 +08:00
Bernard Xiong 07ec7e686d
Merge pull request #1754 from liangyongxiang/rt-used
add RT_USED to component init and finsh shell
2018-08-31 18:41:44 +08:00
liang yongxiang 0aa03dd731 [kernel] add RT_USED to INIT_EXPORT, so that the initialization function is not deleted when it is linked. 2018-08-31 15:01:04 +08:00
Bernard Xiong efe4523132 [Kernel] move module tolibc/libdl. 2018-08-30 20:27:45 +08:00
heyuanjie 2373a9c7be 添加lwp类型声明 2018-07-31 10:38:26 +08:00
heyuanjie c79fbd373f [lwp]给thread添加lwp成员 2018-07-30 11:12:12 +08:00
Bernard Xiong 497a2dd02c
[Kernel] Remove the restriction of waitqueue
Remove the restriction of RT_USING_POSIX for waitqueue structure.
2018-06-29 12:18:37 +08:00
Bernard Xiong ef132f3c94 [Kernel] clean code for indentation. 2018-06-26 11:57:20 +08:00
Bernard Xiong a1a56ce1d1 [Kernel] Add flag in wait queue and fix wakeup issue. 2018-06-26 11:19:38 +08:00
Bernard Xiong 884fb70fe9 [Kernel] Add device ops feature. 2018-06-10 17:59:17 +08:00
Bernard Xiong 44cffcf9ac
Update rtdef.h 2018-05-31 18:05:43 +08:00
Bernard Xiong 7b9de446cb
Update rtdef.h 2018-04-25 06:02:21 +08:00
BernardXiong 38b9ed3118 [Kernel] add sigwait implementation 2018-03-01 13:36:22 +08:00
Bernard Xiong 4007bf99ff
[Kernel] Change version number. 2018-02-24 09:20:03 +08:00
bernard 6c7150a5fc [Kernel] code cleanup for signal. 2017-12-30 14:46:51 +08:00
Bernard Xiong e3dd653ed4
Update rtdef.h 2017-12-27 20:38:43 +08:00
Bernard Xiong 8ff8436fcd [Kernel] Add device_create/destroy api 2017-12-24 00:06:29 +08:00
bernard 0d22872a13 [Kernel] Update version number to v3.0.1 2017-11-30 16:53:49 +08:00
bernard 6d9fcd04d2 [Kernel] Change the order of initialization.
1. Remove INIT_FS_EXPORT and change INIT_DEVICE_EXPORT as the first item
in the initalization thread.
2. Move the eth_system_device_init into INIT_PREV_EXPORT item.
2017-11-03 11:44:37 +08:00
bernard 8a38307e2c [libc] Add RT_USING_POSIX macro.
1. Add macro check in rtdebug.h;
2. Use RT_USING_POSIX for poll/select, stdin etc.
3. Split dfs_posix.h to dfs_posix.h, dfs_poll.h and dfs_select.h;
2017-10-17 22:27:06 +08:00
bernard cd215b2545 [Kernel] header files
1. Remove components.h file;
2. Add libc_* files for standard libc definitions;
3. Add rtdbg.h file for simple debug log;
4. Add single list implementation;
5. Change the 'rt_uint8_t' type of cmd to 'int'.
2017-10-15 22:30:05 +08:00
Bernard Xiong a6a5dbd64e Change version to v3.0.0
The master branch will be frozen util v3.0.0 updated.
2017-10-10 09:10:16 +08:00
geniusgogo 85cc2dab69 Update rtdef.h 2017-09-18 16:31:14 +08:00
geniusgogo ed08b32dd3 convert tab to space 2017-09-18 16:30:28 +08:00
geniusgogo 2aae989f40 Merge branch 'master' into RT_MACRO 2017-09-18 16:27:20 +08:00
xieyangrun 6b06cb83e3 rename WEAK to RT_WEAK 2017-09-18 11:32:13 +08:00
emlslxl e521decf2e 根据documentation/coding_style_cn.txt约定 对内核src和include目录下的文件代码进行格式化 2017-09-15 11:02:24 +08:00
tanek liang 9f2f2f0875 Add RT_USED definition for IAR 2017-08-25 22:22:35 +08:00
Bernard Xiong 02607c85ac [GUI Engine] change directory for image and font. 2017-06-05 17:36:45 +08:00
bernard 6b18346199 [Kernel] Add RTGRAPHIC_PIXEL_FORMAT_ALPHA definition. 2017-01-31 13:18:39 +08:00
weety 62e770f9de Fixed 64KB stack size limit. 2016-05-31 20:39:33 +08:00
heyuanjie87 8f9bda579a 定义Timer设备类 2015-09-06 15:18:15 +08:00
heyuanjie87 c84887d021 加入定时器设备 2015-09-02 22:00:24 +08:00
Bernard Xiong fc54a74abb [BSP] stm32f7-disco cleanup 2015-08-09 09:17:28 +08:00
Bernard Xiong abd19b8dd7 [Kernel] More better support for module. 2015-08-03 16:02:24 +08:00
ardafu 667c03db97 [FINSH] Add macro MSH_CMD_EXPORT_ALIAS 2015-07-31 11:07:54 +08:00
Aubr.Cool 7caabd2b7a mv device ctl cmd macros from serial.h to rtdef.h 2015-03-26 08:40:36 +08:00
Bernard Xiong 204298c1b2 Update rtdef.h 2015-02-02 13:22:38 +08:00
pangweishen 675fa48281 modified the comments of block device geometry structure, to tell everyone the unit of block_size is byte. 2014-11-04 10:16:54 +08:00
bernard ceaf9cd3fa Add WEAK definition; Add AUTO Refresh option for block device. 2014-06-26 14:47:31 +08:00
Bernard Xiong 40b7eba446 [Kernel] Change the version number to 2.0.0. 2014-03-29 14:59:02 +08:00
bernard e601c2a6ed Add sector size check when mounting a FAT file system. 2014-01-26 20:30:37 +08:00
Bernard Xiong 97508eb48e Merge pull request #228 from prife/kernel
kernel: rearrange the header file include order
2014-01-11 03:58:10 -08:00
prife 86cdc22043 kernel: rearrange the header file include order
There are some CONFIG OPTIONS in rtdebug.h, which may influence the
rtdef.h, so rtdebug.h should be head of the rtdef.h
2014-01-11 16:50:53 +08:00
bernard 31446eab4c [Kernel] application module can support arguments 2014-01-11 16:33:31 +08:00
bernard e393b8fcfa fix the FINSH_USING_SYMTAB not defined and compiling error issue 2014-01-04 06:03:24 +08:00
bernard a5ba2a24f7 add file and path name auto completion for module shell 2014-01-01 21:45:09 +08:00
Bernard Xiong 3eac58ce8e Merge pull request #173 from grissiom/new-timer
kernel: use skip list to implement timer list
2013-10-17 15:44:20 -07:00
Grissiom d59aa279c3 kernel: use skip list to implement timer list
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.
2013-10-12 22:48:29 +08:00
bernard f1107f6714 add BGR565 definition 2013-10-10 00:22:11 +09:00
Grissiom 6e676e7754 dev/portal: implement portal device
Portal is a device that connect devices. Currently, you can only connect
pipes in portal. Pipes are unidirectional. But with portal, you can
construct a bidirectional device with two pipes.
2013-08-20 12:54:43 +08:00
Grissiom 7e68096a88 dev/pipe: make pipe a type of device
Pipe have many differences with char device. The main difference is
altough pipe have both read and write, it is unidirectional in nature.
2013-08-20 10:16:55 +08:00
bernard a124e7bd22 add initialization debug code 2013-07-24 07:33:48 +08:00
bernard b96b35613f add mount table 2013-07-22 07:46:10 +08:00
Bernard Xiong 493930ea07 Merge pull request #118 from BernardXiong/master
Remove initialization feature for MS VC++ compiler.
2013-07-09 13:56:51 -07:00
Grissiom 7bcce9e87f device: add ref_count support
This is a simple work around to the current device stack design. A
ref_count could let different modules to open/close the same device
independently without interfere others in some degree.

But there is still some data shared between the modules, like flag,
open_flag and user_data. Moreover, it won't yield an error if A open a
device, and B read from it before open it in B. Maybe alloc a new handle
in rt_device_open will be the ultimate solution. But that is much bigger
change and we may leave it to future development.
2013-07-09 15:44:55 +08:00
Bernard Xiong 8c0d4d2ad8 fix the spelling wrong 2013-07-05 19:36:57 -04:00
Bernard Xiong ca56dce2a3 remove initialization feature for MS VC++ compiler 2013-07-05 19:32:16 -04:00
Grissiom 9f62f03f11 rm48x50: restore missing include for __TI_COMPILER_VERSION__ 2013-07-01 22:03:58 +08:00
yiyue.fang cf0db957f2 reformat the coding style in rtdef.h
convert the Tabs to Spaces
2013-06-29 11:41:20 +08:00
Bernard Xiong 79392bb082 Embedded GPLv2 license. 2013-06-24 17:06:09 +08:00
Bernard Xiong 98c8a23e94 Add component initialization. 2013-06-23 07:48:42 +08:00
Bernard Xiong c5927f51b3 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-06-23 07:40:32 +08:00
Bernard Xiong f837ea41b1 Add component initialization define in rtdef.h 2013-06-23 07:40:23 +08:00
Grissiom 85822f22b7 rtdef.h: get back the codes that removed accidentally by d80a471 2013-06-03 22:23:17 +08:00
Bernard Xiong d80a471680 Fix the memheap_realloc issue 2013-06-03 06:44:35 +08:00
Grissiom 9237433030 add TI CCS support micros in rtdef.h 2013-05-29 23:36:10 +08:00