- 博客(57)
- 收藏
- 关注
原创 Crypto加解密相关
在对称加密中,密钥材料直接用于加密和解密数据,而在非对称加密中,公钥用于加密,私钥用于解密。密钥派生在现代密码学中至关重要,特别是在需要从不安全的密码或主密钥生成安全密钥的场景中。密钥派生(Key Derivation)是指通过某种算法或函数,从一个或多个原始密钥(通常称为“主密钥”或“基础密钥”)生成一个或多个新的密钥的过程。:第二密钥材料常用于多密钥系统,可能用于不同的目的,比如密钥交换、提供额外的安全性或支持不同的加密策略。:密钥是一个整体的加密元素,而密钥元素可以视为构成密钥的具体部分或特征。
2024-07-22 10:21:00
831
原创 pyCharm导入pyspark中的sparkconf和sparkcontext错误
背景:学习黑马程序员python课程的pyspark实战部分时按照下图导入pysark包时发现sparkconf和sparkcontext无法导入和运行。首先想到是不是在CMD窗口下载的pySpark路径及安装是否正确?第三方库拷贝到工程库目录后就可以正常导入使用了。
2024-04-22 21:52:56
476
2
原创 STM32G070RBT6-MCU温度测量(ADC)
1、借助STM32CubeMX生成系统及外设相关初始化代码。在以上配置后就可以生成相关初始化代码了。
2023-09-28 11:14:14
1287
1
原创 STM32G070CB(定时器TIM级联)
3、HAL_TIM_Base_Init()函数中对时钟和中断的使能调用函数。2、主定时器TIM15初始化。
2023-06-15 13:54:19
747
原创 PROFINET1.8.0.5协议移植问题汇总
问题验证如下:相同的硬件环境在杰的工程仿真下可以得到正确的魔数值,以及在1.2版本的TPS环境下也可以得到正确值,目前可排除协议栈烧录问题,故将问题设定在软件初始化位置。目前对硬件TPS1已完成协议栈的烧录固化,在TIA进行程序仿真时,检查TPS stack得不到正确的魔数值与NRT区域大小,侧面说明程序在初始化时某地方存在错误。4、成熟工程相关配置比较,本次问题就是出现在对IAR工程使用不熟悉造成的,没设置正确的仿真环境,通过以下设置后工程数据正常。2、确定TPS-1的复位引脚(FMSC)。
2023-04-13 16:50:17
2059
原创 CAN(调试过程遇到的问题记录)
1,环境及问题现象描述:设备链路完整,可以正常收发数据,但ints发现对应的中断不计数?【分析及解决】中断函数在正确处理完之后必须要返回一个大于0的返回值,驱动中的中断函数回调base中的sja1000irq,sja1000irq函数是void类型,无返回;改变驱动模块,在驱动模块中多嵌套了一层,并且加了在中断正确处理后的的返回值(如下图所示)2、问题现象描述:程序运行起来后(无接收设备,总线上就这一个发送设备),来测试应用的发送功能,发送64帧数据后会卡在write()哪里?【分析及解决】查看了内
2021-09-18 15:41:03
1810
原创 SylixOS的I/O系统结构类型(ORIG型和NEW_1型)
SylixOS 的 I/O 系统结构,由于历史原因分为 ORIG 型驱动结构和 NEW_1 型驱动结构。NEW_1 型驱动结构在 ORIG 型驱动结构的基础上增加了文件节点(文件访问权限、文件记录锁等功能)。 ![ORIG型驱动结构](https://img-blog.csdnimg.cn/20210103154253381.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6L...
2021-01-03 15:44:06
410
原创 PCI设备的配置空间
1.基本介绍其实PCI设备的配置空间就是配置PCI设备的那些寄存器集合。PCI通常将PCI配置信息存放在E2PROM中,PCI设备上电初始化时,将E2PROM中的信息读到PCI设备的配置空间中作为初始值。这个过程由硬件逻辑完成,绝大多数PCI设备使用这种方式初始化其配置空间。系统加电时,BIOS检测PCI总线,确定所有连接在PCI总线上的设备以及它们的配置要求,并进行系统配置。所以,所有的PCI设备必须实现配置空间,从而能够实现参数的自动配置。PCI总线规范定义的配置空间总长度为256个字节,配置信息按
2020-12-27 15:37:09
4583
原创 X86架构的几种地址空间
1.CPU地址空间CPU地址空间是指CPU所能寻址的空间大小,比如对于32位CPU来说,其所能寻址的空间大小为0~4G。这是由CPU自身的地址总线数目决定的。这段空间也被称作CPU物理地址空间。2.内存地址空间内存地址空间就是指内存控制器所能寻址的空间大小。在x86处理器系统中,内存地址空间是CPU地址空间的一部分。但是在32位x86系统中,并不是所有的内存地址空间都能被系统使用,如下图:如图所示,左侧0~4G为CPU所能寻址的地址空间,红框内的空间是能被CPU识别的内存地址空间。右侧为内存控制器
2020-12-27 15:23:21
2432
原创 安装X86平台的SylixOS操作系统
1,工具RealEvo-IDE的“Tools->RealEvo-SylixOS-Installer”启动安装工具。如上图设置好后,点击左下一键安装SylixOS。2,日志记录了制作过程,成功会提示制作成功字样。三,制作启动引导(1):修改待运行SylixOS的X86机器的BIOS为U盘启动。(2):进入SylixOS后通过以下步骤制作硬盘启动。2.1:shell命令,showmount,命令查看系统挂载硬盘情况。2.2:如果挂载了硬盘,需要先执行umount /dev/blk/hd
2020-12-23 20:06:11
1468
1
原创 SylixOS_BSP lite版本转为load版本时遇到的问题
问题一现象:问题一描述:大概意思就是实际使用到的内存范围超出了定义的共享内存4M,问题一解决:原来的MSM_CACHE,替换为SHARED_KERNEL_CACHE_DDR。问题二现象:无问题二描述:BSP编译忘记选择为load版的Base,导致在链接TI库时,DSBT addring冲突。问题二解决:选择对应的Base....
2020-11-08 17:30:01
221
转载 DSP 计算程序消耗的时间itoll函数
DSP开发,测量某个函数或某段代码的cycles消耗是经常要做的 事情,常用的profiling和clock()一般在simulation下使用,真正到了板子上做emulation时,因为要考虑到数据和被测 code在板子上的存放位置和读取时间,用这种方法测结果就不那么可靠了。其实在c64x+ core上有两个计数寄存器TSCL/TSCH,它们与CPU同频,共同表示一个64-bit数,CPU运行一个cycle,该寄存器就加1,因此可以用 它们来准确的测量cpu在某个执行段中消耗的cycles。一般我们只会用
2020-10-16 09:52:33
2229
原创 解决主机可以ping通虚拟机,但虚拟机ping不通主机
今天在SlixOS的模拟器上ping主机,发现ping不通,到主机上ping SlixOS模拟器竟然可以。解决办法:1,先检查了下IP是否在同一网段,或者防火墙是否关闭了。2,第一步没问题的话,就在控制面板–》windows Defender防火墙–》高级设置–》入站规则–》文件和打印共享(回显请求-ICMPv4-In)设置为允许。然后在SylixOS模拟器上ping主机就可以ping通了...
2019-12-11 17:20:05
805
转载 socket编程 select、poll、epoll I/O多路复用模型
原文链接:https://blog.csdn.net/jyy305/article/details/73012706
2019-09-17 23:24:03
104
转载 C++中缺省函数
#include<iostream>using namespace std; class Test{public: Test() {} //默认构造函数 Test(const Test &t) //默认拷贝构造函数 { a=t.a; p=t.p; } Test& operator = (const Test &am...
2019-09-17 11:01:12
343
原创 解决ubuntu共享目录丢失
一直用的好好地共享目录今天打开之后在/mnt/hgfs目录下自己建的共享文件夹找不到了,以前从来都没有出现过这种事情,然后就百度找解决方案。遇到一些坎,不过都已过去。sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000...
2019-09-04 14:39:36
2194
2
原创 libevent配置上下文、支持的网络模式、特征判别
环境:windows:vs2017 比较稳定,liunx ubuntu2016.04TLS.备注在程序中标注很详细。#include <event2/event.h>#include <iostream>#include <signal.h>using namespace std;int main(){#ifdef _WIN32 //初始化s...
2019-08-30 18:39:14
299
原创 C语言删除数组中重复的元素
个人觉得算法不是很高效,每找到一个重复元素都要将后边元素进行移位,很雍容。`#include <stdio.h>#include <string.h>void delstr(char *str){int len = 0, i=0, j=0, x=0;printf(“原str=%s\n”,str);if(str == NULL){printf(“str is ...
2019-08-29 23:22:44
3605
原创 Makefile介绍&&Makefile文件变量赋值
#make 工程管理工具:帮助我们实现项目的自动编译#在c语言中,只有源文件才会参与编译。当只有某些文件做了修改,那么就重新编译整个项目是一种非常不可取的做法。我们需要一种方式了能够帮助我们自动诊断那些文件做了修改,那些文件需要重新编译,Makefile能够帮助我们完成这个任务。Makefile是一个文件,里边有很多规则,来说如何编译,编译的顺序,由make 工具来实现#当想要编译自己指定的M...
2019-08-23 23:39:06
1130
原创 QT-编译过程
1,qmake -project //生成工程文件2,打开工程文件.provim qmake.pro //添加库QT += widgets gui3,qmake //生成Makefile4,make5./qmake
2019-08-16 11:12:38
493
原创 51学习之——利用原理图画PCB板过程
minisystem工程文件:物理地址新建一个文件夹 例如 AAA第一步、在altium file :新建-工程-PCB工程 保存工程到AAA文件中,文件名改为minisystem,后缀名不动。第二步、右击minisystem.pripcb工程文件-给工程添加新的-Schematic(原理图)- 点击保存 - 文件夹选择AAA文件夹 - 修改文件名为minisystem后缀不动。第三部、右...
2019-07-08 16:17:37
1837
原创 C++中算法(优先队列、遍历算法、查找算法、排序算法)
1.优先队列#include <iostream>#include <queue>#include <vector>using namespace std;int main(){ //priority_queue(Type,Container,Functional); //参数1为数据类型,2为保存数据的容器(必须是用数组实现的容器,...
2019-07-04 22:59:19
3450
原创 C++中STL(标准模板库)整理(容器:vector、deque、stack、queue、list、map、set)
解释及说明在程序中有体现:什么是容器?通俗的讲就是将常用的数据结构,如数组、链表、栈、队列、二叉树等封装成一个个模板类,以方便编程。序列式容器:每个元素都有固定的位置,这取决于插入时机和地点,与元素值无关。关联式容器:元素位置取决于特定的排序准则,与插入顺序无关。1.vector容器vetor是单端数组。是将元素置于一个动态数组中加以管理的容器,可以随机存取元素,支持用[]操作符和at...
2019-07-03 21:55:29
603
原创 C++中string的使用详解(构造函数、遍历,迭代器遍历、类型转换、计算大小、赋值与连接、比较、查找、替换、插入、删除、小写转大写等)
注意点及解释都在程序中有体现,并作出详细介绍#include <iostream>#include <string>#include <exception>#include <functioal>#include <algorithm>using namespace std;//string类的构造函数void stri...
2019-07-02 23:08:00
445
原创 C++中指针(或引用)类型间转换
1,const_cast()操作符;//目标类型只能是指针or引用#include <iostream>using namespace std;int main(){ const int a = 10; int *p1 = const_cast<int *>(&a); //去除变量的const属性 //a = 20; ...
2019-07-01 22:28:57
12222
原创 C++中控制符方式控制输出
注意点及解释在程序中都有体现,主函数中/**/注释掉的的代码模块都分别对应一部分,每个小模块都可以实现。#include <iostream>#include <iomanip>using namespace std;int main(){ /*oct ,dec ,hex*/ /*int a = 10; cout <<...
2019-07-01 22:18:02
648
原创 C++中cin的用法
注意点及解释在程序中有体现#include <iostream>using namespace std;template <typename T>void show(T &t){ cout << t << endl;}int main(){ char ch; char str[64] = {0};...
2019-06-30 23:44:40
278
原创 C++中异常的语法、使用说明、标准库、栈解旋、生命周期
注意点都在程序中有体现,也做出了明确解释。1:异常的语法#include <iostream>using namespace std;void func(){ throw "发生异常"; //抛出异常}int main(){ try { func(); //可能发生错误的语句 注意:要将可能发生异常的语句...
2019-06-30 23:40:45
134
原创 C++中类模板的使用(声明,声明的拓展1(程序在一个文件),声明的拓展2(程序在不同的文件))
一:类模板的声明 要点都总结在程序中#include <iostream>using namespace std;template <typename T>class Complex{ template <typename T1> //友元函数声明 注意:友元函数中的类型参数T1一定不要和类型参数T一样 friend o...
2019-06-29 23:08:54
324
原创 C++中静态绑定和动态绑定
//总结:只有虚函数使用动态绑定 其他函数都是静态绑定#include <iostream>using namespace std;class B{public: void vfun() { cout << "B普通函数" << endl; } virtual void show() { cout <...
2019-06-28 15:50:29
724
原创 C++中纯虚函数和抽象类
#include <iostream>using namespace std;class TestA //含有纯虚函数的类称为抽象类 抽象类不能创建对象{public: virtual void f1() //虚函数 { cout << "this is TestA f1()" << endl; } ...
2019-06-28 11:35:52
320
原创 C++多态的概念(成立条件)
#include <iostream>using namespace std;class People{protected: char name[32];public: People(char *n) { strcpy(name, n); } virtual void show() { cout << "nam...
2019-06-27 11:10:35
201
原创 C++继承中的类型兼容性原则
//子类对象可以当成父类对象使用 一定注意:父类中的构造与析构不会被子类继承 所以说子类不能调用父类的构造与析构函数#include <iostream>using namespace std;class Parent{protected: int m_a; int m_b;public: Parent() { cout <&...
2019-06-26 15:08:47
234
原创 C++中派生类(子类)的访问控制
#include <iostream>using namespace std;class People{private: int a;protected: int b;public: int c;};//类的内部检验继承访问权限 继承方式:私有private/*class Student : private People{ ...
2019-06-26 15:05:55
343
原创 QT(.cpp文件 至 应用程序)
1,首先在某盘(F盘)创建一个.cpp文件 生成一个如下图的应用程序#include <QPushButton>#include <QHBoxLayout>#include <QVBoxLayout>#include <QWidget>int main(int argc , char *argv[]){ QApplication ...
2019-03-30 21:15:26
2256
原创 C到C++扩展(2)
1,引用 &amp;(当奇怪语法出现时)#include &lt;iostream&gt;using namespace std;struct test{ int &amp;a; //当成指针来分析 char &amp;b; double &amp;c;};int main(){ int a = 1; char b = 'm'; int &a
2019-01-21 22:53:12
205
原创 C到C++拓展(1)
1,输出的差别#include <iostream> //头文件using namespace std; //标准命名空间int main(){ cout << "helloworld" <<endl; //cout标准输出,和C中的printf效果一样,<< 输出运算符,endl换行符。 这种输出的前提是加了标准命名空...
2019-01-21 22:05:07
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人