物联网

社区新人的RT-Thread学习笔记8——内存管理

浪尽此生 提交于 2021-02-11 16:40:45
前言 本文讲RT-Thread的内存管理,包括为何不使用C标准库的内存管理函数、内存管理的特点、RT-Thread 程序内存分布、内存堆管理、内存池管理以及使用STM32进行实验。 一、不直接使用 C 标准库中的内存管理函数的原因 很多人会有疑问,为什么不直接使用 C 标准库中的内存管理函数呢?在电脑中我们可以用 malloc() 和 free() 这两个函数动态的分配内存和释放内存。但是,在嵌入式实时操作系统中,调用 malloc() 和 free() 却是危险的,原因有以下几点: 1、这些函数在小型嵌入式系统中并不总是可用的,小型嵌入式设备中的 RAM 不足。 2、它们的实现可能非常的大,占据了相当大的一块代码空间。 3、他们几乎都不是线程安全的。 4、它们并不是确定的,每次调用这些函数执行的时间可能都不一样。 5、它们有可能产生碎片。 6、这两个函数会使得链接器配置得复杂。 7、如果允许堆空间的生长方向覆盖其他变量占据的内存,它们会成为 debug 的灾难 。 二、内存管理的功能特点 1、分配内存的时间必须是确定的。一般内存管理算法是根据需要存储的数据的长度在内存中去寻找一个与这段数据相适应的空闲内存块,然后将数据存储在里面。而寻找这样一个空闲内存块所耗费的时间是不确定的,因此对于实时系统来说,这就是不可接受的, 实时系统必须要保证内存块的分配过程在可预测的确定时间内完成

社区新人的RT-Thread学习笔记9——PIN 设备

倖福魔咒の 提交于 2021-02-11 15:54:34
作者: sanjay 来源: CSDN 前言 本文主要学习RT-Thread的设备驱动框架之PIN 设备,这里以及后面更新的博客内容将不会详细介绍I/O 设备模型,当学习PIN 设备以及其他设备需要对I/O 设备模型有所了解,请和我一样刚学习RT-Thread的朋友们先自行到《RT-Thread编程指南》看一下I/O 设备模型。这里主要讲解如何访问PIN 设备,针对PIN设备各个函数讲解,以及教你如何基于PIN设备实现自己的GPIO驱动以及基于外部GPIO的外部中断实现,详细的gpio驱动文件的各个函数,学完PIN 设备就可以基于自己的开发板制作一个属于自己的bsp的GPIO驱动文件。本文讲的都是以STM32作为硬件设备的。 一、RT-Thread的架构 学习过FreeRTOS或UCOS的朋友都知道,这两个实时操作系统只有内核,RT-Thread不像FreeRTOS或UCOS, 它不仅仅有内核,还有设备驱动框架(如PIN 设备、I2C 设备、UART设备等)、丰富的上层组件和软件包,而软件包更是做了MQTT、LWM2M等协议,因此,RT-Thread是一个IoT OS,功能强大,这也是我为什么喜欢RT-Thread,学习RT-Thread的原因。 RT-Thread 软件框架图(来源RT-Thread编程指南) 二、I/O 设备模型框架 RT-Thread 提供了一套简单的 I/O

Arduino使用ESP8266模块联网

自作多情 提交于 2021-02-11 15:27:46
ESP8266模块准备 1. 透传程序烧写 2. Arduino与ESP8266接线 Arduino模块程序 测试 总结 上一篇文章已经介绍了 利用 ArduinoIDE开发ESP8266模块,这篇文章介绍一下arduino怎么通过ESP8266模块联网 ESP8266模块准备 1. 透传程序烧写 以下程序的主要功能是: 1. 通电自动连接指定wifi 2. 通过tcp协议连接指定服务器的指定端口 3. tcp连接断线重连 4. 10s自动发送心跳包 #include <ESP8266WiFi.h> const char *ssid = "你的wifi" ; const char *password = "wifi密码" ; WiFiClient client ; const char *host = "服务器" ; const int port = 0 ; void setupWifi() { delay( 10 ); Serial.println(); Serial.print( "Connecting to " ); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay( 500 ); Serial.print( "." ); }

RT-Thread 发布硬件加解密驱动框架

拟墨画扇 提交于 2021-02-11 15:21:57
近些年万物互联成为国家发展战略,物联网技术出现了蓬勃发展的迹象。各种物联网设备逐渐走入人们的日常生活中,信息安全在物联网领域也越来越重要。 为保证物联网设备的信息安全,软件层面引入了TLS安全传输层协议,同时硬件芯片上也逐渐添加安全相关的加解密模块,甚至出现了专为安全设计的安全芯片。 芯片上的硬件安全模块相比纯软件实现的安全算法,拥有更快的运算速度,更小的资源占用。 但大多数物联网设备上仍在使用纯软件的安全算法。 其中最重要的一个原因,就是硬件接口不一,种类繁杂,软件对接起来比较困难。 图片来源pixabay无版权图库 因此 RT-Thread 推出了 hwcrypto - 硬件加解密驱动框架 ,并对接了常见的安全传输套件。只要硬件支持加解密模块,就能直接使用基于硬件加解密的安全传输套件,传输速度提升数倍。 01 介绍 hwcrypto 是一个硬件加解密设备驱动框架。主要由硬件加解密驱动抽象层以及各种加解密API接口两部分构成。对于上层应用,可对接安全套件或直接使用,使用方式十分灵活。对于驱动,需要对接的接口少,功能单一。驱动开发简单快捷。主要特性介绍,参见下 文 。 02 特性 1、设计轻薄,运行高效 硬件加解密驱动的最重要的一个功能就是接口转换,实现接口统一,方便上层应用使用硬件加解密。所以它被设计的十分轻薄。有着极低资源占用,ROM < 0.8K / RAM < 0.2K。

《RT-Thread驱动框架分析》-Pin驱动

老子叫甜甜 提交于 2021-02-11 14:57:46
简要 接下来做一个专辑《RT-Thread驱动框架分析》,我会按照自己的理解来描述每一个驱动。有不对的欢迎随时来怼我。 RT-Thread的版本分为两大类,一个是完整版本,一个是nano版本。而驱动框架是相对于完整版本的。所以要了解驱动框架,只能在完整版上了解。 RT-Thread提供了很多驱动框架,比如常见的外设驱动:I2C, SPI等。还有网络相关的WLAN驱动等。 驱动框架分析,主要以STM32来分析。 驱动分析 API简要说明 RT-Thread的pin驱动为上层应用提供两套不同的API,一套是对接设备驱动框架。一套是封装好的API,用户层可以直接使用。接下来我们来分析一下这两套API的使用,以及实现。 pin框架层次 用户访问的方式的接口不同,访问的层次是不一样的。 层次结构如下: 从上面的图可以看出,对于不同芯片,用户层的接口是统一的,而对于驱动层来说,只需要对接好相应的回调函数。 通过统一的接口,应用开发人不需要知道底层驱动,也减少造轮子的时间。 GPIO驱动层 驱动层的任务主要有:①对接底层硬件,②对芯片的GPIO统一编号,③注册下面描述的6个回调函数。 驱动层中,我们特别关注一个结构体rt_pin_ops,如下: /* pin.h */ struct rt_pin_ops { void (*pin_mode)(struct rt_device *device,

团油App焕新 品牌主张“省大钱”

谁说胖子不能爱 提交于 2021-02-10 18:22:38
近日,能链集团旗下团油App宣布品牌焕新,启用全新品牌主张“省大钱”和全新图标设计。春节期间,团油App还将在湖南、东方、浙江、江苏四大卫视,发布“团油省大钱” 视频广告,并联动全国主要城市的社区电梯广告、及今日头条等渠道,将“加油省大钱,上团油App”植入4亿中国车主心智。 品牌新主张“加油省大钱” 全新图标和视频广告同步亮相 我们注意到,团油此次品牌焕新围绕“省大钱”做文章。团油App的新图标,仍以红色为品牌色、以文字“团油”为主要标识,但在原基础元素上增加“省大钱”三字,突出团油优势。“油点”设计由白色改为黄色,这让团油主营业务更加亮丽醒目,辨识度更高,也有“省钱就在点滴间”之意。 同期发布的全新视频广告同样凸显“省大钱”理念:私家车车主每周上下班和家人出游,使用团油App加油,一年能省千元;货运司机每年跑上百个城市,使用团油App加油,一年能省万元。视频广告以首尾呼应的方式,强调 “加油省大钱,上团油App。” 私家车主一年省千元 货车司机一年省万元 对于有车一族,加油费用是笔不小的开支,“如何节省油费”更是大家长期热议的话题。作为受中国4亿车主信赖的第三方加油平台,团油一直秉承为车主提供质优价低的一站式加油服务理念,用户通过团油加油,可享受全国2万多座加油站的优惠价。 根据计算,用户通过团油App加油,综合优惠后,如果油价便宜0.5元/升,以百里油耗为8升

40年未有之大变局,小家电江湖谁主风云

核能气质少年 提交于 2021-02-10 13:21:53
文 | 曾响铃 来源 | 科技向令说(xiangling0815) 从今年年初开始,小家电“破圈”之势不可阻挡,一场“黑天鹅”让人人都成为了料理大师,加上对健康的追求,无油空气炸锅,多功能料理锅,三明治机,低糖电饭煲等等产品一夜之间全都成为了市场“刚需”,似乎一切都在欣欣向荣。 不过,也有人在此提出质疑,小家电产品被“爆买”到底是“厚积薄发”还是“昙花一现”?随着小家电产品“消费品属性”的突显,如何能让这一市场长期、稳定、健康地发展下去,成为市场关注的焦点。 1 美的“科技月”背后,是“数字生活”需求的大爆发 日前,美的第25届“科技月”活动正式开启,透过“科技月”能看到诸如美的这样的大品牌对于小家电产品的“长期态度”。 与此前24届活动一样,今年美的“科技月”依旧展现了美的对于“前沿科技”的关注和投入,且今年超4000万元奖补科创项目、人员,数额均创下历史新高。 “智能化创新”成为了美的重要抓手,同样这也是美的保持小家电产品活力的重要路径。众所周知美的一直以压倒性优势占据着小家电市场头名,像新品类的空气炸锅,多功能锅等,今年的市场表现同比实现了300%的增长;破壁机系列9月上市至今,水洗系列累计销售24000台,首发第一周即登顶行业销量TOP1,首月系列市场占比达12.5%。 美的能够持续取得这样的成绩,与其依托于不断技术创新和产品迭代迅速息息相关

【企业数字化转型】数字化转型的本质(学习笔记)

对着背影说爱祢 提交于 2021-02-10 06:32:32
摘要:数字化转型的本质是:在 “数据+算法” 定义的世界中,以智能数据服务的流动,化解复杂系统的不确定性,优化资源配置效率,构建企业新型竞争优势。我们要换一个视角,我们从一种静态思维、机械化思维,走向生态思维、系统思维。企业竞争的本质就是资源配置效率的竞争,就是要以数据自动流动化解复杂系统的不确定性,优化企业资源的配置效率。 数据是基础 以客户需求为中心,以数据为资产,以技术为手段,以人才为依托,构建能快速满足客户需求的支持业务创新的技术平台体系,支撑客户服务和业务创新。 数字化 数字化就是要通过各种技术手段收集企业日常运营和创新所需的数据;客户使用产品或服务的体验数据;市场变化数据;行业趋势数据等等,形成企业日常运营的全景图、客户全景图、产品全景图、市场变化及行业趋势全景图等,从而提升企业运营效率,创造新的业务模式。企业通过数字化手段挖掘数据的价值,可以发现企业运营中可以改善的地方,甚至开发新的业务模式。 数据是生产资料 数据是数字化的基本的生产资料,数据的质量直接决定了数字化的能力、所能达到的深度和广度。我们一再强调数据治理,强调数据的重要性,把数据提升到企业的核心资产上来,也是因为高质量数据所能带来的高价值。社会经济全面数据化,所有企业必须用数据发展。数据已成为企业的核心资产,将数据资产进行有效的管理和使用,是数字化转型的重点。要管理和使用数据,数据治理是难点

贴上AI的激光电视,到底是传统厂商的护城河,还是新势力的诺曼底

末鹿安然 提交于 2021-02-10 05:19:15
作者|胡杨 来源|智能相对论(aixdlun) 就在大家围着AI讲故事的瞬间,电视行业也没闲着,而且还加上了“激光”。 5月15日极米科技在发布无屏电视H2、H2 Slim之外,还重点推出了激光电视皓·LUNE,并把价格拉到了万元级:10999元。随后,5月17日,海信发布L5和L7系列4K激光电视,其中海信80吋L5 4K激光电视的价格也到了2万元以下。 初步统计,目前推出激光电视产品的品牌不下二十家,可分为4大类: 1 、传统彩电品牌, 如海信、长虹,作为行业中的“扛旗者”,他们熟悉彩电业,并拥有市场口碑和渠道资源。 2 、互联网概念新势力, 如极米、小米、艾洛维等,他们具有互联网思维,要么基于成本定价,比如小米,希望快速打开销路;要么提出“品价比”,如极米,希望通过提供既优质又亲民的价格,来满足消费升级的需求。 3 、传统投影品牌, 如索尼、明基等,他们深耕“投影”圈,具有垄断资源,是激光显示市场多元化发展的主力军。 4 、本土投影品牌, 如光峰、美乐等。 如今,激光电视正从“专属精密仪器”逐步变身为“普通家用消费品”,成为点燃电视行业的一束明光,但这场四国大战谁会输谁能赢? 一 猝不及防,大家磨刀霍霍向“激光电视” 回答这个问题之前,我们不妨先问问为什么激光电视能火。 尽管激光电视进入市场才三四年,但市场发展超乎想象,这除了消费升级热潮外

「网安新春训练营」限时开放,这个春节一起云充电!

烈酒焚心 提交于 2021-02-09 15:52:22
2021牛年新春如何继续学习? "云充电"了解一下! 腾讯安全携手腾讯云大学推出 「网安新春训练营」 8位安全专家带你一起解读热门安全领域 新春限时开放 👇戳下方即刻预约 01网安新春训练营知识点前瞻 一、从理论到实践一次讲清等保合规 等保经历了什么样的发展过程?如何理解等保的标准、定级和具体施行过程?在等级保护主题课程中,腾讯安全专家将从理论到实践全景分享等保的知识点,同时还将详细解读网络运营者等保合规路线图,助力企业顺利过保。 二、企业如何构建数据安全体系 数据安全始终是企业的重中之重,但面对复杂的业务系统和海量的数据资产,企业往往无从下手。本次网安训练营将带来企业数据安全体系构建的六步法则,详解腾讯安全新推出的“数据安全微咨询服务”,帮助企业理清数据安全建设的思路。 三、如何在应用开发阶段嵌入安全基因? 开发以及其引发的安全问题总是相生相伴。最近几年,国内有越来越多的开发团队和企业开始践行 DevOps 的研发模式。随着 DevOps 的发展,研发安全保障的思维和技术也在不断演化发展,其中一个重要的思想就是 DevSecOps。本次课程,腾讯安全专家将系统性解读DevSecOps安全开发解决方案,手把手传授如何在开发阶段嵌入安全基因的秘诀。 四、案例说话,深入分析IoT常见攻击面 随着数字化进程的加速,万物互联的世界正在到来,但也对IoT安全提出了前所未有的挑战