自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 问答 (4)
  • 收藏
  • 关注

原创 【IAP】STM32不同容量大小芯片页大小不一致,擦除需注意

结果发现芯片与前芯片不一样,之前页大小是1KB,现在是2KB,而自定义的校验空间只有1KB,所以擦校验空间FLASH多擦了1KB,于是扩大校验地址到2KB,APP区域后移1KB就好了。今天升级完发现跳转不了,然后用JLINK读取发现APP区域前1K也就是0X400的空间是空的,而后面的都能和正常APP大小对应,所以看是哪里多擦了一块。

2024-01-18 14:03:18 529

原创 【IAP】核心开发流程

而具体怎么划分,可以用JLINK读取当前芯片BOOT程序占用了多少空间,比如占用了0x8960字节,后面都是FF 即 空。0X0800C400~0X0807FFFF爽用,注意ROM右边是SIZE不是截止地址,这个做个十六进制减法就好了。这里用了1K即0x400做校验地址空间(0X0800C000~0X0800C3FF),但这不是必须的,也可以不要。主要逻辑是在BOOT程序中擦除APP空间的FLASH,然后再可以1K 1K的写入,当然擦1K写1K也可以。0X0800C000~0X0800C3FF放校验,

2024-01-16 15:20:22 461

原创 【IAP】FreeRTOS环境下Boot升级过程中出现系统自动复位,FLASH操作时关闭总中断解决

后面换了板子,升级成功2次后,第三次还是有类似问题,所以升级逻辑应该没问题,可能是跳转影响了,而BOOT程序就一个线程在跑,收发数据然后升级,不存在跳转,只有可能是APP程序影响到了BOOT。如果挂起调度器,不让任务调度,是不是可以避免多线程干扰,最后多次测试,BOOT升级过程中,没有再发生复位情况,与第一条猜想符合,这还不行就只能创线程,指令改标志位,保证串行执行系统复位了。但已经APP已经跳过来BOOT了,怎么还能影响,可能是FREERTOS的一些问题,后面证实确实是,但不知道具体原理是什么。

2024-01-16 14:41:42 1170

原创 【IAP】FREERTOS堆大小影响到FLASH写入

基于此,同时比较ROM大小配置和JLINK读取芯片实际占用空间,但发现boot程序的ROM区域是有空余的,而且如果不足的话应该会编译失败,但还是通过加大rom区域大小来试验,最后还是会写入失败,然后裁剪工程也无果。最后思考还有什么会用到ram空间,最后想到了可能FreeRtos会占用RAM,百度查找资料发现确实会占用很多RAM空间,然后通过减少FreeRTOSConfig.h文件里的configTOTAL_HEAP_SIZE大小,最终测试,写入成功。由此可见,我的程序变量定义超过了IRAM1的空间大小。

2024-01-16 13:51:12 530

原创 C 参数缺省

【代码】C 参数缺省。

2023-06-16 17:25:06 268

原创 【跟着chatgpt学go】Gooutine和Channel

在上面的示例中,我们定义了一个 worker 函数,它从 jobs Channel 中读取任务,然后执行任务并将结果发送到 results Channel 中。Goroutine 是 Go 语言中的一种并发机制,它是一种轻量级线程,可以通过关键字 go 启动一个新的 Goroutine。这种类型的通道常用于只提供数据发送的场合,如生产者-消费者模型中的生产者,它们只需要往通道中发送数据即可。这种类型的通道常用于只提供数据发送的场合,如生产者-消费者模型中的生产者,它们只需要往通道中发送数据即可。

2023-03-19 17:30:39 797

原创 串口初始化

dd

2023-03-14 11:51:12 104

原创 Keil新建工程关键步骤(STM32)

教程STM32F10X_HD,USE_STDPERIPH_DRIVER。这里如果不知道就无脑都拉,不报错就行,有几个文件不能拉。注意User是自己的,最好只拉取系统性文件,其他自己建。自己建main,需要提前新建文件夹。Core一定要拉hd这个文件。这里选择驱动,我是JLINK。这下应该可以编译了,欢迎补充。

2023-03-10 10:03:57 397

原创 Gitee上传代码

................

2023-02-20 16:07:25 174 2

原创 Hello Golang

【代码】Hello Golang。

2023-02-19 22:58:31 218

原创 ssh免密登录

.

2023-01-06 18:21:48 120

原创 迅速配置hadoop Xshell 会话(安装java和jdk)

hadoop xshell

2023-01-06 15:21:34 436

原创 【无标题】这是一篇自动化测试

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-01-11 16:40:06 106

原创 【Python学习笔记】网页自动化测试

需要提前装好selenium测试网站首先查看网站源码因为我们等下要按输入框的name来自动输入,所以找出输入框的name,并找出按钮的字符串修正:该button使用class、来触发代码import timefrom selenium import webdriverdriver = webdriver.Chrome(executable_path="F:\PycharmProjects\pythonProject1\driver\chromedriver.exe")#chrom

2022-01-09 15:36:23 509

原创 操作系统实验报告

一、实验一 通过 VMware 虚拟机软件安装 Linux二、实验目的(1)学会安装 VMware 虚拟机软件并掌握其使用方法。(2)学会使用 VMware 虚拟机安装 Linux 操作系统(3)熟悉 Linux 下的 C/C++编程环境:vi/gedit 编辑器 + gcc 编译器 +gdb 调试器。三、实验内容(实验原理/运用的理论知识、算法/程序流程图、步骤和方法、关键源代码)1)安装 VMware workstation 虚拟机软件并新建一个虚拟机2)使用 VMware 虚拟机安装 L

2022-01-06 11:12:55 7434

原创 一些代码..

代码从尾到头打印链表旋转数组的最小数字青蛙跳台阶问题写一个函数,把字符串中所有的空格替换为%20两个链表的第一个公共节点折半插入排序从尾到头打印链表class Solution {public: vector<int> reversePrint(ListNode* head) { vector<int> v; ListNode *p=head; if(head==NULL)

2021-11-08 23:59:18 317

原创 C++常用STL

STLVectorListStringSet#include<bits/stdc++.h>函数Vector构造vector v; // 无参数版vector v2(10); // 初始容量为 10 的 vector,每个元素为都为 string 的默认值vector v3(10,“abc”); // 初始容量为 10,且每一个元素都为 abc基本操作v.push_back(10); // 将一个元素添加到容器的末尾cout << v[0] <<

2021-11-08 23:51:31 92

原创 数据结构关键代码

这里写自定义目录标题线性表合并链表线性表合并链表

2021-11-07 23:54:37 1572

原创 【C++学习笔记】Vector常用操作(持续更新)

sort(v.begin(),v.end());排序

2021-09-27 16:49:20 84

原创 (C++)简单学生成绩管理系统

成绩管理系统输入5名大学生4门功课的成绩。然后求出1)每个大学生的总分2)每门课程的平均分3)输出总分最高的学生的姓名和总分数测试用例张三 78 89 90 87李四 89 67 79 80王五 67 78 95 74赵二 98 67 90 63陈九 88 77 85 74#include <iostream>#include <algorithm>using namespace std;#define num 5#define course 4#

2021-09-11 21:39:16 295

原创 【动态规划学习笔记】---持续更新

斐波那契数列class Solution {public: int fib(int n) { if(n== 1)return 1; if(n== 0)return 0; return fib(n-1)+fib(n-2); }};

2021-08-17 20:50:38 58

原创 【编译原理】FIRST集和FOLLOW集构造法速学

编译原理速成大法FIRST集和FOLLOW集构造法速成FIRSTFOLLOWFIRST集和FOLLOW集构造法速成例:对于文法G(E)首先像E,T,E’,F这样的就是非终结符+,*, ε,(,)这样的就是终结符构造每个非终结符的FIRST集和FOLLOW集FIRSTFIRST集很简单,从左侧开始,如果第一个是终结符就停止并加入FIRST集合中例如E→TE’,没有终结符,则按顺序从左侧开始,进入T→×FT’| ε,×,ε是终结符,处在第一个位置,所以加入到FIRST(E)集合中同理得:

2021-07-04 21:20:26 1555 2

原创 【人工智能学习笔记】用神经网络完成XOR异或操作原理

构作一个神经网络,用于计算含有2个输入的XOR函数。指定所用神经网络单元的种类。取权值向量(W1,W2,W3,W4,W5)为(0.3,0.3,1,1,-2);神经网络输入输出关系:Y=f(X1W3+X2W4+Z*W5);其中Z为隐含节点Nh的输出,Z=f(X1W1+X2W2);f为输入输出关系函数,θ为0.5,即x<0.5,f(x)=0;x>=0.5,f(x)=1。...

2021-06-06 13:47:51 3706 3

原创 2020-2021 嵌入式系统复习提纲

一、考试题型选择(20分)简答(30分)程序题(20分,内容包括代码解释、填空等)论述题(30分)二、主要知识点第1章:1.嵌入式系统概念、p1嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统2.应用与特点 p10应用(10个):国防军事领域、工业控制领域、交通管理领域、信息家电领域、办公自动化领域、POS网络及电子商务领域、医疗保健设备领域、环境工程与自然领域、机器人领域、移动设备领域特

2021-05-25 13:58:48 1849 1

原创 【数据结构学习笔记】队列的顺序实现与链式实现 C/C++

顺序队列总代码#include <iostream>using namespace std;#define MaxSize 50typedef struct{ int data[MaxSize]; int f,r;}SqQueue;bool isEmpty(SqQueue Q){ if(Q.r==Q.f)return true; else return false;}void InitQueue(SqQueue &Q){ Q.r=Q.f=0;

2021-05-04 21:14:49 101

原创 【数据结构学习笔记】栈的顺序实现和链式实现 C/C++

顺序栈,这种是王道数据结构的实现方法,其实本质就是一个数组,已经静态分配好了空间,出栈的时候的操作其实也没有把栈顶元素从内存中删去,而是直接下标移动一位#include <iostream>#define MaxSize 20using namespace std;typedef struct{ int data[MaxSize]; int top;}SqStack;void InitStack(SqStack &S){ S.top=-1;}bool

2021-04-28 20:48:32 99 1

原创 LeetCode 反转链表 C (递归&迭代)

输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL递归方法:/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* p; struct ListNode* s; struct

2021-04-18 12:09:05 70

原创 【数据结构学习笔记】单链表的定义

相比于顺序表,单链表虽然无法随机读取,但是却更利于改变,只要修改指针指向就行,下面说说怎么定义一个单链表首先用普通方法定义一个单链表struct LNode{//结点int data;//数据域struct LNode *next;//指针域//指向下一个节点的指针};但是使用typedef方法却可以更高效地定义,便于后面使用,以免每次用结构都要加个struct,此举是给他加个别名typedef struct LNode{//结点int data;//数据域struct LNode.

2021-04-08 23:19:15 295

原创 【数据结构学习笔记】顺序表的插入&&删除

#include <iostream>#include <stdlib.h>using namespace std;//状态代码#define OK 1#define ERROR 0#define OVERFLOW -2//函数返回值类型typedef int Status;#define InitSize 10//默认最大长度#define ElemType int//定义顺序表结构typedef struct{ int *data;//指示...

2021-04-04 22:57:18 108

原创 【数据结构学习笔记】算法的空间复杂度

空间复杂度计算主要如下,下图函数中主要有两个int 类型变量i n,int类型占4字节,所以总共要占8字节的数据,再加上常数级的程序代码所占固定空间,所以最终大小也是常数级如果包含了一个数组,那么变量i,n各占4字节以外,数组还要占n4个字节空间总共4n+8个字节空间,最终只要考虑其规模,为n级复杂度最后,递归函数的话,一般只要考虑他的深度,下图这个函数只调用5次,每次都有4个新的整型变量,也就是16字节,总共165字节的大小,即k*n级别,最终也是n级也会有特殊情况,递归函数中存有数组,则最

2021-04-03 22:23:18 115

原创 CCF CSP 201604-1 折点计数 C++

解题思路:其实就是找极值的问题,极值的定义就是,一个点的左右领域的值都大于它或者都小于它就是极值#include <iostream>using namespace std;int main(){ int n; cin>>n; int a[1000]; for(int i=0;i<n;i++){ cin>>a[i]; } int s=0; for(int i=1;i<n.

2021-04-02 19:58:06 153

原创 【数据结构学习笔记】算法时间复杂度与同阶无穷大之捉大放小

常用的时间复杂度比较:(其中O是同阶无穷小的意思)其实不用刻意去记,直接算就好了,比如O(n)级与O(log2 n)可以通过比较图像看出来,y=x增长明显快于y=log2 x,所以O(n)>O(log2 n),同理:O(n^3) >O(n^3log2 n)可以通过口诀高效背诵,时间复杂度由小到大:下面来看看实例:如果是双层循环嵌套,外层循环执行n次,那么内层循环执行n^2次时间复杂度T(n)可以表示为O(n^2)+O(n)+C C为常数顺序执行语句时间复杂度为常数级,可以

2021-03-28 12:39:25 1329 1

原创 【数据结构学习笔记】顺序表初始化的静态分配与动态分配

这是静态分配,数组不能超出MAXSIZE#include <iostream>using namespace std;//状态代码#define OK 1#define ERROR 0#define OVERFLOW -2//函数返回值类型typedef int Status;#define MAXSIZE 100//定义顺序表结构typedef struct{ //ElemType *elem; int data[MAXSIZE]={0}; in

2021-03-27 23:17:43 1081

原创 OceanBase数据库 OBCA考试认证通过感言

前言就在刚刚,我通过了OceanBase考试认证,又得到了一项能力认证证书,非常开森~72.5分,虽然成绩不算太高,但好歹通过了,分享一下我的经验~考试报名和学习文档经验大家可以在考前一周开始学习,当然如果你想深入学习,可以把网课也看一看,我因为没有这方面需求所以没看。先把官方的学习文档看一遍,主要是基础概念考得最多,达到了20%左右占比,然后每章的模拟题做一下,学得差不多了,可以记一记我下面分享的链接题库,有过半是原题,认真去记,可以过的!推荐强力推荐这两篇博文OceanBase |

2021-03-25 11:57:23 3856 4

原创 2020下半年软考 软件设计师通过感言

前言我是大三软件工程的学生,2020年11月初考的软件设计师,同时考完了科目二,从9月底差不多10月初才开始复习。没有花太大精力在复习上,期间还考过了科目一和二,基本上就是用软考通APP利用空闲时间刷一下小题而已(坚持一个月),最后两天突击练习了一下下午题,书买了,但是就看了几页,有时候名词解释忘了才翻一下。最后以上午成绩50分,下午成绩55分通过软考,虽然分数不高,但毕竟我没投入太多精力,所以说非常划算!下面我来分享一下我的经验~备考上午题首先极力推荐软考通这款APP,完全用爱发电,没有一点广

2021-03-22 23:30:58 3600 14

原创 CCF CSP 201609-1 最大波动C++

#include <iostream>#include <vector>#include <set>#include <algorithm>using namespace std;vector<int> v,s;set<int> t;int main(){ int n; cin>>n; int a; int x=0; for(int i=0; i<n; i++).

2021-03-22 19:18:49 151 1

原创 【C++学习笔记】Vector进阶函数库操作及代码演示

(1)a.assign(b.begin(), b.begin()+3); //b为向量,将b的0~2个元素构成的向量赋给a (2)a.assign(4,2); //是a只含4个元素,且每个元素为2 (3)a.back(); //返回a的最后一个元素 (4)a.front(); //返回a的第一个元素 (5)a[i]; //返回a的第i个元素,当且仅当a[i]存在2013-12-07 (6)a.clear(); //清空a中的元素 (7)a.empty(

2021-03-15 23:16:09 109

原创 CCF CSP 201703-1 分蛋糕(C++ Vector)

#include <iostream>#include <vector>using namespace std;vector<int> v;int main(){ int n,k; cin>>n>>k; int a; for(int i=0;i<n;i++){ cin>>a; v.push_back(a); } in.

2021-03-14 22:39:02 256

原创 【C++学习笔记】Vector简单介绍与基础操作

简介:什么是vector?向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。容器特性1.顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。2.动态数组支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。操供了在序列末尾相对快速地添加/删除元素的操作。3.能够感知内存分配器的(Alloc

2021-03-14 16:20:21 167 1

原创 微信小程序:电影选票系统 (简易版) 可以选择场次座位并生成订单

简介:这本来是一个课设作品,完整版连接了JAVA后台数据库,但因为我基本只负责微信小程序的后端数据交互,所以只发一个没有连接数据库,用静态数据作为代替的简易版,但还是保留了部分连接数据库的代码,大家可以看看。这个选票系统功能简洁完备,但还是有点问题,因为时间问题没有完成,就是通过点击不同电影生成不同场次座位页面,大家可以继续改进,这些页面也参考了一些其他CSDN文章,但现在实在找不到是哪篇了-。-book页面效果展示book.js//index.jsvar i=0var flag=0//获取应

2021-03-12 22:56:02 7933 10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除