木子剑
生命不熄,学习不止!
摘要: 【 开始 】 今天移植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 木子剑 阅读(1783) 评论(2) 推荐(1) 编辑
摘要: 第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 木子剑 阅读(1199) 评论(0) 推荐(0) 编辑
摘要: 这个内存管理比较简单容易,因为与CONTIKI NG系统类似的,分别动态内存,静态内存。 我试了一下动态内存例子,在TencentOS-tiny\board\SWM320_DISCOVERY\BSP\Src下 新建tOS_mmheap.c文件,其内容如下: #include "tos_k.h" #i 阅读全文
posted @ 2021-08-28 21:09 木子剑 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 还有一些,我感觉没有必要进行测试了,如下: 这次测试总结如下: 对共享资源竟争 >有互斥锁和信号量,我觉得用信号量就可以了,将信号量的傎设来0和1就行了,间接实现互斥锁 对任务间异步通讯 >其实就是队列,队列分得很细,请见DEMO源码,要细品哦。 对任务间同步通讯 >其实就是事件,从源码分析,支持3 阅读全文
posted @ 2021-08-23 22:05 木子剑 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 不知道是不是,之前有长时间学过CONTIKI NG操作系统原因,我觉得TOS的事件太简单了, 只是为了不同的标志,进行任务同步工作而已。对了之前队列是任务异步工作的。 在TencentOS-tiny\board\SWM320_DISCOVERY\BSP\Src建个 tOS_event.c 如下 #i 阅读全文
posted @ 2021-08-23 21:42 木子剑 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 就我们最新下载的,TencentOS v2.4.x版本,任务间通讯用的队列,分得比较细: 1_> 消息队列: 提供了任务间传递指针数据的机制,所谓的“消息“就是指针 2_> 邮箱队列: 消息队列传递的是指针,邮箱队列传递的是大片的内存数据 3_> 优先级消息队列: 加入优先级概念 4_> 优先级邮箱 阅读全文
posted @ 2021-08-23 08:57 木子剑 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 先看官方描述: 【提供例子为,一个任务为生产者,一个任务为消费者,一个共享仓库】 当生产者到来时,要先确认仓库是不是full信号量满了?如果满了放不下了就要等,不满就可以继续一下步;就是获取仓库的mutex互斥锁,如果之前仓库有锁, 生产者还得等等,等仓库解锁后,最后可以往仓库更新数据了。最后释放e 阅读全文
posted @ 2021-08-22 17:57 木子剑 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 关于互斥锁,看看官方的描述。 经过阅读了解后,觉得可以用一些事情来理解这个互斥锁的理念。 第1个事情, TX官方是用三个任务,同优先级,同时间段访问一个公共资源(以变量值),以此产生资源竟争。我们再延伸想 一下, 假设我有个I2C外设,这个外设是芯片外部的一个传感器IC,当有多个任务要访问时,这个时 阅读全文
posted @ 2021-08-20 09:15 木子剑 阅读(104) 评论(0) 推荐(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 木子剑 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 这个应该是最简单,因为每个人TencentOS-tiny移植好后,这是第一个测试就是多task任务! 下后说说我个人的做法,比较直接了当的: 第一步: 从TencentOS-tiny\examples\hello_world下复制 “hello_world.c”到自己工程目录下TencentOS-t 阅读全文
posted @ 2021-08-18 20:46 木子剑 阅读(169) 评论(0) 推荐(0) 编辑