自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(151)
  • 资源 (16)
  • 收藏
  • 关注

原创 单链表的构造和反转

单链表构造(头结点存放数据信息)和链表反转头插法构造单链表(为了存入1->2->3->4->5的链表,需要按照1,5,4,3,2的顺序进行输入,即不考虑头结点的话是逆序的)尾插法构造单链表(为了存入1->2->3->4->5的链表,需要按照1,2,3,4,5的顺序进行输入)链表反转原地反转开辟新空间头插法构造单链表(为了存入1->2->3->4->5的链表,需要按照1,5,4,3,2的顺序进行输入,即不考虑头结点的话是逆序的)#in

2020-09-13 21:56:45 319

原创 LDD3中第一个程序MAKEFILE的学习

MAKEFILE分析MAKEFILE全部内容执行过程分析?=符号讲解MAKEFILE全部内容#DEBUG = yifeq ($(DEBUG),y) DEBFLGAS = -O -g -DSCULL_DEBUGelse DEBFLAGS = -O2endifCFLAGS += $(DEBFLAGS)CFLAGS += -I$(LDDINC)ifneq ($(KERNELRELEASE),)scull-objs := main.o pipe.o access.oobj-m :=

2020-07-07 23:03:52 396

原创 MATLAB中多个if-elseif-else语句分支同时使用的逻辑关系

最近看雷达的恒虚警检测GO-FAR算法,在两个if-elseif-else 语句中迷失了。大致结构如下:if A process1elseif B process2else process3endif C process4elseif D process5else process6end 在这里A和C是相反的条件,之前以为如果满足条件A,那么就执行process1,那么必然不满足C,也就不会执行process4,5,6。但是实际上当满足条件A,执行process1

2020-07-02 23:46:34 19347

原创 二维vector数组初始化方法

在用devcpp编译程序时发现,二维vector数组如果只定义的话,不指定元素个数也不进行初始化的时候会导致编译出错。通常情况下,可以只提供vector对象容纳的元素数量而略去初始值。此时库会创建一个值初始化的元素初值,并把它赋给容器中的所有元素。这个初值由vector对象中元素的类型决定。二维数组初始化方法目前有以下两种:第一种初始化方法(以元素类型为int为例)初始化为1:`vect...

2020-04-14 21:42:11 17365 1

原创 透过全排列问题分析for循环递归的过程

全排列问题问题描述程序递归过程分析问题描述全排列:元素的所有可能的排列。例如:由a,b,c三个字母的全排列为abc,acb,bac,bca,cab,cba六个排列程序#include <iostream>using namespace std;void swap(char &a, char &b){ char tmp = a; a = b; b = ...

2020-04-14 15:55:08 246

原创 左神贪心问题,递归,动态规划学习(C++)

参考:左 . 算法— 前缀树/贪心策略/递归/ 动态规划专题题目总结贪心问题程序利润最大化问题程序有限时间会议宣讲最多程序贪心问题一块金条切成两半,是需要花费和长度数值一样的铜板的。比如长度为20的 金条,不管切成长度多大的两半,都要花费20个铜板。一群人想整分整块金条,怎么分最省铜板?例如,给定数组{10,20,30},代表一共三个人,整块金条长度为10+20+30=60. 金条要分成1...

2020-04-14 00:21:16 221

原创 二维vector数组排序问题

参考:使用vector创建二维动态数组,并使用sort对其进行排序程序首先构建二维vector数组viA,然后对其进行打印,之后,按照不同的方式对其进行排序。程序如下:#include <iostream>#include <vector>#include <stdlib.h>#include <algorithm>using name...

2020-04-13 23:08:48 2463 1

原创 Linux设备驱动程序学习1-环境搭建和第三章学习

在这里是按照百度里面“小爱程序员”的相关文章进行环境搭建,搭建完成之后运行第三章中scull程序,没有问题。环境搭建系列文章:linux设备驱动程序(LDD3)环境搭建1 - vmware虚拟机设置linux设备驱动程序(LDD3)环境搭建2 - Ubuntu5.04的安装linux设备驱动程序(LDD3)环境搭建3 - linux2.6.10的编译linux设备驱动程序(LDD3)环境...

2020-04-12 15:32:26 394

原创 C++中多态与虚拟函数的学习

本文内容摘录自:从零开始学C++程序设计,仅作为入门使用如果基类指针指向派生类的对象之后再调用其成员函数,结果仍然是调用到基类的成员函数。可以通过下面的程序看出来:#include <iostream>using namespace std;class vehicle { public: void start(){ cout<<"交通运输工具启动"&l...

2020-03-23 20:44:23 204

原创 C++中this指针学习

本文内容摘录自:从零开始学C++程序设计,仅作为入门使用。在创建类的对象的同时,对象会自动创建属于它自己的指针,在引用时可以用“this”指令来表示,this指针为指向对象本身的指针,指向内存中存储该对象的地址。通过this指针可以存取到该类的数据成员和成员函数,语法如下所示:this->数据成员(*this).数据成员范例程序用于示范当函数返回值为类对象时的方法。#incl...

2020-03-23 19:13:17 165

原创 C++构造函数与析构函数学习

本文内容摘录自:从零开始学C++程序设计,仅作为入门使用。构造函数可以用于对象初始化的工作。也就是在声明对象后希望能设置对象中数据成员的初值,可以使用构造函数来声明。析构函数用于在对象生命周期结束时释放对象所占用的内存空间。构造函数具有以下四个特性:构造函数的名称必须与类名称相同不需要指定返回类型,没有返回值当对象被创建时自动产生默认的构造函数,默认的构造函数不提供参数行构造函数...

2020-03-23 18:07:29 140

原创 C++模板功能学习

本文内容摘录自:从零开始学C++程序设计,仅作为入门使用函数模板函数模板把具有相同程序代码的函数集中写成一个函数,并且把各个函数不同数据类型的部分改以模板形式参数来替代,即可通过传递不同的数据类型的参数来创建实例函数。函数模板的声明格式与说明如下:template <class 模板形式参数1, class 模板形式参数2,…>返回数据类型 函数名称(参数1, 参数2, …)...

2020-03-23 15:22:09 155

原创 无序数组排序后相邻两数的最大差值(不能用计数排序)

给你n个任意整数,求排序后相邻两个数之间的最大差值,这里n可能有10^5,整数为任意32位整型。要求求解算法的时间复杂度为O(n)。思路描述参考:求无序数组排序后相邻俩数最大差值代码C++描述如下:#include <iostream>using namespace std;int max(int x, int y) { int z = x > y ? x : y;...

2020-03-20 10:45:24 356

原创 堆排序的非递归方法

堆是一种完全二叉树,第i个节点的左孩子是2 * i + 1,右孩子是 2 * i + 2,可以通过子节点求父节点:(i - 1)/ 2 。不管是左孩子还是右孩子都可以通过这种方式求的其父节点。对于一个数组,可以先将数组中的元素构建为一个大根堆,这样数组中的第一个数就是最大的值,将这个数与最后一个位置上的数进行交换,最后一个数就是最大值了,之后考虑对去掉这个元素的数组重新调整为一个大根堆,再将这个数...

2020-03-19 12:25:33 527

原创 快速排序的递归解法(C++实现)

快速的排序在这里讨论两种常规解法和一种考虑数组中有相同值情况时的简便解法。首先来看常规解法一:参考快速排序—(面试碰到过好几次)。如下图所示,假设要给由4个元素7,13,5,9组成的数组进行排序。最开始的基准数据为数组第一个元素7。首先用一个临时变量tmp来存储基准数据,然后分别从数组的两端扫描整个数组,设两个指示标志:L指向左边的起始位置,R指向右边的末尾位置。首先,从末尾位置开始,如...

2020-03-16 20:38:30 1255

原创 指针、数组与字符串知识点整理

1.结构体嵌套时的sizeof运算写出下面各结构体的sizeof计算结构:struct s1 {char a[4];};struct s2 {s1 a;char b;};结构体s1所占用的空间为4个字节。结构体s2的第一个成员a占用4个空间,第二个成员b占用1个空间,而结构体s1类型中占用空间最大的类型为char类型,是1个字节,因此结构体s2的sizeof运算结果只要是1的整...

2020-03-15 17:24:47 458

原创 嵌入式笔试面试问题积累

1.高级IO和低级IO的区别?2.fp从用户态到内核态在整个操作系统中的调用流程3.pcb,tcb,资源分配,栈共享实现4.手写cas5.程序为什么从main函数开始,谁调用的,没有操作系统又是谁调用的6.写一个管道通信的例子7.用过什么面向对象的知识,举例说明8.介绍ARM体系9.指令集哪几种,流水线工作方式,为什么流水线好?10.中断机制,有哪些中断种类,怎么中断,为什么会有...

2020-03-13 21:25:40 730

原创 如何追踪fp的系统调用过程

为了能够分析fp从用户态到内核态在整个操作系统中的调用流程,可以通过strace这个命令来进行分析。首先,写出一个使用标准库函数对文件进行读写操作的程序:#include <stdio.h>#include <string.h>#define FILENAME ("/home/tl/UNIX-programme/self-practice/file.txt")#d...

2020-03-10 17:23:36 268

原创 归并排序及求小和问题

归并排序归并排序是先将序列的每相邻的两个数字进行归并操作,形成两两一对排序好的元素,接着将上述序列再次归并,形成包含四个元素的序列。重复上述步骤,直到所有元素排序完毕。归并排序的C++版本完整程序及测试代码如下:#include <iostream>using namespace std;void mergeSort(int arr[], int length);void ...

2020-03-05 19:12:33 489 2

原创 插入排序算法的简单分析

听到一个很形象的比喻,插入排序就像是在整理扑克牌,每从桌上拿起一张,就要把它插入到手上之前已经按顺序拍好的扑克牌中,这样,直到拿起最后一张,将它放在合适的位置之后,手上的扑克牌就整体有序了。插入排序的程序如下:#include <iostream>using namespace std;void swap(int arr[], int a, int b){ if(a == b...

2020-03-05 11:04:47 167

原创 用递归方法求最大值的程序调用层次分析

在B站上学习左程云算法课,对递归的过程有了新的认识,将用递归方法求最大值的程序进行调用层次分析,先将程序粘贴过来:C++版本#include <iostream>using namespace std;int getMax(int *arr, int leftIndex, int rightIndex){ if(leftIndex == rightIndex) { re...

2020-03-04 23:06:58 292

原创 win10自动修复电脑无法正常启动

问题描述:昨天遇到的这个问题,起因是电脑卡,反复重启后还是觉得卡,于是强制关机,结果出现蓝屏,自动修复,电脑无法正常启动。参考了网上的相关解决方法,尝试在高级选项里面选择“禁用驱动程序强制签名”,仍然是自动修复状态。解决方法:参考https://blog.csdn.net/happycell188/article/details/78082655这篇博客,其中几个步骤描述不够清晰,将过程整理...

2020-03-03 12:55:32 5504

转载 Unix时间戳和标准时间格式之间的转换-C语言库函数版

整理一下c中关于标准时间格式和时间戳之间的相互转换。在标准时间格式和时间戳之间的转换中,有一个转换介质或者说是桥梁:时间...

2019-10-28 15:21:54 2261

原创 嵌入式笔试面试题整理

XX研究所:说一下静态库和动态库的优缺点在windows中静态库是以.lib为后缀的文件,共享库是以.dll为后缀的文件。在Linux中静态库是以.a为后缀的文件,共享库是以.so为后缀的文件。以linux下的静态库和动态库为例我们研究一下,首先我们看一下他们的生成方式静态库:首先将源文件编译成目标文件:gcc –c a.c b.c生成静态库:ar –rc libstatic.a a...

2019-10-27 17:31:03 828

原创 串口中断方式使用如何区分是发射信号还是接收信号及其它相关问题

如何区分发射信号还是接收关键代码:saio.sa_flags|=SA_SIGINFO;fcntl(fd,F_SETSIG,SIGIO);信号处理函数:void signal_handler_IO(int status,siginfo_t *info,void *context){ int flag; flag = info->si_code;}这里的flag就可以...

2019-10-17 22:19:57 688

转载 Bootloader和Linux启动过程总结

ARM Linux启动过程分析是本文要介绍的内容,嵌入式 Linux 的可移植性使得我们可以在各种电子产品上看到它的身影。对于不同体系结构的处理器来说Linux的启动过程也有所不同。本文以S3C2410 ARM处理器为例,详细分析了系统上电后 bootloader的执行流程及 ARM Linux的启动过程。1、引 言Linux 最初是由瑞典赫尔辛基大学的学生 Linus Torvalds在1...

2019-09-07 08:57:17 337

转载 pthread_cond_wait和pthread_cond_signal函数详解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-07 08:42:19 650

转载 线性调频信号(LFM chirp)产生-复数式&余弦式

%线性调频信号的产生的matlab仿真代码 %...................................................................................% clear all;clc; %%信号的参数设置T=10e-6; %pulse duration10usB=30e6; ...

2019-05-04 16:54:08 5245 1

原创 matlab中iniFile函数的使用

iniFile 从标准ini(ASCII)创建、读取或写入数据文件。这样的文件被分成若干部分([节名]),小节(用{小节名}括起来),和键(键=值)。空行和第一个非空的字符;(注释行)被忽略。iniFile(fileName,‘write’,keys,<‘style’>)写入以字符串的元胞数组给定的键值,可选样式变量:“tabbed”写入节,以标签样式显示子章节和键,以提高可读性...

2019-04-23 17:13:12 2757

原创 分享一个通用的MAKEFILE模板

CC = arm-none-linux-gnueabi-gccCFLAGS = -Wall -ffloat-store -fPIC -Wunused -Dfar= -ggdb -D DEBUG LDFLAGS = -ggdb -Wall -Wl,[email protected] = -lpthread -lc -lrtsrcs = $(wildcard *.c) ...

2019-04-11 22:54:17 285 1

原创 omapl138在中断基础上实现异步通知的按键驱动(针对开发板上的SW8和SW9按键)

目标:按下按键时,驱动程序通知应用程序,而不是应用程序自己查询步骤:1.应用程序注册信号处理函数;2.谁发?驱动程序发;3.发给谁?应用程序要告诉驱动它的pid号;4.怎么发?驱动程序调用某个函数,kill_fasync函数。驱动程序:#include <linux/module.h>#include <linux/kernel.h>#include &l...

2019-03-23 20:14:17 221

原创 Omapl138实现中断方式的按键驱动

学习了韦东山一期视频,关于按键驱动部分,他用了查询的方式,中断的方式,poll机制,和异步通知的方式来做,并渗透了同步互斥,阻塞的知识。其中,我对中断的方式和异步通知很感兴趣,这两种方式对于推进自己所做的项目有很大的指导意义。但是课程中使用的开发板是JZ 2440,并且内核版本为2.6,所以需根据手头的omapl138开发板和Linux3.3内核做一些改进。本文分为两部分,第一部分总结一下异常处...

2019-03-23 19:29:16 467

转载 Linux内核module_param的使用

1.定义模块参数的方法:module_param(name, type, perm);其中,name:表示参数的名字;type:表示参数的类型;perm:表示参数的访问权限;数组类型模块参数的定义:用逗号间隔的列表提供的值;声明一个数组参数:module_param_array(name, type, num, perm);其中,name:表示数组的名字;type:表示参数...

2019-03-10 20:47:19 207

原创 结合字符串分隔问题学习string类型substr,append等函数的使用

substr是用来截取字符串中一段子字符的函数,最常用的形式如下:string s("abcdefghijk");string a=s.substr(0,8);//获得字符串s中0位开始,长度为8的子串得到的a为:abcdefgh。substr(start,length);start为原字符串的起始位置;length为从原字符串中要截取的长度,如果为0的话,表示从起始位置开始一直到结...

2019-03-10 10:09:40 362

原创 getline,cin的使用场合以及string类型中每个字符的含义

在编程题中,需要输入字符的时候,到底改用getline还是cin,getline默认是以回车为结束符的,所以如果需要输入的是一个含有空格的字符串,那么直接用默认的getline函数一次就可以了,而cin是以空格为结束符的,所以如果要将一个含有空格的字符串里面的字符全部输入的话,需要用一个循环while(cin&gt;&gt;str);string类型的每个字符str[i]是int类型的,不再是s...

2019-03-10 09:36:09 235

原创 请编写一段代码,实现两个单向有序链表的合并

#include &lt;iostream&gt;#include &lt;malloc.h&gt;#include &lt;vector&gt;using namespace std;typedef struct Node{ int data; struct Node* next; }LNode,*Linklist;void PrintList(Linkl...

2019-03-06 00:20:07 773

转载 输入多组字符串,vector可以对输入的字符串进行类似二维数组的操作

&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&a

2019-01-26 09:40:56 1284

转载 程序存储问题(贪心算法)

//blog.csdn.net/Adusts/article/details/80562828 程序存储问题问题描述:设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是i l , 1 ≤i ≤n。程序存储问题要求确定这n 个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。对于给定的n个程序存放在磁带上的长度,编程计算磁带上最多可以存...

2019-01-13 20:37:08 2337

原创 Omapl138双核通信中断及共享内存搬运的代码实现分析(二)

接着分析下半部分ARM等待DSP的中断 // 等待结束信号,即等待DSP触发ARM的中断 IRQEvent *event = irq_event_new("/dev/input/c674x_irq_events");(1) uint32_t line assert(irq_event_wait(event, &amp;line) &amp;&amp; line == EV...

2019-01-11 21:54:39 702

原创 Linux中__set_bit函数分析

/** * __set_bit - 在内存中设置一位 * @nr: 要设置的那一位 * @addr: 开始计数的地址 * * 与set_bit()不同,此函数是非原子的,可以重新排序。如果同时调用同一个内存区域,则可能只有一个操作成功。 */static inline void __set_bit(int nr, volatile unsigned long *addr){ u...

2019-01-11 20:38:01 5015

百度阿里巴巴腾讯华为小米笔试面试题目总结

里面包含了各大互联网公司的笔试面试题目,有些题目可能比较老,但是知识性的东西永远不会过时,希望对大家参加社招校招有所帮助

2020-10-11

MOOC数据结构与算法--电子科技大学(戴波)答案

在MOOC上学习电子科技大学(戴波老师主讲)数据结构与算法过程中整理的答案。

2019-03-02

c674x-irq-events.c

这是c674x-irq-events.ko的源文件,对于想了解其中断详细实现的人可以仔细分析该文件。

2019-01-11

c674x-irq-events.ko

omapl138双核通信开发驱动组件,如果在insmod c67x-irq-events.ko发现没有这个组件的话,可以直接把这个组件放在指定目录下

2019-01-11

让你更了解华为

未来电信市场将会三分天下,西门子,阿尔卡特和华为。

2018-11-22

电子工程师必备知识

电子工程师对于电子基础知识的独到见解,分为几个板块。

2018-11-22

如何成为一名优秀的电子工程师

这个里面列了如何成为一名优秀的硬件工程师所要经历的不同阶段所要读的书

2018-11-22

LaTex入门学习的资料

详细的讲解了如何从零基础学会使用latex这个编辑器,让你体会编程的感觉编辑文档

2018-11-22

模拟电路速成

集合了模拟电路中最重要的那些知识,适合电子信息的人作为入门读物

2018-11-10

电压采集模块说明书

这是一款C2000电压采集模块的英文说明书,可以查到传感器的使用方法和技术指标等。

2018-11-08

温深传感器说明书

这是一款MPM4730温深传感器的英文说明书,可以查到传感器的使用方法和技术指标等。

2018-11-08

Omp138 C6000DSP+ARMlowpower手册

这是Omap138低功耗的手册,其中的内容写的比较简单,需要自己再查找相关的手册

2018-11-08

数据结构与算法(陈卫卫)习题解答

这里面包含了部分数据结构与算法的习题解答和课本中出现的中英文术语,和大学生mooc上的课程内容是同步的。

2018-10-29

以创龙Omapl138所使用的uboot2014.04.01为例分析uboot执行流程

针对创龙omap138所使用的uboot版本号为:2012.04.01的U_BOOT,从start.s文件开始,跳转到C语言函数board_init_f,再跳转到汇编语言进行重定位,最后回到C语言函数board_inir_r完成初始化的全过程。

2018-10-27

空空如也

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

TA关注的人

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