linux内核深度解析—elf文件格式

分类: 其他 发布时间: 11-30 06:35 阅读次数: 0

arp交互流程

分类: 其他 发布时间: 11-30 06:35 阅读次数: 0

单片机嵌入式中sprintf()函数常用使用方法

前言在嵌入式开发中经常需要将一个变量实时通过串口等协议传输并显示到LCD等显示屏上。但我们得到的大多数的底层库里面只留有显示字符串的接口。因此需要将变量转化为字符串。sprintf()函数的用法函数原型:int sprintf(char *buffer, const char *format, [argument]...)参数:(1)buffer:是char类型的指针,指向写入的字符串指针;(2)format:格式化字符串,即在程序中想要的格式;(3)argument:可选参数,可以为任意
分类: 其他 发布时间: 11-30 05:14 阅读次数: 0

C语言整型浮点型混合运算截断问题

整型浮点型混合运算的截断问题及处理整型运算赋值给浮点型整型浮点型混合运算后赋值给浮点型整型运算赋值给浮点型情况处理和结论:整形强制转换运算后赋值给浮点型​ 结论 : 不会截断整形乘100后直接除以整形后赋值给浮点型​ 结论:输出截断,乘100相当于保留两位小数后放大100倍,乘1000相当于保留三位小数整形乘1.0f除以整形乘1.0f后赋值给浮点型​ 结论:不会截断,效果等同于(1)代码验证#include <stdio.h>int main()
分类: 其他 发布时间: 11-30 05:14 阅读次数: 0

IIC协议详解,附单片机软件模拟源码

I2C协议物理层原理总体特征协议层起始和停止条件数据有效性响应/应答寻址读数据写数据单片机通讯软件模拟硬件外设(一)物理层1. 原理I2C 总线,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。2. 总体特征​ 连接到总线的器件输出级必须是漏极开路或集电极开
分类: 其他 发布时间: 11-30 05:13 阅读次数: 0

在STM32中使用printf()和scanf

在STM32中使用printf()和scanf本文出处: https://shawnhymel.com/1873/how-to-use-printf-on-stm32/作者:Shawn Hymel内容来源于网络,本文只做翻译和学习,侵删。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C0MS0xDg-1623856482643)(https://shawnhymel.com/wp-content/uploads/2019/08/stm32-retargeting.
分类: 其他 发布时间: 11-30 05:13 阅读次数: 0

make/makefile/cmake的关系

本文出自知乎,装载为方便查看学习,联系侵删。1. gcc它是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。我们的程序只有一个源文件时,直接就可以用gcc命令编译它。可是,如果我们的程序包含很多个源文件时,该咋整?用gcc命令逐个去编译时,就发现很容易混乱而且工作量大,所以出现了下面make工具。2. makemake工具可以看成是一个智能的批处理工.
分类: 其他 发布时间: 11-30 05:13 阅读次数: 0

【FreeRTOS】1. 任务链表的实现

任务链表任务链表:xLIST即根节点,可以是就绪链表、阻塞链表、挂起链表等。链表中的节点:每个红框为一个节点,通过pvOwner与任务控制块联系到一起,通过pvContainer挂载到就绪、阻塞、挂起链表上。1. 链表根节点链表根节点的数据结构如下:链表的节点数链表节点索引指针链表的最后一个节点/头节点typedef struct xLIST{ UBaseType_t uxNumberOfItems; /* 链表节点计数器 */ ListItem_t * pxIndex; /
分类: 其他 发布时间: 11-30 05:12 阅读次数: 0

【FreeRTOS】2. SVC系统调用

SVC系统调用问题:RTOS内核在何时去产生一个SVC系统调用?SVC中断服务里面使用的是MSP堆栈指针,内核在何时切换为PSP指针?1. 产生SVC系统调用FreeRTOS启动调度器的时候,会调用void vTaskStartScheduler(void);void vTaskStartScheduler(void){ pxCurrentTCB = &Task1TCB; //手动指定第一个运行的任务 if(xPortStartScheduler() != pdFALSE
分类: 其他 发布时间: 11-30 05:12 阅读次数: 0

【FreeRTOS】3. PendSV异常

PendSV异常问题:怎么触发PendSV异常?何时使用MSP何时切换PSP?PendSV如何实现上下文切换?1. 触发PendSV异常在RTOS内核中,任务切换的原理是:手动触发PendSV异常,在PendSV异常服务函数中实现任务切换。freeRTOS有两种方式触发PendSV异常,一种是通过调用portYIELD(), 另一种是在Systick_Handler()中时基增加出现上下文切换请求。触发PendSV异常的方法在task.h中的#define portYIELD()
分类: 其他 发布时间: 11-30 05:12 阅读次数: 0

【Linux学习笔记】1.安装双系统

1. 安装前准备Linux系统下载镜像烧录工具下载4GB+启动U盘(格式化)硬盘分区ubuntu20.04 download镜像烧录工具有软碟通、rufus、win32Disklmager等硬盘空间不足可以使用DiskGenius工具管理磁盘空间亲测是应用TF卡无法识别系统盘进入BIOS方法: 开机时按F2或者delete键。(华硕)U盘启动方式: 开机时按F8(华硕主板) 按ESC(华硕笔记本)烧录系统下载完映像文件后,插入U盘(启动盘),打开烧录工具,选择linux系统映
分类: 其他 发布时间: 11-30 05:12 阅读次数: 0

【Linux学习笔记】2. Linux文件权限

Linux文件权限1. 使用者与群组 User & Group文件拥有着owner群组group其他人other三个重要的文件在linux系统中,默认所有系统账号与一般使用者、root的相关信息都记录在**/etc/passwd**文件。密码则记录在**/etc/shadow**文件下。所有的群组名称都记录在**/etc/group**内。2. 文件属性通过ls -al命令可以以list形式列出所有隐藏文件和详情。1. 第一栏为文件类型与权限-rwxrwxrwx:总共1
分类: 其他 发布时间: 11-30 05:11 阅读次数: 0

【Linux学习笔记】3. Linux文件与目录管理

Linux文件与目录管理1. 常见处理目录的指令cd: 变换目录pwd: 显示当前目录mkdir: 创建新目录rmdir: 删除空目录pwdpwd [-p] #-p表示显示实际位置(相对链接目录)mkdirmkdir [-mp] #-m: 设置文件权限#-p: 创建多级目录创建多级目录mkdir test1/test2 #error#正确用法:加[-p]mkdir -p test1/test2 创建权限为[rwx—-x—-x]的目录mkdir -m 711
分类: 其他 发布时间: 11-30 05:11 阅读次数: 0

Clion开发STM32添加文件后编译报错“No such file or directory“

Clion添加文件后编译报错"No such file or directory"1.1 添加文件直接在工程目录下创建文件夹并创建源文件和头文件添加后,在编写.c文件包含.h文件时会出现错误,需要修改CmakeList.txt添加头文件include_directories(Path1/path1 Path2/path2)Path1/path1表示头文件路径,不同的路径用空格分开,如下图所示:添加源文件file(GLOB_RECURSE SOURCES "directory/*.*")
分类: 其他 发布时间: 11-30 05:11 阅读次数: 0

在STM32中使用printf()的方法(可直接复制粘贴)

1. 使用printf的方法1.1 重定向在使用printf之前添加重定向代码:#ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker-Libraries-Small printf set to Yes) calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else #define PUTCHAR
分类: 其他 发布时间: 11-30 05:11 阅读次数: 0

【问题】Clion开发STM32添加文件后报错“No such file or directory“

1. Clion添加文件后编译报错"No such file or directory"1.1 添加文件直接在工程目录下创建文件夹并创建源文件和头文件添加后,在编写.c文件包含.h文件时会出现错误,需要修改CmakeList.txt添加头文件include_directories(Path1/path1 Path2/path2)Path1/path1表示头文件路径,不同的路径用空格分开,如下图所示:添加源文件file(GLOB_RECURSE SOURCES "directory/*.
分类: 其他 发布时间: 11-30 05:10 阅读次数: 0

【问题】使用STM32CubeMX开发FreeRTOS只能添加3个任务——单片机操作系统的堆栈内存问题

2. 堆栈溢出导致程序崩溃2.1 遇见问题在进行消息队列的实验中,由于之前测试按键扫描任务和跑马灯任务没有删除,直接在之前的prj上添加了向队列发送消息任务和从队列接收消息任务,在程序写完后,编译链接下载没有报错,但是在我使用新创建的队列发送和接收消息任务的时候程序只执行一次就卡死,找了很久没找到原因。在进行将新添加的任务删除的尝试后,发现程序又可以正常进行多任务切换。只要加上新的任务就跑不通。为了避免程序崩溃是由于消息队列引起的嫌疑,我将消息队列任务移植到前面的3个任务中,并把多余的任务删除。实验现
分类: 其他 发布时间: 11-30 05:10 阅读次数: 0

AOV网是否存在回路-拓扑排序-C++

拓扑排序是对测试AOV网是否存在回路的方法!拓扑排序的过程中,由于需要查找所有以某顶点为尾的弧,即找到该顶点的所有出边,故图要采用邻接表的存储方式。但拓扑排序较邻接表的存储方式有一点不同,由于要查找入度为0的点、要将某顶点入度减1等,所以要在顶点表中添加一个入度域;顶点表域:struct vertexnode(){ int in;//用于判断该顶点之前是否输出完毕 char vertex; edgenode *firstedge; };定义边表节点:struct edgen
分类: 其他 发布时间: 11-30 05:10 阅读次数: 0

文本相似度分类方案研究

原文链接方案讲解(1) cross-encoder类:对一组句对进行编码,编码过程中可以进行句内及句间的信息交互。![cross-encoder](https://img-blog.csdnimg.cn/760541c41ef043f3880f78d95b6a60f0.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ZSQ5YOn54ix5ZCD5ZSQ5YOn6IKJ,size_
分类: 其他 发布时间: 11-30 05:10 阅读次数: 0

房产聊天问答匹配高分方案学习1

高分方案上高分方案代码解析Post training(预训练的后操作)进行point-post-training-wwm-sop.py和pair-post-training-wwm-sop.py的训练1.分析point-post-training-wwm-sop.py文件next_sentence_prediction structmlm structPost training(预训练的后操作)首先需要提取出一个新的词表这里面提取词表采用的是最小熵原理具体的操作步骤可以参考苏神的博客最小熵原理
分类: 其他 发布时间: 11-30 05:09 阅读次数: 0