• stm32CubeIDE中CMSIS_V1和CMSIS_V2选项的区别

    STM32CubeIDE在stm32开发者起着最基础的作用,在STM32CubeIDE中配置FreeRTOS中间层时需要选择interface,其中有三个选项:Disable、CMSIS_V1和CMSIS_V2

  • C语言接口与实现:创建可重用软件的技术

    《C语言接口与实现(创建可重用软件的技术)》是一本有关设计、实现和有效使用C语言库函数的书,其形成了一种基于接口的设计途径来创建可重用的API,掌握创建可重用C语言软件模块技术的参考指南,简单地说就是模块化,可重用,架构清晰。

  • 俄罗斯科学院准备2028年完成7nm光刻机建造

    10月22日消息,据外媒Tomshardware报道,一家俄罗斯研究所正在开发自己的半导体光刻设备,该设备可以被用于7nm制程芯片的制造。目前该设备正在开发中,计划在 2028 年建成。当它准备好时,可能会比 ASML 的 Twinscan NXT:2000i 工具更高效,后者的开发时间超过了十年。

  • 如何使用 SEGGER Embedded Studio创建库文件?

    之后新建新的工程,添加.a文件就可以使用了,当然也可以使用keil来添加,但是keil默认的是用.lab,需要自己配置一下文件属性,改为lib文件即可。一半release sdk的时候用这种方式很关键的,毕竟自己的核心代码不难让别人看到,当然比尔也可以反向编译搞出来,所以在此之前最好也是代码混淆一下,这个后续再说。

  • 邢孟棒:性能工程师书单推荐与性能工程常见误区

    邢孟棒,曾供职于阿里、网易,目前在腾讯云专职做性能优化方向。Linux 业余爱好者,偏好钻研各类工具源码与底层技术原理。在日常的性能工程实践中,比较注重方法论的探索、优化案例的沉淀。热衷于 eBPF 技术,擅长传统工具与 BPF 工具的结合应用。

  • Linux Kernel运行时安全检测之LKRG-实践篇

    从文章Linux Kernel运行时安全检测之LKRG-原理篇可以看到,LKRG可以对正在运行的Linux内核进行检测,并希望能够及时响应对正在运行的进程用户id等凭证未经授权的修改(完整性检查)。对于进程凭据,LKRG尝试检测漏洞,并在内核根据未经授权的凭据授予访问权限(例如打开文件)之前采取行动。并且是以可加载的内核模块的形式,检测正在运行的内核是否存在更改情况,以表明正在对其使用某种类型的漏洞利用。除此之外,它还可以检查系统上运行的进程,以查找对各种凭证的未经授权修改,以防止这些更改授予额外的访问权限。

  • Linux Kernel运行时安全检测之LKRG-原理篇

    虽然经常更新内核版本通常被认为是一种安全最佳实践,但由于各种原因,尤其是生产环境中的服务器无法这样操作。这就意味着在机器运行时,会存在利用已知的漏洞(当然,还会有一些未知的漏洞)来进行攻击的情况,所以需要某种方法来检测和阻止对这些漏洞的利用,这正是Linux Kernel Runtime Guard(Linux内核运行时保护LKRG)诞生目的所在。

  • 使用Ftrace做性能分析和性能优化

    在我仔细研究Linux内核中的ftrace之后,发现ftrace中的各个tracers的作用一直被人们严重低估了, 比如我们会花了大量的时间去理解Linux内核中的一块代码,然后猜测可能的执行流, 但是ftrace会首先直接告诉你整个执行流,然后你再去查看代码,这样无论从效率和准确度来讲都是极大的提升。

  • 深入理解Linux电源管理

    计算机运行在物理世界中,物理世界中的一切活动都需要消耗能量。能量的形式有很多种,如热能、核能、化学能等。计算机消耗的是电能,其来源是电池或者外电源。计算机内部有一个部件叫做电源管理芯片(PMIC),它接收外部的电能,然后转化为不同电压的电流,向系统的各个硬件供电。什么硬件需要多少伏的电压,都是由相应的电气标准规定好了的,各个硬件厂商按照标准生成硬件就可以了。上电的过程是由硬件自动完成的,不需要软件的参与。因为硬件不上电的话,软件也没法运行啊。但是当硬件运行起来之后,软件就可以对硬件的电源状态进行管理了。电源管理的内容包括电源状态管理和省电管理。电源状态管理是对整个系统的供电状态进行管理,内容包括睡眠、休眠、关机、重启等操作。省电管理是因为电能不是免费的,我们应该尽量地节省能源,尤其是对于一些手持设备来说,电能虽然并不昂贵但是却非常珍贵,因为电池的容量非常有限。不过省电管理也不能一味地省电,还要考虑性能问题,在性能与功耗之间达到平衡。

  • 阅码场训练营:ARM架构与调试调优

    我是从ARM7TDMI开始接触ARM架构的,当时很幸运有DSP的学习基础,同时遇到了把ARM架构和操作系统结合讲解的书籍。这样,结合自己不断的实践,一直可以跟上ARM架构的演进。长期的跟踪也让我容易能看到ARM的趋势,我从Linaro在做ARM NEON指令集优化关注到Linaro,后面持续的关注以Linaro为首ARM生态组织的发展,几年后的2017年,我作为演讲人分享了ARM架构下的一个TLB性能优化方案,实现了从关注到深度参与到过程。

  • 深入理解Android图形系统

    图形系统是计算机中最重要的子系统之一。我们平时使用的电脑、手机都是图形界面的。对于普通人来说,没有图形界面的计算机几乎是没法用的,今天我们就来讲一讲图形系统背后的原理。

  • 深入理解排序算法

    我们先来说一说什么是排序、为什么要排序。什么是排序,这个很简单,就是把无序的东西按照一定的规则顺序排列成升序或者降序。为什么要排序,有两个原因,一是为了方便后面的查找,如果没有排序的话只能进行线性查找,时间复杂度是O(n),如果排序了就可以进行二分查找,时间复杂度是O(logn),复杂度一下子就大大降低了。我们来说明一下这两种复杂度的差别有多么悬殊(虽然用词错误,但是这么用确实很符合气氛),假设n是10亿的话,O(n)还是10亿,而O(logn)是30多(以2为底,假设系数是1),30多和10亿比都可以忽略不计了。二是为了显示的时候按照顺序显示,人类的习惯就是喜欢看有序的东西。

  • 深入理解红黑树

    大家都听说过红黑树,也都知道红黑树很厉害,是计算机里面评价非常高的数据结构。但是每当想学习红黑树的时候,却总是找不到通俗易懂很好理解的学习资料。很多书上上来就是红黑树的定义,然后就是红黑树的实现,直接就把人给整晕了。光看红黑树的定义就有5条,为什么要有5条定义,为什么要这么定义,这么定义是什么意思,光定义都让人懵了,更别说实现了。我看最近抖音上有很多人在讲底层逻辑,只要你掌握了底层逻辑,其它的问题都不在话下,今天我们也来讲一讲红黑树的底层逻辑。在讲之前我们先介绍一下红黑树的诞生,红黑树是Rudolf Bayer在1972年首先提出来的,不过当时并不叫红黑树,而是叫对称二叉 B 树(symmetric binary B-trees)。后来在1978年Leo J. Guibas 和 Robert Sedgewick 对此数据结构进行了修改和完善,并重新命名为红黑树。为什么叫红黑树呢?有两种说法,因为红黑树中要对节点连接做两种颜色的区分,一说是因为当时的书写笔只有红色和黑色两种颜色,另一说是当时的打印机只有红和黑两种颜色。

  • 小米的天下,2022年三季度印度手机市场占比小米领头

    10月21日消息,据市场调研机构Canlays发布最新报告显示,2022年第三季度印度智能手机市场出货同比下滑6%至4460万台,其中,小米独占了五分之一的市场,稳坐“一哥”位置。

  • 携手华润微电子,吉利构建车规级功率半导体产业合作机制

    10月20日消息,吉利科技集团与华润微电子签订合作协议。双方将建立合作伙伴关系,构建车规级功率半导体产业合作机制,基于功率模块、MEMS传感器、面板级封装等产品或技术推出联合解决方案,实现优势互补,推动提升新能源汽车、电动摩托车等场景下的半导体自给率,实现社会效益。

发布文章