随着物联网的越来越火,嵌入式工程师需要更多的网络知识,其中TCP/IP协议栈是我们经常要用到的,在公众号里曾给大家介绍过开源的Uip和LwIP协议栈,并在freeRTOS下移植过,其中这两款协议栈的比
信号量同样是RTOS学习中很重要的一节,信号量可以用在共享资源或者同步任务中,对执行权的控制,谁拥有信号量谁拥有执行权,在freeRTOS中信号量和互斥量有点不同,关于信号量的更多描述可以参考官网相关网页描述。每一个信号量都需要少量的内存来保持信号量的状态,那么这内存是如何分配的呢,这根据使用的API函数会有所不同,创建信号量主要有xSemaphoreCreateBinary()和xSemaphoreCreateBinaryStatic() ,使用前者创建信号量,则所需的内存将会自动从freeRTOS的堆上
在很早之前我们就曾在公众号里给大家介绍过freeRTOS,并且还介绍过在NXP kenitis KV46上的移植,相信很多猿友应该还有印象,freeRTOS因其占用资源少,开源等特点,应用越来越广泛,尤其是在嵌入式开发领域,随着物联网的大热,更是火的一塌糊涂,据官方报道,平均每260秒就有一次freeRTOS的下载。 虽然freeRTOS是开源免费的,但是在做产品时候,还是要注意,从freeRTOS到OpenRTOS在到SafeRTOS的区别,选择合适自己的。不同的license提供的支持也不一样。一张图就
在上次的公众号推送文章里,我们简单介绍了下单独的freeRTOS在kinetis K60上的例程分析和移植提示,今天我们看看如果是KSDK和freeRTOS会擦出什么火花呢,没错,自NXP并购freescale后,在新推出的KSDK中将不在支持MQX,而是大力推freeRTOS,这个我们在之前提到过,今天我们就以KSDK2.0为例介绍下,KSDK集成进freeRTOS后,NXP已经给大家做好了很多工作,例程,你只需简单修改就可以轻松应用于自己的硬件系统,例如我们打开一个基于kinetis K64的u
在之前的公众号文章《freeRTOS源码目录结构分析》中我们简单介绍了源码目录结构,文件夹包含的内容,今天我们来分析下以NXP的kinetis K60塔式系统为硬件平台的例程。 首先打开例程,我们的源
FreeRTOS,全称Free Real Time Operating System,即免费的实时操作系统。相比于计算机中用到的Windows,MacOS,Linux等操作系统,实时操作系统(RTOS)是一种轻量级的操作系统,适用于嵌入式硬件中,用于解决单片机类裸机轮询方式在处理多个任务时的实时性不高的问题。
自上次发布freeRTOS在K64上移植后,好多猿友说我还是一点也不会移植怎么办,没事,如果是用NXP的片子,那么KSDK这次来帮你,我们曾多次介绍过恩智浦KSDK的目录结构和工程,在V2.1版本后,
在公众号给大家介绍过Uip和LwIP,如果使用过这两种TCP/IP协议栈,那么你一定会熟悉一个人Adam Dunkels亚当-邓克尔,瑞典计算机科学院的教授,这两种开源的协议栈都出自他手,现在是Thi
在工业控制中,我们除过用Modbus RTU外还经常会用Modbus TCP/IP,在公众号里,曾给大家介绍过libmodbus,如何编译和安装,今天我们就来演示下Modbus TCP/IP的例程,给
在详解FreeRTOS:嵌入式软件系统架构(理论篇—1)文章中,讲解到轮询系统架构、前后台系统架构和多任务系统架构的特点和区别。从本篇文章开始讲一讲嵌入式多任务系统架构的理论知识。
首先新建或找一个基于Keil的STM32基础工程,这里我已经创建好了一个STM32F407VET6的工程模板,工程结构如下图的第1步的矩形框内所示。
如今时下,物联网大火,都想给自己的产品插上物联网的翅膀,增加产品的价值,提高产品的逼格,给客户更好的体验和评价,那么今天我们就来看看一款NXP和高通合作的wifi模块产品QFM2202. 因为最近在使
STM32CubeMX是被广泛使用的。它集成了芯片选型、引脚分配和功能配置,中间件配置,时钟配置,初始代码和项目的功能。其中STM32CubeMX和STM32Cubeprogrammer,除了对所有STM32芯片系列,和所有应用的通用支持之外,还有一些对特定应用的支持,比如STM32Cube.AI就是基于STM32CubeMX的插件功能,来把训练好的模型部署到STM32上;还比如在安全固件升级和安全固件安装,即SBSFU和SFI操作里,STM32CubeProgrammer就启动了代码加密,HSM实例化等功能。STM32支持丰富的开源和ST自主知识产权中间件,比如来自开源社区的FreeRTOS,FatFS,mbedTLS;ST自己的USB主机和设备协议栈,TouchGFX等。 因此除了对外设各种功能的工作模式和参数进行配置, 当我现在的应用需用用到FreeRTOS,我不仅可以勾选并使能上该组件,还可以对FreeRTOS进行配置,比如内核配置可以设置是否支持抢占、系统嘀嗒的间隔;可以在这里以图形化界面的方式创建信号量、互斥量、创建任务等。所有这里的配置,都会影响到最后产生的初始化代码。
我们曾经在公众号里给大家推送过关于freeRTOS在NXP kinetis KV4x上的移植,得到了猿友大量的反馈,很多猿友还是感觉对基础的一些东西不懂,今天我们就从基础的任务创建讲起,任务创建是RTOS学习中很重要的一步,因为你的应用就是基于大量的任务来实现的,那么在freeRTOS下如何来创建任务呢,首先打开任意一个移植好的例程或者我们移植的demo,找到task.h和tasks.c这两个文件里面定义声明了许多与任务相关的类型和函数。我们今天要讲的任务创建就来自这里。任务的创建主要有两个函数,先来看第一
仅仅声明结构体类型是不够的,要使用结构体数据,还要声明结构体变量,结构体类型变量的语法形式如下:
物美智能是一套开源的软硬件系统,可用于二次开发和学习,快速搭建自己的物联网/智能家居系统。硬件工程师可以把自己的设备集成到系统;软件工程师可以使用项目中的设备熟悉软硬件交互。
恩智浦针对kinetis系列MCU推出的KSDK2.0比以前的1.x版本有了很大变化,目录结构有很大不同,且不在支持MQX操作系统,所以在应用中要注意区别对待,另外一个特别大的变化是用户可以在网站使用
本次案例用到的是创龙科技的TLZ7x-EasyEVM-S开发板,它是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC评估板,处理器集成PS端双核ARM Cortex-A9 + PL端Artix-7架构28nm可编程逻辑资源,评估板由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
机器之心报道 编辑:小舟 买不到 Raspberry Pi Pico,可以单买 RP2040。 今年 1 月,树莓派发布了其第一个微控制器级开发板 Raspberry Pi Pico,售价仅为 4 美元。擅长低时延 I/O 通信和模拟信号输入的 Pico 搭载的是自家设计的树莓派芯片 RP2040。现在这块芯片也开始单独出售,售价只有 1 美元。 RP2040 芯片 RP2040 芯片由树莓派自己设计开发,采用 40 nm 制程工艺,7×7 mm QFN-56 封装。RP2040 的设计思想基于多年来树
RISC-V(跟我读:“risk----------------five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。
本篇笔记主要介绍如何移植freeRTOS嵌入式实时操作系统到恩智浦kinetis k64系列MCU上,以NXP的塔式系统TWR-MK64F为硬件平台,移植freeRTOS v9.0.0源码包,实现按键点灯,LED 闪烁,web server等功能,以IAR7.4版本为开发环境,移植前,要求熟悉freeRTOS源码目录结构。 1、准备工作 官网下载freeRTOS源码包V9.0.0 解压到本地电脑上 装有IAR的电脑 塔式系统平台TWR-K64F120M 之前曾多次提到过,移植一个源码包,必须熟悉他的源码
在NSDI2022会议上,谷歌发布了数据中心分布式交换架构Aquila。 Aquila是一种实验性的数据中心网络架构,将超低延迟作为核心设计目标,同时也支持传统的数据中心业务。Aquila使用了一种新的二层基于单元的协议、GNet、一个集成交换机和一个定制的ASIC,ASIC和GNet一同设计,并具有低延迟远程存储访问(RMA)。 Aquila 能够实现 40 µs 以下的IP 流量拖尾结构往返时间 (RTT) 和低于 10 µs的跨数百台主机的 RMA 执行时间,甚至在存在面向吞吐量的后台 IP 流量的情
说明 硬件定时器有两组,0和1. 然后每一组都有两个定时器,0和1. 所以共有四个定时器 什么是定时器?定时器具体是怎么到了时间进去中断的? 定时器里面是啥?就是个计数器.定时器的时钟,就是计数器的时
FreeRTOS 源码中有三个文件夹,7 个 HTML 格式的网页和 2 个 txt 文档,HTML 网页和 txt 文档看名字就知道是什么东西了,重点在于上面那两个文件夹:FreeRTOS 和 FreeRTOS-Plus,这两个文件夹里面的东西就是 FreeRTOS 的源码。
博主最近在搞 Sensor hub,跑的是 FreeRTOS,所以来学一学 FreeRTOS。
RTOS 系统的核心是任务管理,而在实时操作系统中,任务和线程在概念上其实是一样的。所以任务管理也可以叫做线程管理。初步上手 RTOS 系统首先必须掌握的也是任务的创建、删除、挂起和恢复等操作,由此可见任务管理的重要性。在日常生活中,我们要完成一个大任务,一般会将它分解成多个简单、容易解决的小问题,小问题逐个被解决,大问题也就随之解决了。在多线程操作系统中,也同样需要开发人员把一个复杂的应用分解成多个小的、可调度的、序列化的程序单元,当合理地划分任务并正确地执行时,这种设计能够让系统满足实时系统的性能及时间的要求。本文中使用的例子,多是参考与FreeRTOS和RT-Thread。
往届互联网校招中一直都是软件为大,硬件不管是从招聘规模还是薪资来说可能都比不上软件行业。
任务挂起简单点理解就是现在不需要执行这个任务,让它先暂停,就是挂起。恢复就是从刚才挂起的状态下继续运行。
FreeRTOS与uCOS II均为嵌入式实时操作系统,各有优劣,本文为你仔细分析。
在早期那个大规模集成电路还不是很普及的时代,处理器、内存等元件非常昂贵,那时的多用户多任务是实现在单处理器上的。
FreeRTOS源码分为两种,一种是FreeRTOS包,另一种是FreeRTOS LTS Release包。
这里是IEEE,电气电子工程师学会,这里会指定许多的标准,我们的头文件就是这里定义的。
ESP32-Drone四旋翼无人机是乐鑫的一个开源项目,我根据官方的硬件参考设计,重新使用KiCAD绘制了原理图和PCB板,并制作了控制板样板,在配置了ESP-idf-4.4编程环境编译官方的软件包时遇到了二个比较严重的问题,具体过程记录如下:
互斥信号量可以在资源保护的时候很有帮助。用于控制在两个或多个任务间访问共享资源。任务1里面用互斥,那么任务2只能等任务1访问完再访问同一个变量。
首先上一段cubemx导出的freertos的配置文件,这个配置文件是cubemx导出生成的。芯片是stm32f103zet6,(freertos代码风格是在是比较差,尤其是名称,看ucos爽多了)
回顾下之前的章节:我们在一个简单的定时器 OS 基础上实现了 cortex-M 系列架构的兼容,并基于单片机的基本资源实现了很多实例。
本教程连载中,篇章会比较多,为方便同学们阅读,点击这里可以查看文章的 目录列表,目录列表页面地址:https://blog.csdn.net/thisway_diy/article/details/121399484
我发现学习 RTOS 是学习 Linux 内核的好方法。大有弯道超车的可能。 1. 任务堆栈 1.1 任务栈大小确定 1.2 栈溢出检测机制 2. 任务状态 3. 任务优先级 3.1任务优先级说明 3.2 任务优先级分配方案 3.3 任务优先级与终端优先级的区别 4. 任务调度 4.1 调度器 5. 临界区、锁与系统时间 5.1 临界区与开关中断 5.2 锁 5.3 FreeRTOS 系统时钟节拍和时间管理 一、 单任务系统(裸机) 主要是采用超级循环系统(前后台系统),应用程序是一个无限的循环,循环中调用
最近腾讯有个嵌入式的比赛,我有点心动,但是我又有点怕做不出来东西。所以我在这里立下宏愿(有点日宣),手写一个freertos出来,然后我就报名。
嵌入式系统在现代科技中发挥着越来越重要的作用,从智能家居到工业自动化,嵌入式设备已经无处不在。在开发嵌入式系统时,选择合适的操作系统是至关重要的一步。本文将深入探讨几种常见的嵌入式操作系统,并通过代码示例来比较它们的特性,以帮助开发者选择适合其项目的操作系统。
自从恩智浦合并飞思卡尔后,新推出的SDK将不在支持MQX实时操作系统,主要支持freeRTOS,freeRTOS是开源的免费操作系统,使用的人非常多,据网站上消息,平均每260秒就有一次freeRTO
紧急避坑!!!如果没有用freertos,那中断优先级设置没啥关系。但如果用了freertos,那SDIO的优先级必须要注意跟freertos区分开来,不能高过他!不然就是mout正常,read等其他操作都返回错误3 not ready。
上周鸿蒙2.0开源,想必很多人都想第一时间体验。 今天,百问网发布鸿蒙IMX6ULL烧写工具以及鸿蒙体验手册,欢迎下载体验。
控制GPIO25输出高低电平 1.原理图 📷 2.参考官方例程 📷 3.程序 📷 #include <stdio.h> #include <string.h> #include <stdlib.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/queue.h" #include "driver/gpio.h" #define gpio_pin 25 void app_main(void) {
前一篇文章我利用Anyproxy爬取微信公众号文章及临时链接转永久链接,这个方法可以获取到文章的点赞数,阅读数之类的信息。如果你的需求只是需要获取某个微信公众号的所有文章,并且文章的链接是永久链接,那
作者:契约 摘自:移动互联网(微信公号ID:sjydhlw) 文/契约 目录: 一、前情提要 二:数据来源及样本详情 三:用户使用普通微信公众号行为习惯 四:用户使用商家微信公众号行为习惯 一、前情提
也许你已经知道,微信提供了「小程序关联公众号」的功能,而且小程序还能关联 50 个公众号。
微信也是一张流量温床,奈何转化能力一般,而小程序的出现结合小程序一起,从公众号呈现内容,到引流吸粉,再到转化成交,很大程度上帮助了商家解决了高成本问题。
今天,知晓程序(微信号 zxcx0101)就接着上期,手把手教你如何将小程序与公众号关联起来。
领取专属 10元无门槛券
手把手带您无忧上云