华大单片机移植TencentOS-Tiny

文章目录

  • 华大单片机移植TencentOS-Tiny
    • 一、参考链接:
    • 二、资料准备
    • 三、开始移植
    • 四、移植完成-测试
    • 五、总结

一、参考链接:

1.Tiny的有关概述我就不说了。直接上官网看就可以了。

2.(1)TencentOs官网

(2)其他参考链接:杰杰博主

(3)API说明和demo

二、资料准备

1.要先移植TencentOS,肯定必须要有Tiny的源码,下载源码有两个方法,(1)通过github直接下载 github链接,(2)通过腾讯的 工蜂链接

2.要在华大单片机上移植,同样也必须要又华大单片机的可用工程模块,博主我使用的是华大HC32L13X系列,其他系列一样。工程模板,相信大家手上都是有的。

3.万事俱备,只欠东风

三、开始移植

1.由于前面有了许多前辈走的坑,以及写下的心血,有些部分仔细操作可以具体看下 上面的 杰杰博主链接。

2.下载下来是下面的样子

3.由于Tencent与华大有合作吧,反正出了个Hc32L136的demo,这就很舒服了。。不过我还是不喜欢,毕竟没有比这就动手来的实在,也能加深印象。

4.在我们的工程目录下新建一个TencetOS,然后将arch和kernel copy过来,在建个文件夹将 tos_config.h也拷贝过来。再将文件添加到工程中

(1)TencentOS\kernel\core路径下的所有.c文件添加到tos/kernel工程分组中.同时将TencentOS\kernel\pm目录下的所有.c文件添加到tos/kernel工程分组中。

(2)TencentOS\arch\arm\arm-v7m\common路径下的 tos_cpu.c、tos_fault.c添加到tos/arch工程分组下面,也将TencentOS\arch\arm\arm-v7m**cortex-m0+**\armcc路径下的port_s.S、port_c.c文件添加到tos/arch`工程分组下面

(3)再将TencentOS\TOS-CONFIG路径下的tos_config.h文件添加到tos/config`工程分组中。

(4)最后将头文件的路径添加进去即可

…\TencentOS\arch\arm\arm-v7m\common\include …\TencentOS\arch\arm\arm-v7m\cortex-m0+\armcc …\TencentOS\kernel\core\include …\TencentOS\kernel\pm\include …\TencentOS\TOS-CONFIG

(5)把这个勾上

(6)添加这个头文件

(7)把 interrupts_hc32l13x.c里面的这个函数改成这样

void SysTick_Handler(void)
{       //系统自带//SysTick_IRQHandler();//TOSif(tos_knl_is_running())   //TOS开始跑了,才能执行正常的调度处理{tos_knl_irq_enter();  //进入中断tos_tick_handler();       //调用UCOS的时钟服务函数tos_knl_irq_leave(); //触发任务切换软中断}
}

通过上面的操作基本将TencentOS成功的移植到我们的工程模块中了。接下就测试下是否可行。。写个简单的demo试下

四、移植完成-测试

对了。。。。。。。
要在main函数添加这个头文件哦!!!
#include "tos_k.h"

#if TASk_TEST
k_task_t task1;
k_task_t task2;k_stack_t task_stack1[512];
k_stack_t task_stack2[512];void test_task1(void *parameter);
void test_task2(void *parameter);void test_task1(void *parameter)
{while(1){printf("hello world sym 1!!!!\r\n");tos_task_delay(1000);}
}void test_task2(void *parameter)
{while(1){printf("hello world sym 2!!!!\r\n");tos_task_delay(2000);}
}
#endif
 k_err_t err1;k_err_t err2;tos_knl_init();  //初始化内核#if TASk_TESTerr1 = tos_task_create(&task1,"test_task1",test_task1,NULL,2,task_stack1,512,0);if(err1 != K_ERR_NONE){printf("TencentOS Create task fail! code : %d \r\n",err1);} err2 = tos_task_create(&task2,"test_task2",test_task2,NULL,3,task_stack2,512,0);if(err2 != K_ERR_NONE){printf("TencentOS Create task fail! code : %d \r\n",err2);}#endiftos_knl_start();

实验现象:多说无凭

五、总结

1.基本上操作系统的移植都相差不大,都是移植内核和部分配置文件即可。

2.不同的芯片厂商不同。可以的库函数配置不一样。所以这才是注意的点。。

3.最后一说,文章有一部分是参考杰杰博主的。再次感谢。文中有何问题欢迎提出!一起改进!加油。支持国产

华大单片机移植TencentOS相关推荐

  1. 华大单片机移植RTThread操作系统

    华大单片机移植RTThread-国产操作系统 文章目录 华大单片机移植RTThread-国产操作系统 1.华大单片机型号选择 2.RTThread源码下载 2.1 .资料说明 2.3.源码下载 3.移 ...

  2. IIC模拟协议华大单片机移植

    IIC模拟协议华大单片机移植 本文所用为 HC32L136K8TA 使用Gpio10== SDA GpioC11==SCL 先把关键性 宏定义说明 //引脚声明 #define SCL_PORT Gp ...

  3. 新唐M251 CORTEX-M23内核移植TencentOS tiny教程

    Cortex M23 移植TencentOS tiny 准备源码和工具 准备硬件.软件 移植开始 准备源码和工具 TencentOS tiny的源码地址在这: TencentOS tiny. MDK软 ...

  4. 华大单片机-串口通讯多字节

    目录 华大单片机---串口通信 1.串口通信基本原理 (1)串口通信原理: (2)华大的串口通信: (3)简单介绍下: (4)多字符发送: 2.初始化代码 3.发送代码: 4.接收中断代码 华大单片机 ...

  5. 华大单片机HC32L136J8TA读取DS18B20温度(源码+时钟配置)

    免费的C语言和linuxPDF文档:传送门 有一点C语言基础和华大单片机开发经验,应该就能看得懂就不多介绍了,有疑问可以留言,看到就回了; 关于协议具体解析:传送门@不脱发的程序猿 注(2021-05 ...

  6. 华大单片机HC32L130X

    目录 华大单片机HCL13X系列 1.简单介绍下华大单片机 2.资料获取: 3.学习思路: 4.客观意见: 5.预告 华大单片机HCL13X系列 1.简单介绍下华大单片机 第一部分都是我吐槽的地方,可 ...

  7. 华大单片机HC32L130/HC32L136红外端口配置

    华大单片机HC32L130/HC32L136红外端口配置 HC32L130一共有三个引脚可以配置成红外38.4KHZ输出引脚 #define PIN_PWM_IR GpioPortB, GpioPin ...

  8. 华大单片机HC32L130/HC32L136从机IIC通信

    从机IIC理论知识 主机IIC的做法比较多,从机IIC的就相对比较难一点. 先补充一下从机IIC的思路: 先看IIC时序图,然后根据时序图理清IIC从机需要做哪些判断: 从机发送: ·判断IIC ST ...

  9. 单片机笔记十一:华大单片机

    最近在用华大的芯片做开发,因为某些芯片涨价太厉害,而且太难买了,专门买了华大的开发板回来用,这是一款国产的芯片,用的ARM公司的"Cortex-M0"内核,以前用过stm32f10 ...

最新文章

  1. python默认的一个代码缩进是几个空格_python缩进长度是否统一
  2. 求x从0到n,f(x)=x^2+1的和
  3. python No migrations to apply
  4. python读取文件多行内容-python 逐行读取文件的几种方法
  5. 了解JavaScript 对象的属性操作
  6. 怎么回事?在测量时仪器数值不稳
  7. java 常量区存放 new_java常量池与对象存储
  8. mellanox 网卡驱动_收购Mellanox之后 NVIDIA发布全球首款25G安全智能网卡
  9. 怎么用计算机拟合数据,数据拟合的几个应用实例-毕业论文.doc
  10. 以容器为代表的云原生技术,正成为释放云价值最短路径
  11. pands 画图 调整大小_两个精品案例解释机械设计的步骤,有思路,再着手画图...
  12. Python实现好友管理系统
  13. [可靠消息]2020美赛结果公布时间
  14. 腾讯通rtx中心服务器,腾讯通(RTX)详细使用教程
  15. win10便签如何卸载?win10便签卸载和安装方法
  16. visio图片导入word和PPT的最清晰的方式
  17. 【机器人学】机器人学领域的顶级期刊和会议
  18. git代码使用空格缩进
  19. 从自动驾驶安全报告看谷歌百度双龙会
  20. dockerer-compose搭建zookeeper集群,工作中最新亲测能用,超详细

热门文章

  1. 自动生成_一键自动生成CAD图纸目录
  2. Shell 脚本正则表达式(一)
  3. 大数据与人工智能论文
  4. 谷歌游览器提示“喔唷,奔溃啦!”报错误代码:STATUS_INVALID_IMAGE_HASH
  5. 跑通Jetson Nano TensorRt sampleSSD例程
  6. 2021最新微信影视小程序源码无限代开+搭建详细教程
  7. EOS区块链技术开发(二)智能合约
  8. Stata:因子变量全攻略-双向固定效应-超越对数生产函数
  9. 静态函数和非静态函数的区别(静态方法和非静态方法)
  10. 论文阅读(五):Review of Research on Task-Oriented Spoken Language Understanding