logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核——内核源码的探索+教你如何系统认识Linux内核源码树(推荐方式+推荐工具+推荐书目)

全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,该操作系统是由 Linus Torvalds于1991年10月5号首次发布, 它主要受到Minix和Unix思想的启发,是一个。严格地讲,Linux单指操作系统的内核,加上用户空间的应用程序之后,就成为Linux操作系统。

文章图片
#linux#服务器#c语言 +4
Linux设备驱动浅谈 利用Linux内核接口可以实现自定义模块机制

接触编程,大家应该都有这样一个疑惑,我们写的应用程序一执行,便在操作系统上工作,其原理是(当程序一执行,它便成为一个操作系统上的进程,然后由操作系统进行管理),那如果我们写的程序要让某些硬件设备工作呢,那又是如何工作的,这对于应用开发的人员而言,一般不作太深入的了解,但是在计算机体系中,它是不可或缺的一部分。在实际的项目开发中以Linux环境为多数,此图诠释了计算机软件层和硬件层的组成,本文将对下

文章图片
#linux#iot#c语言 +2
动态链接库——深入探讨C++程序中.so技术细节和实现方式及C程序中动静态库的区别(+工程分步骤编译库)

在开发中,动态链接库(DLL)和共享对象(Shared Object).so文件的使用成为提升程序灵活性和重用性的关键手段。如下相关工具,一种用于创建可移植共享库的工具。关于动态链接器的更多信息。一个跨平台的构建系统,简化了共享库的管理和构建。无论是提升程序的模块化程度,还是优化资源使用,动态链接都是一种强大的技术手段。

文章图片
#c语言#开发语言#c++ +2
W25Q128 spi-flash HAL库驱动详解

W25Q128是华邦公司推出的一款容量为 128M-bit(1byte == 8bit,相当于 16M-byte)的 SPI 接口的 NOR Flash 芯片(NOR Flash:一种非易失性存储器,它可以在断电或掉电后仍然保持存储的数据,被广泛应用于长期数据存储。有容量大,可重复擦写、按“扇区/块”擦除的特性。Flash的物理特性:只能写0,不能写 1,写1靠擦除。这一特性对后续编程,实现控制非

文章图片
#fpga开发#单片机#嵌入式硬件 +4
操作系统(Linux Kernel 0.11&Linux Kernel 0.12)一手资料解读整理——引导启动程序(Boot)之内存的映射机制

上电启动流程如下:boot/目录下的三个汇编语言文件(bootsect.S 和 setup.S 是实模式下运行的 16位代码程序,采用近似于 Intel 的汇编语言语法,并且需要使用 8086 汇编编译器和连接器 as86 和 1d86。而 head.s 则使用一种 AT&T 的汇编语法格式,并且运行在保护模式下,需要用 GNU 的 as(gas)汇编器进行编译)。操作系统第一阶段如下:(剖析操作

文章图片
#开发语言#linux#c语言 +1
ARM架构的BootLoader详解——对于Linux与Baremetal(裸机MCU)

BootLoader的启动方式基本如下:stage1程序(汇编)在内存之外的存储介质中对内存空间进行初始化后,再将stage2程序(C)加载到内存中执行。stage2。

文章图片
#linux#arm开发#c语言 +4
编译报错 aarch64-none-linux-gnu-gcc: error: unrecognized argument in option ‘-mabi=apcs-gnu’ aarch64-non

交叉编译工具报错,大概意思是:架构不匹配我的交叉编译工具环境的配置为此时,arch环境变量,表示的是不同的计算机架构,此时为arm架构,但是工具链是arm64体系结构的。

文章图片
#linux#服务器#iot +1
嵌入式处理器程序设计(处理思路及经验篇)——开发必备的特定设计思维及POSIX标准

嵌入式系统的核心是嵌入式处理器。嵌入式处理器一般划分为如下类型:嵌入式系统分层结构一般可如下:两层结构:硬件层、应用层(软件层)诸如:MCU裸机系统三层结构:硬件层(原厂芯片用库函数封装驱动)、操作系统层、应用层诸如:MCU的RTOS系统。

文章图片
#iot#物联网#学习方法 +4
pip 安装 transformers报错处理 error: subprocess-exited-with-error × Preparing metadata (pyproject.toml)...

在conda 虚拟环境中使用 python 的 pip install transformers报错处理 (当前使用的是python3.7.13)(分析可能的原因是依赖包冲突,导致依赖包冲突的原因可能是缺失关键包,版本兼容等问题)由于Hugging Face的transformer依赖包是封装比较完整的包,安装导致的缺失关键包,可能是conda虚拟环境的Python版本优化了部分包。

文章图片
#pip#python#开发语言 +3
浅谈内存DDR——DDR4的RASR/Bank Group等技术

在DDR3及更早的内存中,虽然一个内存芯片内部也划分了多个Bank(可以理解为独立的内存子阵列),可以在不同Bank之间进行流水线操作,但同一时刻只能有一个Bank在进行数据读写。当控制器要访问一个Bank时,必须经历一系列的命令(激活、读写、预充电),在此期间,其他已经准备好的Bank也必须等待,这形成了性能瓶颈。

文章图片
#学习
到底了