Commit Graph

55 Commits

Author SHA1 Message Date
daishengdong
0a2d5a4e90 support elfloader for shared object and relocatable object
1. elfloader for shared object
example: TencentOS-tiny\examples\elfloader_shared_object
keil: TencentOS-tiny\board\TencentOS_tiny_EVB_MX_Plus\KEIL\elfloader_shared_object

2. elfloader for relocatable object:
example: TencentOS-tiny\examples\elfloader_relocatable_object
keil: TencentOS-tiny\board\TencentOS_tiny_EVB_MX_Plus\KEIL\elfloader_relocatable_object

3. TODO:
- add icache/dcache flush when module is loaded
- support more relocation type in elfloader_arch_relocate
2020-06-09 19:30:38 +08:00
Arthur
d9394d7580 Merge pull request #168 from DavidLin1577/patch-8
Fixed the wrong notes in tos_barrier.h
2020-06-08 19:57:47 +08:00
Arthur
a4fbf99910 Merge pull request #167 from DavidLin1577/patch-7
Added the missing parameter note
2020-06-08 19:57:36 +08:00
Arthur
0786b9f60c Merge pull request #166 from DavidLin1577/patch-6
Fixed some wrong notes in tos_mmblk.h
2020-06-08 19:57:25 +08:00
David Lin
9fe12a77ab Added the missing parameter notes 2020-06-08 00:14:32 +08:00
David Lin
6be5884938 Update tos_priority_queue.h 2020-06-07 23:50:42 +08:00
David Lin
48a7d23c20 Update tos_completion.h
删除多余参数注释
2020-06-07 23:31:16 +08:00
David Lin
a2a4e1de20 Update tos_barrier.h 2020-06-07 23:20:26 +08:00
David Lin
a4b310e04d Update tos_barrier.h
修改错误的函数注释
2020-06-07 23:10:38 +08:00
David Lin
c40ec13aa7 Added the missing parameter note 2020-06-06 18:19:37 +08:00
David Lin
4439798c7d Fixed some wrong notes in tos_mmblk.h
1. tos_mmblk_pool_create与tos_mmblk_alloc函数注释重复
2. tos_mmblk_pool_destroy与tos_mmblk_free函数注释重复
2020-06-06 17:55:31 +08:00
daishengdong
7f4b0b2582 add fatfs through vfs for EVB plus
1. see board\TencentOS_tiny_EVB_MX_Plus\KEIL\fatfs_through_vfs
2020-06-02 21:31:11 +08:00
daishengdong
5b51d50ade add ota algorithm for device
1. effective "Differential Upgrade" patch algorithm with high compression rate
2. effective recovery algorithm support recovery firmware in blocks which has low memory consumption and wear-leveling strategies, especially suitable for embeded devices with low RAM.
3. add sample ota bootloader project, see:
board\TencentOS_tiny_EVB_MX_Plus\KEIL\ota\ota_bootloader_recovery
4. add sample application project for download firmware through http, see:
board\TencentOS_tiny_EVB_MX_Plus\KEIL\ota\ota_application_download_through_http
5. add sample application project for download firmware through qcloud explorer console, see:
board\TencentOS_tiny_EVB_MX_Plus\KEIL\ota\ota_application_download_through_qcloud_iot_explorer
6. an OTA markdown document is pending
2020-06-02 15:03:42 +08:00
daishengdong
e8c135e2bb timer & tickless bugfix
1. fix a bug of timer_update when TOS_CFG_TIMER_AS_PROC > 0u
2. support disable tickless in runtime
3. fix a header file dependency bug, which cause k_tick_t typedef-ed to uint32_t
4. fix tick_count drift in tickless_proc
2020-04-27 15:12:08 +08:00
daishengdong
2e8c8c19e6 fix some calloc bug
1. some calloc fix
2. fix some document error
3. refactor kv API, to be compatible with ota API
2020-04-24 11:58:42 +08:00
daishengdong
c603a605fe refresh sdk manual and development manul
1. add barrier/bitmap/stopwatch/rwlock API to sdk manual
2. add barrier develop sample to develop manual
2020-04-16 15:50:00 +08:00
daishengdong
5c21ce702f add IAP sample project, mini program manual
see:
doc/20.In_Application_Programming_based_EVB_MX_Plus.md
2020-04-15 18:11:13 +08:00
daishengdong
032af66467 add socket wrapper for at framework
you can use at framework to send/recv data in socket API
example: see examples\tcp_through_module_based_at_socket
project: see board\TencentOS_tiny_EVB_MX_Plus\KEIL\tcp_through_module_based_at_socket
2020-04-07 16:39:13 +08:00
daishengdong
cb2477f66e support RHF0M0E5 board with armcc v6
1. project, see TencentOS-tiny\board\RHF0M0E5_STM32WLE5xx\KEIL\hello_world
2020-03-12 20:10:27 +08:00
daishengdong
441f57c837 fix "redefinition of typedef 'k_task_t'"
1. remove re-typedef of k_task_st to k_task_t in tos_task.h
2. add "typedef struct k_task_st k_task_t" to tos_ktypes.h
2020-03-12 11:04:17 +08:00
daishengdong
79a0524b60 remove some redundant judgement 2020-03-06 19:27:21 +08:00
daishengdong
7e6ce005e6 support avr architecture based on ATMega32
1. IAR project, see TencentOS-tiny\board\ATMega32\IAR, both 4.12 and 7.20 is supplied.
2020-03-03 18:27:24 +08:00
daishengdong
40f55ec57b support posix
1. posix pthread.h: pthread, pthread_barrier, pthread_cond, pthread_mutex, , pthread_rwlock, pthread_spin, etc
2. posix semaphore.h: sem_*
3. posix mqueue.h: mq_*
4. posix time.h: timer_*
5. to support posix, add tos_barrier, tos_bitmap, tos_rwlock, tos_stopwatch, change name of k_task_t from a char * pointer to a char array.
6. sample, see examples\posix
7. project, see board\TencentOS_tiny_EVB_MX_Plus\KEIL\posix
2020-02-28 00:11:28 +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