摘要:
【 开始 】 今天移植CONTIKI NG内核调度,用上简单事件驱动,先自报一下PC的环境: 1_> WINDOWS 7, 64bit 2_> IAR v7.7 3_> STM32F103vet6核心板 4_> CONTIKI NG源码,推荐使用V4.6版本 ,V4.7以后,ARM-CMSIS是空的
阅读全文
posted @ 2021-10-16 15:53
木子剑
阅读(2342)
推荐(2)
摘要:
第1步: 将LVGL v8.0.2下载并解压到TencentOS-tiny\components\gui\LittlevGL如下图: 第2步: 我用IAR SYSTEM 是V9.10版本,将不用的文件全部删除掉,保留必要的 .c .h .bin 这些文件夹. 这个可以参靠之前的LVGL V6或LVG
阅读全文
posted @ 2021-08-29 17:57
木子剑
阅读(1316)
推荐(0)
摘要:
这个内存管理比较简单容易,因为与CONTIKI NG系统类似的,分别动态内存,静态内存。 我试了一下动态内存例子,在TencentOS-tiny\board\SWM320_DISCOVERY\BSP\Src下 新建tOS_mmheap.c文件,其内容如下: #include "tos_k.h" #i
阅读全文
posted @ 2021-08-28 21:09
木子剑
阅读(110)
推荐(0)
摘要:
还有一些,我感觉没有必要进行测试了,如下: 这次测试总结如下: 对共享资源竟争 >有互斥锁和信号量,我觉得用信号量就可以了,将信号量的傎设来0和1就行了,间接实现互斥锁 对任务间异步通讯 >其实就是队列,队列分得很细,请见DEMO源码,要细品哦。 对任务间同步通讯 >其实就是事件,从源码分析,支持3
阅读全文
posted @ 2021-08-23 22:05
木子剑
阅读(96)
推荐(0)
摘要:
不知道是不是,之前有长时间学过CONTIKI NG操作系统原因,我觉得TOS的事件太简单了, 只是为了不同的标志,进行任务同步工作而已。对了之前队列是任务异步工作的。 在TencentOS-tiny\board\SWM320_DISCOVERY\BSP\Src建个 tOS_event.c 如下 #i
阅读全文
posted @ 2021-08-23 21:42
木子剑
阅读(101)
推荐(0)
摘要:
就我们最新下载的,TencentOS v2.4.x版本,任务间通讯用的队列,分得比较细: 1_> 消息队列: 提供了任务间传递指针数据的机制,所谓的“消息“就是指针 2_> 邮箱队列: 消息队列传递的是指针,邮箱队列传递的是大片的内存数据 3_> 优先级消息队列: 加入优先级概念 4_> 优先级邮箱
阅读全文
posted @ 2021-08-23 08:57
木子剑
阅读(82)
推荐(0)
摘要:
先看官方描述: 【提供例子为,一个任务为生产者,一个任务为消费者,一个共享仓库】 当生产者到来时,要先确认仓库是不是full信号量满了?如果满了放不下了就要等,不满就可以继续一下步;就是获取仓库的mutex互斥锁,如果之前仓库有锁, 生产者还得等等,等仓库解锁后,最后可以往仓库更新数据了。最后释放e
阅读全文
posted @ 2021-08-22 17:57
木子剑
阅读(106)
推荐(0)
摘要:
关于互斥锁,看看官方的描述。 经过阅读了解后,觉得可以用一些事情来理解这个互斥锁的理念。 第1个事情, TX官方是用三个任务,同优先级,同时间段访问一个公共资源(以变量值),以此产生资源竟争。我们再延伸想 一下, 假设我有个I2C外设,这个外设是芯片外部的一个传感器IC,当有多个任务要访问时,这个时
阅读全文
posted @ 2021-08-20 09:15
木子剑
阅读(118)
推荐(0)
摘要:
首先在TencentOS-tiny\board\SWM320_DISCOVERY\BSP\Src内,新建一个.c源文,我取名叫 tOS_timer.c 源 tOS_timer.c 编辑内容为: #include "cmsis_os.h" // 软件定时器handler k_timer_t os_tm
阅读全文
posted @ 2021-08-18 21:52
木子剑
阅读(91)
推荐(0)
摘要:
这个应该是最简单,因为每个人TencentOS-tiny移植好后,这是第一个测试就是多task任务! 下后说说我个人的做法,比较直接了当的: 第一步: 从TencentOS-tiny\examples\hello_world下复制 “hello_world.c”到自己工程目录下TencentOS-t
阅读全文
posted @ 2021-08-18 20:46
木子剑
阅读(182)
推荐(0)