共 12 篇文章 |
|
实时操作系统的任务调度示例之时间片摘要。作为对比,将程序里的m_delay改为sleep函数(FreeRTOS里就是vTaskDelay),运行结果如下:可以看到周期还是100ms,但每个task输出log之后立马让出CPU,给其它的task运行,而不用再等待时间片耗尽由调度器来强制换出。,从时间戳上看3个task几乎是同时输出log实验2为了更清楚的演示时间片对于程序的影响,... 阅1817 转1 评0 公众公开 18-04-18 11:18 |
void ETH_GPIO_Config(void){ GPIO_InitTypeDef GPIO_InitStructure;ETH_MDIO ————————> PA2ETH_MDC ————————–> PC1ETH_RMII_REF_CLK—————> PA1ETH_RMII_CRS_DV —————> PA7ETH_RMII_RXD0 ——————> PC4ETH_RMII_RXD1 ——————> PC5ETH_RMII_TX_EN —————–> PB11ETH_RMII_TXD0 —... 阅552 转3 评0 公众公开 18-04-11 20:40 |
而操作系统的实现任务切换的时候,是利用了中断机制的,在内存中为不同的任务划分不同的内存空间,这个内存空间里有任务的栈区,可以在需要任务切换前模仿中断机制把程序的状态相关的寄存器压入这个栈区,然后再把sp指针指向另一个任务的栈区(这个栈区里存有该任务的状态相关寄存器)执行中断返回指令,该任务的“状态”就会被恢复到计算机,... 阅1315 转4 评0 公众公开 18-02-01 10:28 |
OSAL 一、概述 OSAL(Operating System Abstraction Layer),翻译为“操作系统抽象层”,OSAL就是以实现多任务为核心的系统资源管理机制。二、OSAL系统的初始化首先在main()中调用OSAL初始化函数Init_Osal(),在Init_Osal()中通过调用osal_init_system()来进行初始化OSAL,在调用osal_init_system()过程中关闭所有中断。这里涉及到... 阅235 转0 评0 公众公开 18-01-10 10:37 |
程序一般不会直接去使用内核线程,而是去使用内核线程的一种高级接口——轻量级进程(Lightweight Process,LWP),轻量级进程就是我们通常意义上所讲的线程(我们在这称它为用户线程),由于每个轻量级进程都由一个内核线程支持,因此只有先支持内核线程,才能有轻量级进程。这样,如果CPU没有采用超线程技术(如四核四线程的计算机),一个用户线... 阅19 转0 评0 公众公开 17-12-20 10:13 |
5分钟搞清楚实时操作系统与非实时操作系统的区别导语。在物联网开发过程中,经常会听到有人谈起实时操作系统,比如VxWorks,uC-OS II, RTLinux等等,那究竟什么才算是实时操作系统?什么是实时操作系统。并不是说Windows系统不够快或效率不够高,而是Windows系统不能提供确定性,所以,Windows不是一个实时操作系统。实时操作系统根据其实时性... 阅1 转自xpxys99 公众公开 17-12-13 13:25 |
几种状态间的转换关系如 线程转换图 所示: 线程通过调用函数rt_thread_create/init进入到初始状态(RT_THREAD_INIT);再通过调用函数rt_thread_startup进入到就绪状态(RT_THREAD_READY);当处于就绪状态的线程调用rt_thread_delay,rt_sem_take,rt_mb_recv等函数或由于获取不到资源时,将进入到挂起状态(RT_THREAD_SUSPEND);处于挂起状态的线程,... 阅140 转0 评0 公众公开 17-12-06 14:15 |
进程、线程、服务和任务的区别。一条线程是指进程中的一个单一顺序的控制流,一个进程中可以并行多个现成,每条县城并行执行不同的任务。当进程内的多个线程同时运行时,这种运行方式称为并发运行。进程和线程的主要区别在于:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中工作,这些线程可以... 阅208 转1 评0 公众公开 17-10-09 13:35 |
此外,有时也会碰到这样的问题,那就是:在 boot loader 的运行过程中我们可以正确地向串口终端输出信息,但当 boot loader 启动内核后却无法看到内核的启动输出信息。(2) 你的 boot loader 对串口的初始化设置可能会和内核对串口的初始化设置不一致。此外,对于诸如 s3c44b0x 这样的 CPU,CPU 时钟频率的设置也会影响串口,因此如果 boot load... 阅23 转0 评0 公众公开 17-08-16 13:56 |
本文将从 Boot Loader 的概念、Boot Loader 的主要任务、Boot Loader 的框架结构以及Boot Loader 的安装等四个方面来讨论嵌入式系统的 Boot Loader。二、 Boot Loader 的概念。这种模式是 Boot Loader 的正常工作模式,因此在嵌入式产品发布的时侯,Boot Loader 显然必须工作在这种模式下。从主机下载的文件通常首先被 Boot Loader 保存到目标... 阅28 转0 评0 公众公开 17-08-16 11:59 |