先问下大家,有多少小伙伴做过电池供电的低功耗产品?现在疯狂内卷的时代,不但卷硬件,还要卷功耗低,待机1uA、一节电池用2年...... 当然,电池供电的硬件产品,低功耗设计也是提升产品竞争力的关键因素之一。低功耗设计的主要意义:延长电池寿命:对于便携式设备(如智能手机、平板电脑、可穿戴设备等),低功耗设计能...
上文我们讲了两种算法来量化单个任务的负载,同时遗留了一个问题,就是小任务,到底是选择大核运行还是小核运行。其实这个问题在ARM推出big-little架构的时候就考虑到了。linaro在2015年就尝试将功耗引入到scheduler的逻辑里面 [链接]
往期推荐:任务调度器:从入门到放弃(一)理想与现实的差异在上文中,我们提到,一个优先级100的线程,跟一个优先级为120的线程进行公平调度的资源抢占的话。从抓取的一份systrace上简单的对比来看,其份额大概是24:1856 (systrace上随便框的,数据不够准确,看个大概就行了)。大概有个概念就行了,这里不准备深入分...
大家在进行RTOS开发的过程中一定有了解过优先级翻转这个问题,就是低优先级任务会由于共享资源优先高优先任务先执行,这违背了抢占式内核的实时表现,解决RTOS中优先级翻转问题的核心在于管理共享资源访问,特别是互斥锁的使用策略,目前主流的RTOS都有集成优先级反转策略的优化措施,不够每家各有不同,不过解决该问题...
MR 框架是专为嵌入式系统设计的轻量级框架。充分考虑了嵌入式系统在资源和性能方面的需求。通过提供标准化的设备管理接口,极大简化了嵌入式应用开发的难度,帮助开发者快速构建嵌入式应用程序。
前级采样电阻上的采样电压 VI_AMP_IN 经 U6 的跟随作用 VI_AMP_OUT 送至 ADC 进行A/D 转换,U6 在此处的作用:减轻“负载效应”提高采集精度。D3,D4 为运放的输入保护二极管,当输入异常电压比电源电压还要高 VF(二极管正向导通压降)或者比地电位低 VF时,二极管将会导通钳位。
一般来说,一些常用的芯片在开发时,即使不熟悉也能参考网上现有的例程。对于一些不常用的芯片,DataSheet就是使用这款芯片的唯一资料。那么,这时候就需要根据DataSheet的时序图写出对应的驱动程序。
这篇系列文章来至于一种冲动, 是在内部作为一些科普文。当然人的冲动不是无故产生的。以前团队内部做过一次简单的项目复盘。在实际参与项目交付过程中,实际解决的问题,在参与分析到相关问题的占比,只有不到15%(不用可怜我们=。=!,都是为人民服务!)。在项目中经常会遇到一些哭笑不得问题。
不了解内核调度机制,可能在写应用代码的时候就会存在一些困惑,比如:CPU是怎么同时执行多个任务、多个任务之间到底有没有关联之类的困惑。
随着汽车和工业的快速发展,现在很多场景下都会用到CAN总线,现在很多单片机内部都集成了CAN总线。而一些初学者用了简单的UART串口之后,发现CAN总线怎么“那么难”。
本期给大家带来的开源项目是 ringbuff ,一款通用FIFO环形缓冲区实现的开源库,作者MaJerle,遵循 MIT 开源许可协议。
我们有些应用可能会用到串口自动识别波特率,今天就来讲讲MCU串口自动识别波特率底层的常见的原理,以及MCU的案例。
提到队列,大家可能首先想到的是RTOS中的“队列”。其实,裸机状态也可以实现类似RTOS队列的效果。
实时操作系统中,每个任务都是一个独立的裸机程序,但是这些任务共享同一个CPU、内存空间、外设,操作系统如何解决这个问题呢?
ring buffer 称作环形缓冲区,也称作环形队列(circular queue),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。如下为环形缓冲区(ring buffer) 的概念示意图。
想要在裸机状态下,简单实现一些类似RTOS环境下的功能,其实网上也有很多组件包,今天 就来分享一款类似的组件:ToolKit.
OTA:Over-the-Air Technology,即空中下载技术。OTA 升级:通过 OTA 方式实现固件或软件的升级。
大家好,我是麦鸽,Linux 系统大家可能都接触过,常见的发行版 Ubuntu,centOS,Debian 等等,那么这些有哪些区别呢?
在物联网设备快速迭代和远程维护需求日益增长的今天,OTA(Over-the-Air)远程升级技术已成为智能硬件开发中不可或缺的一部分。
隔空取物,曾经是玄玄乎乎的江湖传说,谁要是说他能办这事儿,十成会被归为骗子之类,隔空取别人钱财,更是只有武侠小说里才出现的绝技。但现实生活中,这种没接触就被人把钱拿走的事情,如今已经不再是离奇故事,而是每天都在发生着,甚至我们都已经习以为常,比如扫个支付码,刷个 NFC。但今天我们要说的是 ETC(Electr...