IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> TencentOS_Tiny学习笔记——内核移植 -> 正文阅读

[嵌入式]TencentOS_Tiny学习笔记——内核移植

????????前面两篇记录里如何新建工程和控制led灯,今天正式学习TencentOS_Tiny,先进行内核移植,建立任务,运行任务,在此记录一下。

一,复制所用到的文件。

? ? ? 最简单的移植,其实涉及到的文件还是比较少的,主要有架构相关的arch文件夹和内核kernel文件夹,另外在已有工程里复制一份tos_config文件夹。????????

?????? arch文件夹包含了架构类型,ETiny EVB_AIoT开发板的主控芯片是cortex-m7类型,多余的删掉就可以了。????????

?二,在IDE里面添加头文件路径。

? ? ? ? 把所有用到的头文件路径都加载进来,TencentOS_Tiny系统的头文件一般都在include文件下。

?三,修改代码。

1,主程序文件下,引入头文件? ?#include "tos_k.h" ,系统用到的头文件都在头文件下。

2,中断函数设置,如果裸机程序使用了中断,先取消,TencentOS_Tiny系统里带了中断程序。

3,systick设置,添加函数。


void SysTick_Handler(void)
{
  if (tos_knl_is_running())
  {
    tos_knl_irq_enter();
    tos_tick_handler();
    tos_knl_irq_leave();
  }
}

4,添加任务代码。

#define TASK1_STK_SIZE       1024
k_task_t task1;
uint8_t task1_stk[TASK1_STK_SIZE];

#define TASK2_STK_SIZE       1024
k_task_t task2;
uint8_t task2_stk[TASK2_STK_SIZE];

void task1_entry(void *arg)
{
    while (1) {
    	PRINTF("###I am task1\r\n");
        tos_task_delay(2000);
    }
}

void task2_entry(void *arg)
{
    while (1) {
    	PRINTF("***I am task2\r\n");
        tos_task_delay(1000);
    }
}

5,在main函数中,启用任务,添加以下代码。

?6,最后不要忘了使能systick有关的宏定义。

?找到TOS_CFG_TIMER_EN定义的位置,使能。

?7,结束,过程非常简单,不过内核原理留着以后好好研究吧,串口打印结果如下。

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-02-06 13:59:12  更:2022-02-06 14:00:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:51:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码