13-01-25-->10

硬件知识储备01_一文看懂W25Qxx系列芯片(W25Q16、W25Q32、W25Q64...) 针对W25Q80、W25Q16、W25Q32、W25Q64、W25Q128、W25Q256、W25Q512等在使用的时候遇到的基本理论问题。 SPI读写W25Q16、W25Q32、W25Q64等可能会用到。 阅读详情

信号

SIG开头,为一个正整数,没有信号编号为0的信号。

软件也有可能产生一些信号。e.g.在管道中,读进程已经进行结束而写进程还在向管道中写数据,就会产生SIGPIPE信号。

内核对信号的三种处理:1.忽略信号,但SIGKILL,SIGSTOP这两个信号不可被忽略 2.捕捉(catch)信号3.使用缺省的处理函数,针对大多数信号的系统默认动作是终止进程。


signal函数

void  (*signal(int signo, void (*func)(int )))(int );

返回值则是指向之前的信号处理程序的指针。

函数限制:不改变信号的处理方式就不能确定信号的当前处理方式。


SIGTERM 这是由kill命令发送的系统默认终止信号。


中断的系统调用

系统调用分为2类:1,低速系统调用 2.其他系统调用。

自动重启动的系统调用包括:ioctl,read,readv,write,writev,wait,waitpid


大多函数是不可重入的,其原因为:1,已知它们使用静态数据结构 2.它们调用malloc 或free 3.它们是标准I/O函数。


信号分类:

1.不可靠信号

2.可靠信号

当进程开始对信号进行处理时,我们称信号被发送(delivered)给了进程,在信号产生到信号被发送之间的时间内,称信号是未决的,被挂起(pending)。

进程有一个选项来决定是否阻塞(blocking)信号的发送(delivered)。如果信号被阻塞,信号将一直处于挂起(pending)状态,直到解除对信号的阻塞或者将对信号的处理(action)改变为忽略信号。

内核在递送一个原来被阻塞的信号给进程时(而不是在产生该信号时),才决定对它的处理方式。于是进程在信号递送给他之前可改变对该信号的动作。


kill和raise函数

kill函数将信号发送给进程或进程组。

raise函数允许进程向自身发信号。

进程发信号的权限:1.超级用户可将信号发给任一进程 2.对于非超级用户,发送者的实际或有效用户ID必须等于接受者的实际或有效用户ID.

特例:SIGCONT信号,进程可将它发送给属于同一会话的任何其他进程。


alarm和pause函数

SIGALRM的默认动作是终止进程,大多数使用闹钟的进程都会捕捉此信号。

pause函数让调用进程挂起直至捕捉到一个信号。


如果我们要对I/O操作加时间限制,可以用longjmp函数,但它有可能导致其他信号的处理函数退出,另一个解决办法是用select函数和poll函数。


进程将信号发送给其他进程需要权限。超级用户可将信号发送给任一进程。对于非超级用户,其基本规则是发送者的实际or有效用户ID必须等于接受者的实际or 有效用户ID.


sigpending函数返回在送往进程的时候被阻塞挂起的信号的集合。

int  sigpending(sigset_t  *set);


sigaction函数

int sigaction(int signumber, const struct sigaction * act, struct sigaction * oact);


sigsetjmp和siglongjmp函数

在信号处理程序中进行非局部转移时应当使用这两个函数,可以设置是否保存信号屏蔽字。


sigsuspend函数

sigsuspend的整个原子操作过程为:
(1) 设置新的mask阻塞当前进程;
(2) 收到信号,恢复原先mask;
(3) 调用该进程设置的信号处理函数;
(4) 待信号处理函数返回后,sigsuspend返回。


abort函数

abort函数,是一个让程序运行非正常结束的函数。给进程发送SIGABRT信号,进程不能忽略这个信号。




W25QXX使用教程 W25QXX是华邦公司生产的一块FLASH储存芯片 那W25Q256为例:驱动方式:单路双路四路SPI、QSPI; 擦写周期:10W次 支持电压:2.7~3.6V 频率:单路最大104Mhz、双路208Mhz、四路416Mhz 容量:容量为32M字节; 它将32M的容量分为512个块(Block),那么每个块的容量就是64K字节; 每个块又分为16个扇区(Sector),每个扇区4K个字节; 那我们需要给W25Q256开辟一个至少4K的缓存区,这样对SRAM要求较高,芯片必须有4K以上的SRAM才能很好的 阅读详情

相关推荐

stm32 W25QXX系列驱动 W25Q80 W25Q16 W25Q32 W25Q64 W25Q128 W25Q256

W25QXX系列驱动,支持W25Q80,W25Q32,W25Q128,W25Q256,W25Q64,W25Q16,详细中文注释

qq_30551297的博客 5904

号称最强编码大模型 Codestral 25.01 发布

Continue 是开发者日常工作的得力助手,无论是初学者还是经验丰富的程序员,都能通过该工具实现更高效、更智能的编码体验。

老皮的博客 2059

PCAP01测电容使用总结

pcap01单端差分/接地的使用

weixin_63961801的博客 1337

在Kylin10 编译Erlang 25.2.3

在Kylin10 编译Erlang 25.2.3。

curating的博客 1404

锐文网卡10G25G40G100G在飞腾S5000C 16 core 服务器配华为openEluler 22.03的dpdk性能

锐文网卡10G25G40G100G在飞腾S5000C 16 core 服务器配华为openEluler 22.03的dpdk性能.腾S5000C主板下DPDK性能测试(100GbE 40G 25G 10G )测试锐文网卡100GbE 40G 25G 10G在DPDK下测试。1网卡,1口,单口配4个队列, 共4个队列用4个核。gcc 版本 10.3.1 (GCC)测试环境 思博伦 信而泰 锐文测试仪。图2:测试1的测试结果。图2:测试1的测试结果。图5:测试3的测试结果。图2:测试1的测试结果。

Raymax18的博客 2084

12027.linux flash驱动之IS25LP01G/IS25WWP01G

一页:512字节 --> 扇区 4096字节 --> 块 32k,64k, 层层递进关系。

写给自己的笔记 2289

STM32CubeMx开发之路—13使用SPI读写W25Q64

STM32CubeMx开发之路—13使用SPI读写W25Q64 运行环境 Windows10 STM32CubeMX Version 5.2.0 Keil5(MDK5) Version 5.28.0.0 简介 本例程主要讲解如何使用硬件IIC读写24C02 STM32CubeMx基本配置 基础配置过程请参考 STM32CubeMx开发之路—配置第一个项目 使用printf功能 重定向p...

iot小胡的博客 9880

DOTween回调函数的隐藏技巧:优化你的Unity动画流程

本文深入探讨了DOTween回调函数在Unity动画开发中的高级应用技巧,帮助开发者优化动画流程。通过分析回调机制、链式应用模式和大规模动画系统管理,提升性能与可维护性,特别适合需要高效处理复杂动画场景的Unity开发者。

weixin_27945229的博客 319

黑苹果NVIDIA显卡驱动程序【WebDriver-367.15.10.25f01 +支持 macOS 10.12.2 Sierra (16C67)版本】

黑苹果NVIDIA显卡驱动程序 【WebDriver-367.15.10.25f01 +支持 macOS 10.12.2 Sierra (16C67)版本】 驱动程序下载:点开此处

黑苹果基地 1451

C++面向对象程序设计大作业:魔兽世界(三):开战

C++面向对象程序设计大作业:魔兽世界(三):开战问题描述问题分析代码 问题描述 问题来自于北京大学郭炜老师的C++慕课的大作业 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部。两个司令部之间是依次排列的若干城市,城市从西向东依次编号为1,2,3 … N ( N <= 20)。红魔军的司令部算作编号为0的城市,蓝魔军的司令部算作编号为N+1的城市。司令部有生命元,用于制造武士。 两军的司令部都会制造武士。武士一共有dragon 、ninja、iceman、lion、wolf 五种。每种武士都有

RedRum_1965的博客 4036

HCIP-Cloud Service DevOps Engineer V2.0 华为认证云服务 DevOps高级工程师 章节测试题+结课测试题(模拟考试题)汇总

本文为HCIP-Cloud Service DevOps Engineer V2.0 华为认证云服务DevOps高级工程师 在线课程中所有章节测试以及结课测试(HCIP-Cloud Service DevOps Engineer模拟考试)习题和答案

gaogao0305的博客 2266

Quartus II 13.01,编程开发操作示例

Quartus II 13.01 编程示例2023-02-03 21-26-21。开发板: Altera DE2 ep2c35f672c6。对应实验内容《FPGA与SOPC设计教程:DE2实践》开发软件:Quartus 13.01 64bit。操作OS:win10。

mouze2000的专栏 307

IAR for ARM 搭建STM32F103C8T6工程模板(实战指南)

本文详细介绍了如何在IAR for ARM开发环境中为STM32F103C8T6微控制器搭建完整的工程模板。从环境准备、固件库获取、目录结构设计到工程配置与编译调试,提供了实战指南和常见问题解决方案,帮助开发者快速建立稳定的STM32开发环境。

fun88的博客 988

Quartus II 13.01,导出RTL Viewer

Quartus 13.01 导出RTL Viewer 2023-03-20 19-51-17。

mouze2000的专栏 622

WSL中使用VMD图形化界面

【代码】WSL中使用VMD图形化界面。

handsome213的博客 840

thinkphp 微信商户转账到微信用户零钱(v3密钥版)(含SDK和文档)

一种是用v3密钥的接口:微信商户转账到零钱(听说是v2接口的微信商户容易被限制,后来就改成v3了)这几天做项目有一个需求,小程序用户提交记录后,商家后台审核通过自动转账到用户的微信零钱中.今天分享下如何实现自动打款,v3微信商户转账到零钱。接口返回状态查看原因。

hanzhuhuaa的博客 428

LPS25HB 气压计 资料整理

LPS25HB 气压计 资料整理 文章目录LPS25HB 气压计 资料整理LPS25HB 的主要特性:LPS25HB 的应用场景:LPS25HB的管脚:LPS25HB的机械物理性能展表LPS25HB的电气性能展表如何解析压力值:FIFO功能: 最近项目中,需要用气压计作辅助的计算。硬件工程师选了这款幸好的气压计。搭配STM32开发板,上手也相对比较容易。 LPS25HB 的主要特性: 1、 260 to 1260 hPa 的气压范围的检测。 2、有效值精确到0.01hPa. 3、低功耗: 4uA 6、支持2

qq_21291397的博客 2781

MinerU 系列教程 第六课:VLM 后端 - 视觉语言模型的力量

本篇教程将深入 VLM 后端的端到端推理架构。在上一课中我们看到 Pipeline 后端如何用 7+ 个专用模型组成流水线,本课将展示一种截然不同的设计理念 —— 用一个视觉语言模型(VLM)完成所有识别任务。你将了解 6 种推理引擎的选择与配置、MinerUClient 统一接口、二步提取策略,以及 VLM 原始输出如何转换为 MinerU 的标准 Middle JSON 格式。

weixin_43674738的博客 205

ES系列13:彻底掌握相关度:从TF-IDF、BM25到对相关度的控制

点击上方“方才编程”,即可关注我!带着问题学习才高效ES 5.0 之前,默认的相关性算分采用的是 TF-IDF,而之后则默认采用 BM25。1、什么是相关性/相关度?Lucene 是如...

方才coding 3244

Sigrity Power SI 3D-EM Full Wave Extraction模式如何进行S参数提取和观测3D电磁场和远场实例分析(一)-差分过孔结构

Sigrity Power SI 3D-EM Full Wave Extraction模式如何进行S参数提取和观测3D电磁场和远场操作指导(一)详细介绍了3D-EM Full Wave Extraction全波S参数提取,下面以一个差分过孔结构进行实例分析,以下图为例。模式如何进行S参数提取和观测3D电磁场和远场实例分析(一)-差分过孔结构。是一个简单的4层板,top换层到bottom层的差分过孔结构。起始频率为100Mhz,截止频率为20Ghz,线性扫描。上面那根曲线是插损,下面那根线是回损。

weixin_54787054的博客 343

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

新手的恶意代码分析记录(一)_Lab01-01

一、基本信息 样本基本信息: 样本名称:Lab01-01.dll 样本大小:163840 bytes MD5:290934C61DE9176AD682FFDD65F0A669 样本名称:Lab01-01.exe 样本大小:16384 bytes MD5:5A016FACBCB77E2009A01EA5C67B39AF209C3FCB 使用cff_Explorer 查看样本基本信息 使用查壳工具die查看,可以看出来,两个程序并没有加壳,并且是使用VC6.0编写的。 查看 Lab01-01.dll 程

qq_42689353的博客 1840

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

01背包问题

学习来自b站up讲解的01背包问题后写下的总结 链接:https://www.bilibili.com/video/av36136952?from=search&amp;seid=11644509251735546077 01背包问题 有n件物品,每件物品的重量为w[i],价值为c[i]。现有一个容量为V的背包,问如何选取物品放入背包,使得背包内物品的总价值最大。其中 每种物品都只...

光阴跑走的博客 4万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

java解析字节数组:若01开头则取第二个数 * 4 + 2 位,若02开头则取25位,若03开头则取13位...

Java解析字节数组的方式可以使用以下方式: 先判断字节数组的第一个字节是否为01,如果是,则取第二个字节并乘以4,即取前2*4=8位。 如果字节数组的第一个字节是02,则取后25位。 如果字节数组的第一个字节是03,则取后13位。 举个例子,假设我们有一个字节数组byte[] b,我们可以使用以下代码来解析: if (b[0] == 0x01) { // 取前8位 byte[]...

weixin_35750747的博客 475

10年10倍:13年年化25.36%,回撤27.1% | aitrader本地核心版本代码发布,重大升级。

不过,折腾了中文包之后,就放弃的,也无法ctrl+传图,这两个我比较看重的功能,在discourse里都是默认了。当然二者都是比较现代的论坛。另一个可选的是nodebb,我没有试,因为基于nodejs开发,seo不太方便。,它是纯代码的,没有打包,没有封装,没有gui,使用notebook开发策略。第一:是docker pull拉不到镜像,后来通过桌面版本先pull镜像,然后再传到服务器上,麻烦点,但能走得通。第三,整理docker镜像时,当前没有使用的所有镜像都给删除了,包括基础python镜像。

weixin_38175458的博客 731

VMware Workstation 11 安装MAC OS X 10.10 Yosemite(14B25)图解 2015-01-13 12:26:01|

VMware Workstation 11 安装MAC OS X 10.10 Yosemite(14B25)图解 2015-01-13 12:26:01|分类:网络互联|标签:10.10yosemitevmware|举报|字号订阅 http://lbq20042002.blog.163.com/blog/static/8235302015013111858...

weixin_34319111的博客 281

STM32驱动W25X64存储器

W25X16

DengRenGong的专栏 1万+
上一篇: 13-01-24-->9
下一篇: 初学gcc
otuhacker
博客等级 码龄18年 21粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值