Commit Graph

34 Commits

Author SHA1 Message Date
David Lin
015a5473fe Fixed typo 'context-swith' in tos_evtdrv_sys.h
'context-switch' is right, so we should re-code:
none-context-swith-based -> none-context-switch-based
2020-02-28 08:31:57 +08:00
daishengdong
0d6f72a351 fix a bug of header file dependency error
1. in tos_k.h, port_config.h should go ahead of tos_cpu_types.h
2020-02-18 10:38:02 +08:00
daishengdong
405e5d970a support stm8
1. see: TencentOS-tiny\board\STM8L052R8T6\IAR\hello_world
2. compile/debug/run with IAR for STM8
2020-02-15 16:39:00 +08:00
daishengdong
e4bbdbf9ab support dynamic task create in cmsis
1. enable TOS_CFG_TASK_DYNAMIC_CREATE_EN
2. use osThreadDynamicDef to define a dynamic created cmsis task
3. use osThreadCreate/osThreadTerminate to create/destroy this cmsis task
4. see sample hello_world
2020-02-11 11:10:48 +08:00
daishengdong
3d9d6198c8 add cortex-v7a support
How To Run:
    see TencentOS-tiny\board\ALPHA_I.MX_emmc_256ddr\README.md

TODO Next:
1. VFP support
2. fault diagnosis support
3. qemu vexpress ca9 support
4. raspberry pi support
5. SMP support
2020-01-19 19:06:24 +08:00
daishengdong
72481955e2 a very simple shell framework
simple, clear, easy to DIY
2020-01-08 13:54:56 +08:00
daishengdong
db3458cdb9 add licence to tos_slist.h 2020-01-06 10:53:11 +08:00
daishengdong
c9556307df add tos_slist.h, rename tos.h to tos_k.h 2020-01-03 17:25:38 +08:00
daishengdong
febcf10911 add kv fs component
1. a true wear-leveling kv fs for norflash, especially optimize for some onchip norflash with "write once on one single write unit" like stm32l4, a true "no earse before write" flash algorithm.
2. an "as less as possible" gc strategy, do best to save norflash's life.
3. full "power down protection" support
4. see "examples" of kv, project in "TencentOS_tiny_EVB_MX_Plus", with onchip flash and qspiflash sample.
2019-12-19 16:08:42 +08:00
daishengdong
b2983383bb add nimble mesh example
need meshctl installed on raspberrypi. nimble offical samples have a lot of pit ...
2019-11-28 11:12:16 +08:00
daishengdong
96cf620708 a bugfix for mail queue and printf clipping switch
1. add TOS_CFG_LIBC_PRINTF_EN
1: enable printf to implement tos_kprintf
when you call tos_kprintf(actually currently it's a MACRO rather than a function) , the libc will be invloved into the image, most of the time it means a larger image size.

0: disable printf, means tos_kprintf is defined as an empty MACRO
most of the time, means you will not get a log output from the uart(currently we donnot have a console yet) but a smaller image size.

2. fix a bug of tos_mail_q and tos_priority_mail_q
if we are post-ing a mail and there is[are] task[s] just pend-ing for the mail queue, the mail delivered to the pend-er will be a pointer, and probably it's a pointer to the local variable on the stack. Actually we should do a memcpy rather than a pointer assignment. for more details, see the patch.
2019-11-25 21:04:37 +08:00
Forest-Rain
9b78dc5461 Merge remote-tracking branch 'TOS/master'
port to msp430fr
2019-11-19 00:23:07 +08:00
bourne-h
c985305927 TencentOS tiny port to MSP430FR6972 2019-11-18 19:43:41 +08:00
daishengdong
74572d20fe refresh 开发指南.pdf
add new interface develop guide and sample code
2019-11-14 19:27:36 +08:00
daishengdong
0700d27b70 add more nimble example
1. make heart rate sensor example really work
using nRF Toolbox HRM
2. add master device scan example
3. add gatt server example(seems not working)
2019-11-12 19:56:52 +08:00
daishengdong
30ea36a7ab fix compile warning 2019-10-31 15:08:13 +08:00
daishengdong
c411ed1eec add a set of dyn(create / destroy) interface
1. tos_ring_q_create_dyn
2. tos_chr_fifo_create_dyn
3. tos_msg_q_create_dyn
4. tos_mail_q_create_dyn
5. tos_bin_heap_create_dyn
6. tos_prio_q_create_dyn
7. tos_prio_msg_q_create_dyn
8. tos_prio_mail_q_create_dyn
2019-10-29 16:57:43 +08:00
daishengdong
7e11e4f009 fix apollo stm32f767 keil compile 2019-10-28 16:07:56 +08:00
daishengdong
d0b8d0675e add ring queue/message queue/mail queue, binary heap/priority queue/priority message queue/priority mail queue
1. remove the old msg queue and queue:
i. msg queue is not a common and reusable/flexible component(need user to config the msg pool size and this componet can only be used by tos_queue)
ii. tos_queue can only deliver the pointer message(cannot do a memory buffer deliver)

2. add ring queue(tos_ring_q) componet
rinq queue can be reused by tos_chr_fifi/tos_msg_q/tos_mail_q as the foundational data container

3. add message queue(tos_msg_q)
a little like the old queue mechanism, supply the capability to deliver a pointer message

4. add mail queue(tos_mail_q)
supply the capability to deliver a memory buffer

5. add binary heap(tos_bin_heap)
the basement componet to implement priority queue

6. add priority queue(tos_prio_q)
can be reused by the priority message/mail queue  as the foundational data container.

7. add priority message queue(tos_prio_msg_q)
a message(pointer) deliver mechanism, supply the capability of delivering the message with priority(message with higher priority comes faster to the pender than with lower)

8. add priority mail queue(tos_prio_mail_q)
a mail(memory buffer) deliver mechanism, supply the capability of delivering the mail with priority(mail with higher priority comes faster to the pender than with lower)
2019-10-28 15:50:46 +08:00
daishengdong
db12f050c6 Update tos_task.c 2019-10-24 10:32:51 +08:00
daishengdong
06cae326a2 add API (tos_task_create_dyn & tos_task_walkthru & tos_task_curr_task_get)
tos_task_create_dyn: create task with dynamic allocated task handler and stack
tos_task_walkthru: API to walk through the statistic list of all the existing task
tos_task_curr_task_get: get current running task handler
2019-10-23 21:22:13 +08:00
daishengdong
3a8b03432f add tos_mmheap_check & tos_mmheap_pool_check API and TOS_CFG_MMHEAP_DEFAULT_POOL_EN switch
tos_mmheap_check: get the information of the heap(space that is free and used)
tos_mmheap_pool_check: get the information of a pool
TOS_CFG_MMHEAP_DEFAULT_POOL_EN: enable the default pool of the heap(if user not set this, a default of 1u is set). if you wanna disable the default pool, you should call tos_mmheap_pool_add to add your own pool of the heap before tos_mmheap_alloc is called.
2019-10-14 22:09:57 +08:00
SheldonDai
04694f6013 add countdownlatch and completion 2019-10-10 14:15:25 +08:00
supowang
c1fcaa1236 add license for kernel
add license for kernel
2019-10-09 13:15:53 +08:00
SheldonDai
aad1564e09 finish nimble blehr porting and do some kernel improve 2019-10-09 12:15:59 +08:00
SheldonDai
ca133a077a Merge branch 'master' of https://github.com/Tencent/TencentOS-tiny 2019-09-27 11:30:31 +08:00
SheldonDai
26edb2dfb3 remove robin enable config 2019-09-27 11:30:24 +08:00
Supowang1989
7b06a3044b Merge pull request #12 from acevest/gd32v
add pre support for GD32VF103C_START board
2019-09-26 10:19:30 +08:00
SheldonDai
874b7307ae event-driven tab2space 2019-09-24 17:33:30 +08:00
SheldonDai
9727512631 add event-driven framework
see examples/event_driven_at_module and examples/event_driven_hello_world, demo project: TencentOS-tiny\board\TencentOS_tiny_EVB_MX\KEIL\event_driven_hello_world
2019-09-24 17:21:58 +08:00
acevest
1747cedc61 support GD32VF103C START board 2019-09-24 10:29:31 +08:00
SheldonDai
1401c2bff5 fix some spell 2019-09-23 21:06:32 +08:00
SheldonDai
4cfe60a9cb fix a tick list add bug
fix a tick list add bug: if a lower priority task has the same tick_expires with a higher priority task in the tick list, the lower should be added behind the higher one.
2019-09-23 20:40:31 +08:00
supowang
edb2879617 first commit for opensource
first commit for opensource
2019-09-16 13:19:50 +08:00