自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (6)
  • 收藏
  • 关注

原创 Windows下使用vscode 调试linux kernel

安装WSL2 在microsoft store上安装Ubuntu,当不能安装时可能需要梯子 window中访问Ubuntu的目录使用: //wsl$ Ubuntu中需要修改软件源: #参考 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal m

2022-04-12 11:46:08 2003

原创 Cortex M4 SVC 中断

Cortex SVC 中断 SVC(系统管理调用) 异常优先级为1,SVC异常是由SVC指令触发也可以直接设置NVIC寄存器触发异常应用程序工作在非特权访问模式,当需要特权模式访问系统资源时,可以使用SVC实现 参考例程:main#include <stdio.h>int __svc(0x00) svc_service_add(int x,int y);int...

2019-12-08 15:54:01 4744 1

原创 QCC5125----GAIA

1.描述GAIA全称:Generic Application Interface Architecture,实现了端到端,主机无关的生态系统,支持主机应用程序访问设备功能底层的数据包由8个字节组成,这个框架支持基于ble上的GATT包传输或者基于SPP上的 stream传输。长度超过8位的数字字段首先打包最重要的八位字节。 文本字符串使用UTF-8编码。设备既可以是GAIA的server端...

2018-09-29 17:16:53 8215 1

原创 字节对齐算法

ps:遇见这种算法纯属一个巧合,刚入职的我,在忙着调用各种SDK中的API,无暇顾及代码的具体实现,有些代码还被屏蔽了,在写flash的过程中,参考了前辈们的一些代码,在此记录。if (!(erase_addr % FLASH_BLOCK_SIZE)) { ret = hal_flash_erase(erase_addr, mem_info_ptr-&gt;block_type);...

2018-08-08 15:23:30 1001 1

原创 QT5.6+OpenCV3.4.1+CMake编译

1.安装QT5.6,在安装时记得勾选上mingw。2.安装CMake3.11.1CMake下载地址:https://cmake.org/download/选择源文件和目标目录点击configure,选择选择编译器:在配置过程中可能存在一直卡在:FFMPEG: Download: opencv_ffmpeg.dll这,先点击stop,在点击配置就好了不行的话多等待一会。等待配置完成后,勾选openg...

2018-05-07 17:06:00 1715

原创 QT布局管理,应用程序主窗口和事件系统

布局管理QLayout类是布局管理器的基类,是一个抽象类.\color{Crimson}{QLayout类是布局管理器的基类,是一个抽象类.}1.QBoxLayout基本布局管理器\color{DarkBlue}{1.QBoxLayout基本布局管理器} QBoxLayout类可以使子部件在水平或垂直方向上排成一列,将所有的空间分成一行盒子,然后将每个部件放入一个盒子中\color{Fuchsia

2018-01-03 14:52:07 531

原创 QT常见的窗口部件

设置QT应用程序图标1.将ico文件加入源文件目录2.pro文件中加入下面模块 RC_FILE = myapp.rc-3.源目录中添加myappico.rc代码IDI_ICON1 ICON DISCARDABLE "myappico.ico"以上是使用msvc编译的方法,如果使用mingw的qmake的话直接在pro加上这句就行\color{HotPi

2017-12-16 21:09:44 836

原创 mysql

mysql登录:`mysql -hlocalhost -p3306 -uroot -p --prompt=xiaokun`//prompt指定命令提示符,只针对当前连接有效。-D 打开指定数据库,–delimiter=name,指定分隔符 -V –version 输出版本信息并且退出(大V) 查看mysql属性:\s 退出mysql:quit,\q ,exit,ctrl+c强制退出 pro

2017-11-27 15:01:07 182

原创 剑指offer题目1

1.题目描述:输入两个链表,找出它们的第一个公共结点。class Solution {public: ListNode* FindFirstCommonNode(ListNode* pHead1, ListNode* pHead2) { /*参考大佬*/ if (pHead1==NULL||pHead2==NULL) {

2017-09-12 13:01:43 213

原创 记录2017/9/7CVTE嵌入式软件笔试编程题

1.输入一个字符串,输出字符串中最后出现次数最少的字符,如果都有重复,则输出最后出现字符最多的字符,例如输入:“abbccdffgg”输出:d 输入:“aaabbbccddee”输出:b#include <iostream>#include <stack>#include <vector>#include <queue>#include <string>using namespace std

2017-09-08 12:49:32 814

原创 记录2017/9/7趋势科技笔试题

1.下面程序一共会在屏幕上输出多少个“-” ?#include#include#include#includeusing namespace std;int main( ){ int i; for(i = 0; i < 2; i++) { cout<<"-\n"; fork( ); cout <<"-\n"

2017-09-07 12:55:09 3941 5

原创 记录2017/9/6笔试题

1.C++面向对象五大基本原则: 单一职责原则(SRP) 开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP)2. Code:为程序代码部分 RO-data: 表示 程序定义的常量const temp; RW-data :表示 已初始化的全局变量 ZI-data :表示 未初始化的全局变量3.重写、覆盖、重载、多态override->

2017-09-06 18:24:11 380

转载 链接脚本

本文转自:http://www.cnblogs.com/li-hao/p/4107964.html 一、 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本, 可用ld

2017-08-20 17:16:06 4048

原创 C++基础2

2.在C语言中struct有了自己的含义,虽然在C++中扩展成了类,但一般情况还是遵循C中的用法3.C++一般情况下用class来做类的关键字声明4.继承是C++中代码复用的方式,通过继承,在子类中可以使用父类中的代码5.子类可以完全继承父类中所有的变量和函数,在可以使用父类的地方就可以用子类代替6.子类从概念上而言是一种特殊的父类7.类和分出来的类之间的关系叫:继承,拥有原来类的全部属性,类之间

2017-08-20 17:16:03 306

原创 C++基础

const7.C++编译器对const常量的处理        (1)当碰见常量声明时在符号表中放入常量        (2)编译过程中若发现使用常量则直接以符号表中的值替换        (3)编译过程中若发现对const使用了extern或者&操作符,则给对应的常量分配存储空间8.C语言中的const变量:是只读变量,有自己的存储空间9.C++中的const,在定义的时候放入符号表中,在使用的

2017-08-20 17:16:00 360

原创 线性表

1.线性表是零个或多个数据元素的集合2.线性表中的数据元素之间是有顺序的3.线性表中的数据元素个数是有限的4.线性表中的数据元素的类型必须相同5.定义:线性表是具有相同类型的n个数据元素的有限序列6.性质:            a0为线性表的第一个元素,只有一个后继            an为线性表的最后一个元素,只有一个前驱            除a0和an外的其他元素ai,既有前驱,又有

2017-08-20 17:15:56 547

原创 数据结构基础概念

1.数据的特点:可以输入到计算机,可以被计算机程序处理2.数据是一个抽象的概念,将其进行分类后得到程序设计语言中的类型。如:int float char等等3.数据元素-组成数据的基本单位,数据项:一个数据元素由若干数据项组成4.数据对象 —性质相同的数据元素的集合5.数据元素之间不是独立的,存在特定的关系,这些关系即结构6.数据结构指数据对象中数据元素之间的关系,编写一个“好”的程序之前,必须分

2017-08-20 17:15:53 299

原创 函数的本质

1.程序=数据+算法;C语言=数据+函数;模块化程序设计;2.面向过程是一种以过程为中心的编程思想3.首先将复杂的问题分解为一个个容易解决的问题4.分解过后的问题可以按照步骤一步步完成5.函数是面向过程在C语言中的体现6.解决问题的每个步骤可以用函数来实现7.程序中的声明可以理解为预先告诉编译器实体的存在,如:变量,函数,等等8.程序中的定义明确指示编译器实体的意义声明和定义并不相同extern 

2017-08-20 17:15:50 1123

原创 野指针与内存操作

1.野指针通常是因为指针变量中保存的值不是一个合法的内存地址而造成的2.野指针不是NULL指针,是指向不可用内存的指针3.NULL指针不容易用错,因为if语句很好判断一个指针是不是NULL,C语言中没有任何手段可以判定一个指针是否为野指针4.(1)局部变量没有被初始化(2)使用已经释放后的指针(3)指针所指向的变量在指针之前被销毁.5.结构体成员指针未初始化6.没有为结构体指针分配足够的内存7.内

2017-08-20 17:15:47 330

原创 栈,堆,静态存储区

1.栈是先入后出,2.栈保存了一个函数调用所需的维护信息,函数参数,函数返回地址,局部变量,函数调用上下文。没有栈就没有函数,没有局部变量。3.栈保存了一个函数调用所需的维护信息(函数参数,函数返回值地址,局部变量,函数调用上下文)4.栈上的数据在函数返回后就会被释放掉,无法传递到函数外部5.堆是程序中一块巨大的内存空间,可由程序自由使用6.堆中被程序申请使用的内存在程序主动释放前将一直有效7.堆

2017-08-20 17:15:44 386

原创 动态内存分配

1.C语言中的一切操作都是基于内存的2.变量和数组都是内存的别名,如何分配这些内存由编译器在编译期间决定,定义数组的时候必须指定数组长度,而数组长度是在编译期就必须决定的需求:程序运行的过程中,可能需要使用一些额外的内存空间。malloc和free用于执行动态内存分配和释放。1.malloc所分配的是一块连续的内存,以字节为单位,并且不带任何的类型信息2.free用于将动态内存归还系统注意:1.m

2017-08-20 17:15:40 200

原创 函数与指针

1.C语言中函数有自己特定的类型2.函数的类型由返回值,参数类型和参数个数共同决定3.C语言中通过typedef为函数类型重命名4.函数指针用于指向一个函数5.函数名是执行函数体的入口地址6.可通过函数类型定义函数指针:Func Type* pointer7.也可以直接定义:type (*pointer)(parameter list) pointer为函数指针变量名,type为指向函数的返回值类

2017-08-20 17:15:37 168

原创 数组参数和指针参数

1.C语言中只会以值拷贝的方式传递参数2.当向函数传递数组时,将数组名看做常量指针传数组首元素地址3.二维数组参数同样存在退化的问题,二维数组可以看做是一维数组,二维数组中的每个元素是一维数组4.二维数组参数中第一维的参数可以省略5.C语言中无法向一个函数传递任意的多维数组6.为了提供正确的指针运算,必须提供除第一维之外的所有维长度7.限制:一维数组参数-必须提供一个标志数组结束位置的长度信息 

2017-08-20 17:15:34 282

原创 多维数组和多维指针

1.指针变量在内存中会占用一定的空间2.可以定义指针来保存指针变量的地址值3.指针在本质上也是变量,对于指针也同样存在传值调用与传址调用#include #include int reset(char**p, int size, int new_size){    int ret = 1;    int i = 0;    int len = 0;    char* pt = NULL;    c

2017-08-20 17:15:31 147

原创 指针数组和数组指针的区别以及main函数

1.C语言中的数组有自己特定的类型2.数组的类型有元素类型和数组大小共同决定3.C语言中通过typedef为数组类型重命名typedef type(name)[size];                        数组指针1.数组指针用于指向一个数组2.数组名是数组首元素的起始地址,但并不是数组的起始地址3.通过将取地址符&作用于数组名可以得到数组的起始地址4.可通过数组类型定义数组指针:A

2017-08-20 17:15:28 168

原创 C语言中的字符串

1.从概念上讲,C语言中没有字符串数据类型2.在C语言中使用字符数组来模拟字符串3.C语言中的字符串是以‘\0’结束的字符数组4.C语言中的字符串可以分配于栈空间,堆空间或者只读存储区5.字符串的长度就是字符串所包含字符的个数6.C语言中的字符串长度指的是第一个‘\0’字符前出现的字符个数7.C语言中通过‘\0’结束符来确定字符串的长度注意:strlen返回数为无符号数,两个无符号数相减依然为无符

2017-08-20 17:15:25 327

原创 数组和指针的联系

1.数组的本质是一段连续的内存空间2.数组的空间大小为sizeof(array_type)*array_size3.数组名可看做指向数组第一个元素的常量指针4.指针是一种特殊的变量,与整数的运算规则为:p+n;=(unsigned int)p+n*sizeof(*p);结论:当指针p指向一个桶类型的数组的元素时;p+1将指向当前元素的下一个元素;p-1将指向当前元素的上一个元素。5.指针之间只支持

2017-08-20 17:15:22 1618

原创 计算器算法----C语言实现(堆栈法)

1.字符串去空格处理实现一:void spacess(char *str)//删除空格{ int i = 0; int j = 0; while (str[i]!='\0') { str[i] = str[j]; if (str[i]!=' ') { i++; }

2017-06-25 15:01:57 5350 1

原创 scanf用法

1.格式化输入字符串格式字符意义d输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数f或e输入实行数(用小数形式或者指数形式)c输入单个字符s输入字符串2.用"*"以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:

2017-06-20 09:38:32 250

原创 快速排序法

原理: 1.把数组的第一个元素当做基准 2.从数组的第一个元素开始查找大于基准的下标,从最后一个元素开始向前寻找小于基准的下标, 3.交换i和j的值, 4.循环步骤2,3,直到i#include <stdlib.h>#include <stdio.h>#include <time.h>void swap(int *p1,int *p2)//交换两个值{ int temp;

2017-06-19 22:02:38 161

原创 QT学习第二天---基本操作

基本类/*1.QObject是所有支持QT对象模型的基类2.QPaintDevice是Qt中所有可绘制组件的基类3.l.setText---设置组件显示字符串4.窗口类型:Qt::Dialog---对话框类型Qt::Window---主窗口类型Qt::SplashScreen--启动画面类型5.窗口标志:Qt::windowstaysonTopHint---置顶窗口Qt::win

2017-06-01 22:03:59 221

原创 QT学习第一天-----基本操作

核心架构思想:/*1.设计界面2.消息处理*/命令行编译步骤/*1.qmake -project2.qmake3.make*/打开项目后没文件显示:/*窗体->显示边栏*/调试方法:/*1.log调试法,qDebug输出调试信息2.断点调试法(条件调试)*/组件的类型:/*功能类(父组件):用于包含其它的界面组件功

2017-05-30 20:34:20 315

原创 MYSQL学习第二天---数据类型等

文本: CHAR(*):最多255个字节的定长字符串,指定长度,使用时不够长度布空格 VARCHAR(*):最多255个字节的字符串,就像动态数组,可变长度 TEXT:最大长度为64K字符的变长文本 TINYTEXT:最大长度为255字符的变长文本 MEDUIMTEXT:最大长度为16K字符的变长文本 LONGTEXT:最大长度为4GB字符的变长文本 整数: tinyint:1字节

2017-05-29 13:04:10 225

原创 MYSQL数据库学习---环境安装

Ubuntu下安装mysqlsudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev/*检查是否安装成功*/sudo netstat -tap | grep mysql/*登陆数据库*/mysql -u root -p/*查看当前数据

2017-05-28 21:44:22 269

原创 GTK3.0学习第三天---图片GtkImage

图片 GtkImage GtkImage *mage=gtk_image_new();//创建 gtk_image_set_from_stock(mage,GTK_STOCK_CDROM,GTK_ICON_SIZE_MENU);//获取GTK库中的图片 gtk_image_set_from_file(mage,"IMG_0086.JPG");//指定路径下的图片 gtk

2017-05-28 15:30:35 2275

原创 GTK3.0学习第二天---信号(signal)等

信号(signal):void g_signal_connect(instance,char * signalName,callback,gpointerobject)/**当instance发出signalname信号的时候执行callback指针指向的函数,*gpointerobject函数参数*函数原型:*int btnonclick(GtkWidget *widget,int dat

2017-05-27 16:41:48 1341

原创 GTK3.0学习第一天---环境配置

配置安装gcc/g++/gdb/make 等基本编程工具sudo apt-get install build-essential 安装GTK/GNOME开发环境 sudo apt-get install gnome-devel gnome-devel-docs安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库 sudo apt-get install glade libg

2017-05-26 15:58:12 1230

原创 make和makefile

make的使用语法make [选项][目标][宏定义] -d 显示调试信息 -f<文件> 指定从哪个文件中读取依赖关系信息,默认文件是Makefile或makefile “-”表示从标准输入 -h 显示所有选项的简要说明 -n 不运行任何Makefile命令,只显示他们 -s

2017-05-12 17:29:36 211

原创 Linux 下C编译和运行过程

1.预处理阶段gcc -E -o example.i example.c将声明在头文件中的内容加到生成的.i文件中2.编译阶段gcc -S -o example.s example.i将.i文件内容编译成汇编语言后生成.s文件3.汇编阶段gcc -o example.o -c example.c将.s文件内容汇编成机器语言后生成.o文件4.链接阶段gcc -o example example.o将.

2017-05-12 11:32:54 233

原创 Linux下创建线程池

Linux下创建线程池 1.#include <stdio.h>#include <malloc.h>#include <pthread.h>#include <assert.h>pthread_t *pthread_id;typedef struct MyStruct{ void *(*function)(void *arg); void * arg; stru

2017-05-10 21:54:35 596

Core_v5.2.rar

Bluetooth 5.2版核心协议,包含AOA,LE audio等新技术,大家可以参考,希望对大家有所帮助。

2020-04-12

CSR GAIA 相关文档

CSR GAIA相关文档,希望对于开发者有帮助,也可以去CSR官网下载如果你有账号的话

2018-09-29

代码的未来.pdf

代码的未来.pdf,此书对于程序要有莫大的帮助,可以闲暇之余看看

2018-08-09

黑客:计算机革命的英雄 pdf

黑客:计算机革命的英雄 pdf,对于搞网络安全的同志来说,挺不错的

2018-08-09

深入理解BOOTLOADER pdf

深入理解BOOTLOADER pdf ,对嵌入式学习着有所帮助,不错的一本书

2018-08-05

QT+OpenCV 库文件提取小工具

对于懒得添加众多库的同学来说,是很不错的,工具提取的是mingw生成的.a文件, 请结合看:https://blog.csdn.net/qq_31208451/article/details/80228319

2018-05-07

空空如也

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

TA关注的人

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