此篇博客主要解决一下两个问题!
目录
〇、介绍
龙芯(Loongson):
龙芯是中国的一款自主设计的处理器架构,由中国科学院计算技术研究所(ICT)主导研发。龙芯处理器最早的版本为Loongson-1,其后发展出Loongson-2、Loongson-3等系列。这些处理器主要用于高性能计算、服务器、嵌入式系统等领域。Loongson架构具有独立知识产权,是中国自主研发的一种指令集架构。龙芯的设计旨在实现对计算机体系结构的自主掌握,减少对外部知识产权的依赖。
RT-Thread操作系统:
RT-Thread(Real-Time Thread)是一个开源的实时嵌入式操作系统。它具有轻量级、可裁剪、可移植、开源的特点,广泛应用于嵌入式系统、物联网设备、工控系统等领域。RT-Thread的设计目标是提供一个简单而灵活的实时操作系统,以满足不同嵌入式设备的需求。
RT-Thread的特点包括:
实时性: RT-Thread专注于实时性,提供了实时调度和响应机制,适用于对任务响应时间要求较高的场景。
轻量级: RT-Thread的内核设计简单,占用资源相对较小,适用于资源有限的嵌入式系统。
模块化: RT-Thread采用模块化设计,支持动态添加和移除模块,用户可以根据需求裁剪内核和组件。
开源: RT-Thread使用Apache License 2.0许可,允许用户根据开源协议自由使用、修改和分发。
RT-Thread支持多种处理器架构,包括ARM、MIPS、X86等,也可以运行在仿真器和虚拟机上。它有一个活跃的社区,提供了许多软件包和应用示例,方便开发者在嵌入式系统中使用。
一、基于龙芯工程的rt-thread操作系统的移植。
我们目前只能使用龙芯自己研发的ide进行开发,ide虽然垃圾的一批虽然它 跳转定义和声明不方便、语法错误不能实时监测、报错信息不明确、文档和支持不足、性能差、功能简单。。。的缺点。
但是!人家移植rt-thread操作系统是非常的简单。
第一步、打开龙芯ide
第二步、 新建项目向导
第三步、选择自己的单片机型号和工具链,操作系统一栏选择rt-thread
目前来说只创建一个线程用不着组件
核对一下信息 ,后点击确定。
二、单线程创建
关键函数
rt_thread_t rt_thread_create(const char *name, //线程名字
void (*entry)(void *parameter), //线程入口函数
void *parameter, //线程入口函数参数
rt_uint32_t stack_size, //分配线程的堆栈大小
rt_uint8_t priority, //线程的优先级(0优先级代表最高优先级)
rt_uint32_t tick) //线程所分配的时间片
这是创建一个简单线程的函数,学会怎么用他,那你基本上就入门啦!
实验效果展示
编译成功!
下载成功!
我勒个韶钢啊!这也太神了!
咱们这一期就讲到这里,下次有空了再更,有什么问题请私信UP哦。
源码在此↘
/*
* RT-Thread Application
*/
#include <time.h>
#include "rtthread.h"
//-------------------------------------------------------------------------------------------------
// BSP
//-------------------------------------------------------------------------------------------------
#include "bsp.h"
//-------------------------------------------------------------------------------------------------
// Simple demo of task
//-------------------------------------------------------------------------------------------------
/*定义线程控制块*/
static rt_thread_t m_demo_thread = NULL;
static void demo_thread(void *arg)
{
unsigned int tickcount;
for ( ; ; )
{
tickcount = rt_tick_get();
rt_kprintf("tick count = %i\r\n", tickcount);
rt_kprintf("Welcome to use LS1B!\n\n");
rt_thread_delay(500);
}
}
//-------------------------------------------------------------------------------------------------
int main(int argc, char** argv)
{
rt_kprintf("\r\nWelcome to RT-Thread.\r\n\r\n");
m_demo_thread = rt_thread_create("demothread", //线程名字
demo_thread, //线程入口函数
NULL, //线程入口函数参数
1024, //分配线程的堆栈大小
10, //线程的优先级(0优先级代表最高优先级)
10); //线程所分配的时间片
if (m_demo_thread == NULL)
rt_kprintf("create demo thread fail!\r\n");
else //启动线程,开启调度
rt_thread_startup(m_demo_thread);
return 0;
}
剧透一下,咱们下期讲多线程如何编写程序。
火箭升空的过程中,会逐步解体释放没有燃料的底座,用于减少负重,让达到逃逸速度的舱体飞行更远的太空,而达到太空的舱体在轨道上旋转,当面朝家乡的时候,总是隐约的看到那些,被释放掉的,空空的燃料的底座。
人生就是做加减法,你要减去的东西都是必然的,彼时做了决定就做了改变,此时再回首往事已如烟,你只能继续用你当下的状态,再去做新的加减法。