柔性数组在实际中应用还是挺多的,看过上一篇文章分享一种灵活性很高的协议格式(附代码例子)的小伙伴不知有没有注意到我们有使用了柔性数组:
大家好,我是杂烩君。嵌入式大杂烩周记主要是一些实用项目学习分享,每篇一个主题。SDS 是 C 的字符串库,旨在通过添加堆分配的字符串来增强有限的 libc 字符串处理功能。
嵌入式人工智能是当前最热门的人工智能商业化技术之一,所谓的嵌入式人工智能,就是设备无须联网通过云端数据中心进行大规模计算,而是在本地计算就能够实现人工智能,在不联网的情况下就可以做实时环境感知、人机交互、决策控制。随着嵌入式人工智能的发展,深度学习、智能驾驶、智能家居、AI机器人等嵌入式人工智能相关领域成为IT行业乃至大众眼里的焦点。
万物互联作为未来社会的发展趋势,其技术进步和应用进展 一直是社会关注的焦点。业内人 士认为,目前信息社会的发展已 经开始从“互联网+”向“万物+” 转变,同时“万物+”所需技术条件 基本具备。未来,“万物+”将在大 数据、云计算等技术的支撑下,挖 掘万事万物的数据价值,衍生出 新的应用类型和商业模式,目前,嵌入式AI已经开始进入市场 ,特别是在自动驾驶与数据安全领域得到快速的渗透与应用。同时,数据安全也是关注的一个要点,上传到云端的计算意味着隐私被泄露的风险提升。但是不管怎么样,嵌入式人工智能的发展势头强劲,势必将引领下一个技术浪潮。而同时随着手机这类用户移动智能终端相关技术的变革,嵌入式人工智能才得以实现并且不断发展。
STM32CubeIDE在stm32开发者起着最基础的作用,在STM32CubeIDE中配置FreeRTOS中间层时需要选择interface,其中有三个选项:Disable、CMSIS_V1和CMSIS_V2
《C语言接口与实现(创建可重用软件的技术)》是一本有关设计、实现和有效使用C语言库函数的书,其形成了一种基于接口的设计途径来创建可重用的API,掌握创建可重用C语言软件模块技术的参考指南,简单地说就是模块化,可重用,架构清晰。
10月22日消息,据外媒Tomshardware报道,一家俄罗斯研究所正在开发自己的半导体光刻设备,该设备可以被用于7nm制程芯片的制造。目前该设备正在开发中,计划在 2028 年建成。当它准备好时,可能会比 ASML 的 Twinscan NXT:2000i 工具更高效,后者的开发时间超过了十年。
之后新建新的工程,添加.a文件就可以使用了,当然也可以使用keil来添加,但是keil默认的是用.lab,需要自己配置一下文件属性,改为lib文件即可。一半release sdk的时候用这种方式很关键的,毕竟自己的核心代码不难让别人看到,当然比尔也可以反向编译搞出来,所以在此之前最好也是代码混淆一下,这个后续再说。
邢孟棒,曾供职于阿里、网易,目前在腾讯云专职做性能优化方向。Linux 业余爱好者,偏好钻研各类工具源码与底层技术原理。在日常的性能工程实践中,比较注重方法论的探索、优化案例的沉淀。热衷于 eBPF 技术,擅长传统工具与 BPF 工具的结合应用。
从文章Linux Kernel运行时安全检测之LKRG-原理篇可以看到,LKRG可以对正在运行的Linux内核进行检测,并希望能够及时响应对正在运行的进程用户id等凭证未经授权的修改(完整性检查)。对于进程凭据,LKRG尝试检测漏洞,并在内核根据未经授权的凭据授予访问权限(例如打开文件)之前采取行动。并且是以可加载的内核模块的形式,检测正在运行的内核是否存在更改情况,以表明正在对其使用某种类型的漏洞利用。除此之外,它还可以检查系统上运行的进程,以查找对各种凭证的未经授权修改,以防止这些更改授予额外的访问权限。
虽然经常更新内核版本通常被认为是一种安全最佳实践,但由于各种原因,尤其是生产环境中的服务器无法这样操作。这就意味着在机器运行时,会存在利用已知的漏洞(当然,还会有一些未知的漏洞)来进行攻击的情况,所以需要某种方法来检测和阻止对这些漏洞的利用,这正是Linux Kernel Runtime Guard(Linux内核运行时保护LKRG)诞生目的所在。
在我仔细研究Linux内核中的ftrace之后,发现ftrace中的各个tracers的作用一直被人们严重低估了, 比如我们会花了大量的时间去理解Linux内核中的一块代码,然后猜测可能的执行流, 但是ftrace会首先直接告诉你整个执行流,然后你再去查看代码,这样无论从效率和准确度来讲都是极大的提升。
计算机运行在物理世界中,物理世界中的一切活动都需要消耗能量。能量的形式有很多种,如热能、核能、化学能等。计算机消耗的是电能,其来源是电池或者外电源。计算机内部有一个部件叫做电源管理芯片(PMIC),它接收外部的电能,然后转化为不同电压的电流,向系统的各个硬件供电。什么硬件需要多少伏的电压,都是由相应的电气标准规定好了的,各个硬件厂商按照标准生成硬件就可以了。上电的过程是由硬件自动完成的,不需要软件的参与。因为硬件不上电的话,软件也没法运行啊。但是当硬件运行起来之后,软件就可以对硬件的电源状态进行管理了。电源管理的内容包括电源状态管理和省电管理。电源状态管理是对整个系统的供电状态进行管理,内容包括睡眠、休眠、关机、重启等操作。省电管理是因为电能不是免费的,我们应该尽量地节省能源,尤其是对于一些手持设备来说,电能虽然并不昂贵但是却非常珍贵,因为电池的容量非常有限。不过省电管理也不能一味地省电,还要考虑性能问题,在性能与功耗之间达到平衡。
我是从ARM7TDMI开始接触ARM架构的,当时很幸运有DSP的学习基础,同时遇到了把ARM架构和操作系统结合讲解的书籍。这样,结合自己不断的实践,一直可以跟上ARM架构的演进。长期的跟踪也让我容易能看到ARM的趋势,我从Linaro在做ARM NEON指令集优化关注到Linaro,后面持续的关注以Linaro为首ARM生态组织的发展,几年后的2017年,我作为演讲人分享了ARM架构下的一个TLB性能优化方案,实现了从关注到深度参与到过程。
图形系统是计算机中最重要的子系统之一。我们平时使用的电脑、手机都是图形界面的。对于普通人来说,没有图形界面的计算机几乎是没法用的,今天我们就来讲一讲图形系统背后的原理。