自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

翻译 添加一个新的系统

添加新系统到 OpenBMC内容:如何添加一个新的系统到OpenBMC版本受众:熟悉OpenBMC的开发者需求:完成了环境配置文档总览本文档将描述如下的内容:回顾Yocto与BitBake的历史 创建新的系统层 完善这个新的层 编译新的系统并使用QEMU进行测试 为sensor,LED,资产等内容添加配置背景OpenBMC版本基于Yocto项目。Yocto项目允许开发者创建定制化的Linux发行版本。OpenBMC使用Yoct...

2021-12-07 22:54:38 1244

翻译 简单OpenBMC术语

术语表包含OpenBMC项目、OpenBMC参考平台(如OpenPower或ASpeed)、BMC或平台管理包含的规定内容 需要澄清的内容。比如image可以用来表示图像或固件镜像 这些内容的首字母缩写BMC- 基板管理控制器(Baseboard management controller),用来进行远程带外管理的设备,可以访问主机(通常是一个计算机系统)D-Bus- 为OpenBMC系统提供初步的进程间通讯的机制,OpenBMC D-Bus APIs在GitH...

2021-12-05 23:13:30 1004

翻译 OpenBMC中的Yocto

OpenBMC 中的 YoctoYocto项目是一个开源项目提供样例、工具以及方法来帮助你创建商用的基于Linux的嵌入式系统产品,而与硬件架构无关。OpenBMC使用Yocto提供的工具来管理配置以及创建BMC镜像。使用 Yocto 进行开发在OpenBMC中有两个主要的使用案例:从master或现有的tags中进行构建 提交修改到master中第一个是一个简单的案例,在使用bitbake之前构建系统,例如PalmettoZaiuscheatsheet.第二个案例可以通过Y

2021-12-02 23:19:26 785

原创 使用grep进行简单的搜索

Linux grep 命令在文件中搜索字符串grep命令最基本的使用方法是在文件中搜索字符串(文本),比如下面的例子在~/.bashrc中搜索带有export关键字的语句:xdd:~$ grep export ~/.bashrcexport JAVA_HOME=/usr/lib/jvm/jdk-11.0.13export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexp

2021-12-02 22:37:40 641

原创 FreeRTOS互斥

互斥信号量是一个特殊的二值信号量类型,用来控制访问多个任务之间共享的资源。允许使用互斥需要在FreeRTOSConfig.h中配置configUSE_MUTEXES为1。在一个互斥访问的场景,互斥信号量可以被认为是一个令牌,只有拥有这个令牌的任务才能访问某一资源。因此任务在访问这一资源时,要先取得令牌,才被允许访问资源。而在访问资源完毕后,要将令牌放回到原来的位置,供其他任务或自己获取。这时候我们可能会有疑惑,这个功能不是与之前介绍的二值信号量相类似吗,这里我要提两点不同..互斥信号量在使用完.

2021-08-11 20:10:44 954

原创 FreeRTOS资源管理

在一个多任务系统中存在如下的潜在问题:非原子操作。当一个任务在访问一个资源,且尚未完成一次访问,此时被调度退出运行态,另一个任务/中断进入访问这个资源将会产生一些意想不到的问题。一些典型的例子如:访问外设,比如写LCD 任务A执行写”I love you”到LCD 在写到”I ”之后,任务A被任务B抢占 任务B写”do not”到LCD 切换回任务A继续执行继续之前的上下文操作 LCD输出内容将会是:”I do not love you”读、修改、写操作这个操作是非原子的,因为.

2021-08-11 20:09:41 163

原创 FreeRTOS中断与同步

FreeRTOS为中断提供了丰富的API(),旨在保持中断服务例程尽量的短小。此时不再在中断服务程序中进行中断的处理,而是告知任务,此时需要某个任务进行中断服务例程的后续处理任务了。缩减中断服务程序出于如下的考虑:一旦进入中断服务程序,即使最高优先级的任务都不能被执行 中断服务程序会打乱一个任务的开始、执行时间点 一旦进入中断,新的低优先级的中断将不能被响应,过长的中断服务例程会增加这个风险 如果中断处理都放到中断中进行,软件处理人员需要注意单片机的片上资源可能同时被任务/中断服务程序访问,比..

2021-08-11 20:08:42 950

原创 FreeRTOS定时器

软件定时器与硬件无关,它由FreeRTOS内核控制调度控制,与硬件的时钟/计数无关。软件定时器功能是一个可选的内容,为使用这一功能,需要如下支持:在工程中添加FreeRTOS/Source/timers.c文件 在FreeRTOSConfig.h中设置configUSE_TIMERS为1 在工程路径中包含timers.h头文件,并在使用API的文件中引用这一头文件一个定时器回调函数的类似于一个任务,它采用软件定时器做为它的唯一参数,软件定时器回调函数声明周期为:开始-结束-退出,切忌在其中加入阻.

2021-08-11 19:59:25 514

原创 FreeRTOS队列

队列正如大家所知为FIFO,一个队列具有队列头与队列尾。FreeRTOS队列元素通过复制这个值到队列中实现。支持多个任务对同一个队列的发送、接收操作,但通常我们在实现业务代码时,使用队列是多个任务向队列发送数据,而一个任务接收队列中的数据,执行业务逻辑。队列支持读写阻塞,阻塞时间可以由用户自由选择。当多个任务同时要向队列写元素时,如果队列只有一个位置,那么只有最高优先级的任务可以向队列写入。当多个任务同时要从队列读元素时,如果队列只有一个元素,那么只有最高优先级的任务可以从队列读出。+++++.

2021-08-11 19:57:45 361

原创 FreeRTOS的任务与调度

首先FreeRTOS可以通过抢占式/时间片方式进行任务调度,这可以通过配置FreeRTOSConfig.h文件中的对应的宏值configUSE_PREEMPTION/configUSE_TIME_SLICING来完成。我使用了抢占式调度的方式,在FreeRTOS中的任务基本满足如下方式:当我们创建一个任务后,这个任务就处于就绪态,处于就绪态的所有任务,挂在同一条任务链表上,当任务开始调度,进行任务切换时,就绪态的任务中具有最高优先级的任务就进入运行态。而运行态的任务在任务执行过程中,可...

2021-08-11 19:56:24 912

原创 FreeRTOS介绍

由Real Time Engineers Ltd(股份有限公司)开发维护。FreeRTOS适用于使用微处理器的深度嵌入式实时应用场景。这类应用通常包含有硬实时或软实时。 硬实时 举例:我们期待安全气囊能够按计划弹出 软实时 举例:敲击键盘,在敲击后,会执行但是会延时一定时间,我们只是感觉到卡顿 在FreeRTOS中,每一个线程被称为一个任务,后续我们所说的线程或任务为同一个概念。我们清楚,类似GD32F407的Cortex

2021-08-11 19:52:36 2180

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除