- 博客(64)
- 资源 (21)
- 收藏
- 关注
原创 关于VS Code必装插件
使用VSCode的目标是抛弃 SourceInsight一些必知必会的快捷键:https://zhuanlan.zhihu.com/p/54164612部署VSCode,包括代码跳转功能:https://zhuanlan.zhihu.com/p/96819625...
2019-12-17 22:12:00
407
原创 C++的STL库
前言:STL是Standard Template Library的简称,中文名标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算...
2019-10-13 23:01:26
574
转载 Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈
Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈转载自:Linux中的各种栈栈是什么?栈有什么作用?首先,栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out),数据只能在串列的一端 (称为:栈顶 top) 进行 推入 (push) 和 弹出 (pop) 操作。根据栈的特点,很容易的想到可以利用数组,来实现这...
2019-09-27 23:22:16
343
原创 int、unsigned int溢出
关于int类型,unsigned int类型的溢出,测试代码如下:#include <iostream>using namespace std;int main(){ unsigned int max32=0xffffffff; cout<<"unsigned_int_max="<<max32<<endl; max32++; cout&...
2019-09-12 17:38:10
1228
原创 Linux下上海大学在外连接学校网
ps:本文仅针对上大学生在外连接校园网,不适用于其他用户因为openxxx的名字会被和谐,所以以xxx代替那三个字母1、windows下连接参见学校官网2、Linux下连接学校并没有给出Linux下openvpn的连接方式,其实非常简单 !1、安装sudo apt-get install openvpn2、学校openxxx的配置文件已上传到博客资源:stu...
2019-09-08 10:21:43
2317
2
原创 Leetcode(力扣)刷题
目录LeetCode最长回文子串LeetCodeLeetCode中文版网址https://leetcode-cn.com/problemset/all/最近公司喊口号,要求提高软件能力,并把LeetCode作为技能鉴定的标准,部门也要求每周至少一题LeetCode,加班已经很忙了啊[狗头]最长回文子串1、拿到题目,首先要分析有哪几种子串类型:1)aba (以字符为中心对称);2) ...
2019-09-01 21:46:31
1537
原创 nexo+github 搭建个人博客
配置后的博客效果可以看这里:https://musing93.github.io/目录常见问题解决1、安装Hexo1.1 安装Hexo1.2 本地调试Hexo2、Github Page托管2.1 Hexo与github关联2.2 更换主题2.3blog的测试与更新3、多端同步3.1 前期配置主电脑(A):3.2 多端更新同步3.2...
2019-05-17 15:46:37
1720
原创 ubuntu16下github配置
2015年底开始学习Python,接触了git这个东西,会基础的使用,顺便在github上注册了账号https://github.com/haoxr今天重新整理一下配置使用的整个流程1、注册github账号此处不在赘述2、本地安装git可以使用终端安装sudo apt-get update sudo apt-get install git当然也可以使用git c...
2019-05-17 14:05:09
657
原创 秋招总结
在这里纪录一下秋招的总结吧,也算是为自己的硕士求学生涯画上个句号吧。秋招面试了很多单位,也收到了不少offer,当然大部分是凉凉的。。。1、泛亚 2018年8月,幸运的通过了泛亚的实习面试,试验认证部。部门的股长(实际上是group leader)人很不错,和我的带教老师一起带我了解泛亚的认证工作。不得不说泛亚的体质还是不错的,有人文关怀,不存在严格的上下级关系,上到总监,...
2018-12-12 21:51:21
701
1
原创 Linux-Makefile & gcc
1、编译预处理:生成中间件,后缀为.i gcc -E main.c -o main.i编译:生成汇编语言文件,后缀.s gcc -S main.i -o main.s汇编:生成二进制代码.ogcc -c main.s -o main.o链接:生成可执行文件gcc hello.o -o hello编译: gcc main.c -o mai...
2018-11-01 11:09:14
209
原创 移动机器人仿真梳理
最近系统重装,重新配置仿真环境,因此再次梳理一下假设ubuntu16中已经安装完ros-kinetic.1、仿真环境配置建立ros工作空间:source /opt/ros/kinetic/setup.bashsh creat_pkg.shmkdir -p ~/ros_gazebo/srccd ~/ros_gazebocatkin_makesource ~/ros_ga...
2018-10-29 15:07:27
1221
原创 进程、轻量级进程和线程(Linux)
1、线程和进程进程是计算机程序关于某数据集合的一次运行活动,是系统进行资源分配和系统调度的基本单位。进程是程序执行的一个实例。因此如果有16个用户同时执行一个程序,那么就有16个进程,虽然他们共享同一个可执行代码。linux通过进程描述符管理进程。线程是程序执行流的最小单元,一个标准线程由线程ID,当前指令指针PC,寄存器集合,堆栈组成。另外,线程是进程的一个实体,是系统独立调度和分配的基...
2018-10-22 16:44:46
544
1
原创 Linux-IPC
目录1.Linux进程间通信方法2. 管道2.1 shell中的管道2.2 无名管道 编程2.3 无名管道代码2.4有名管道2.5关于fork函数fork(函数)3. 消息队列4. 信号量5. 共享内存6.线程6.1 线程函数互斥量的操作函数读写锁条件变量自旋锁1.Linux进程间通信方法管道 有名管道 消息...
2018-10-19 20:29:31
354
原创 Linux的操作&shell编程
1、进程、内存1.1 查看进程 内存在Linux中查看所有正在运行的进程top命令命令用于实时监测系统资源使用状况,包含,进程、cpu,内存等topps查看各个用户的进程、内存占用率参考:https://www.jianshu.com/p/29183ee216d2任务:使用ps aux打印进程状态pstree以树状显示正在运行的进程。树的根节点为pid或i...
2018-10-11 12:45:16
261
原创 计算机操作系统原理
最近准备i面试,抽时间回顾一下计算机操作系统原理. -2018.10.11、硬件基础计算机的构成:处理器(CPU):主要包括运算器、控制器 内存(主存储器) 输入输出设备详细的讲,CPU内部包括:存储器地址寄存器 MAR: 用于确定下一个要读写的存储器地址 存储器缓冲寄存器 MBR: 用于存放要写入存储器的数据,或者从存储器中读取的数据 输入/输出地址寄存器 ...
2018-09-29 16:42:50
9030
原创 数据结构整理
目录1、哈希表开放地址法:链地址法:2、字符串匹配的两种算法2、排序算法总结2.1冒泡排序(比较相邻元素))2.2选择排序2.3插入排序2.4希尔排序2.5归并排序O(nLog(n))2.6堆排序O(nLog(n))2.7快速排序O(nLog(n))~O(n^2)二分排序:3、树和堆3.1 Huffman树3.2 B树、B+树、...
2018-09-16 22:25:41
338
原创 TCP/IP、路由交换原理与网络编程yu
目录1、TCP/IP以及OSI七层模型1.1、数据链路层IEEE802.3MACCSMA/CD 过程交换机的转发过程: 理解冲突域和广播域 VLAN原理(Virtual Local Area Network)1.2 网络层VLAN间路由:DNS网络中LAN、WAN、WLAN、VLAN和VPN的区别QinQ原理及技术(QinQ白皮书)2、TCP...
2018-09-16 18:13:05
7322
1
原创 C++ 整理
C++一直在用,但是类中有很多知识一直没怎么用到,如今秋招在即,抽时间整理一下吧~https://www.cnblogs.com/yasanlun/p/3838531.html目录1、C++特点1.1 class和structC++的 class和struct的区别c语言中的struct 和 c++ 的struct的区别1.2 友元函数:1.3 重载1.4 类...
2018-09-14 22:53:59
1552
原创 C++ -动态规划
1、钢材切割 代码1思路:将钢材切割问题优化为:钢材长度n<=10 钢材长度n>10对于n<=10,可以遍历迭代解决;对于n>10,可以分段切割,每次切割i=1,2,。。。10十种情况;此法有个缺点,n较大时迭代时间长,n=30时,计算时长需要37s。#include <iostream>#include <str...
2018-09-14 19:50:25
6633
原创 shell编程
1.查看进程#!/bin/bash#打印当前运行的线程,输入参数为线程的关键字ps -eLF | grep $1终端输入 chmod +x test.sh 然后 ./test.sh netease ,即可打印网易云的进程;直接用bash test.sh亦可2.输入输出重定向先将 test.text重定向为 输入,再将其中 含有 "jk"的行筛选出来,最后将筛选出的行进行...
2018-08-29 17:28:48
187
原创 Linux驱动-网络设备(1)
1.Linux网络设备驱动结构Linux网络设备驱动体系分为四层,从上往下依次为 网络协议接口层,网络设备接口层,设备驱动功能层,网络设备与媒介层这里值得一提的是Linux网络设备体系和TCP,IP协议栈之间的关系.下图是TCP/IP结构图Linux网络驱动提供的是硬件接口,它服务与ARP(链路层)和Ip(网络层).1.1网络协议接口层网络协议接口层最主要的功能是...
2018-08-29 14:14:45
467
原创 Linux驱动开发-并发控制
1.并发与竞态并发(Concurrency)是指多个单元同时、并行被执行,而并发执行单元对共享资源(硬件资源和软件上的全局变量,静态变量等)的访问很容易导致竞态(Race Conditions)。概念:Linux驱动之并发与竞态竞争状态的分类:对称多处理器(SMP)的多个CPU SMP是一种紧耦合、共享存储的系统类型,因为多个CPU同时共享系统总线,因此可以访问共同的外设和...
2018-08-28 09:53:34
285
原创 STM32F429+Trace+J-Link配置
文章完全参考Trace跟踪软甲提供的user Manual, 遇到问题详细阅读参考手册肯定能解决Trace提供了两种跟踪调试的方式:1、快照模式 ; 2、流模式首先下载Trace跟踪调试器,因为是收费软件,但是可以下载适用版本这里假设已经移植好了FreeRTOS,移植过程可以看之前的文章接下来:1、移植TraceRecorder 复制安装的Trace下的文件夹...
2018-08-27 11:15:28
3125
原创 Linux驱动开发-字符设备驱动
1.Linux字符设备驱动结构1.1 cdev结构体Linux内核中使用cdev结构体描述一格字符设备struct cdev{ struct kobject kobj; struct module *owner; /*所属模块*/ struct file_operations *ops; /*文件操作结构体*/ struct list_hea...
2018-08-23 11:34:09
232
原创 linux驱动开发-文件系统与设备文件
目录1.Linux文件系统操作Linux文件创建,打开,关闭函数Linux下文件读写函数2.C库文件操作3.Linux文件系统3.1根目录结构3.2.VFSVFS 虚拟文件系统基础概念Linux文件系统与设备驱动关系:设备驱动结构体:file,inodeinode结构体inode之atime,mtime,ctimefile结构体3.3 ...
2018-08-14 12:58:54
3600
1
原创 linux驱动开发-内核编译
环境:ubuntu14.04 32位linux内核4.0版本,路径/home/baohua/develop/linux0、搭建编译环境Ubuntu 16.04上安装arm-linux-gcc-4.4.31、编译内核查看路径下文件:编译内核(使用交叉编译):make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zI...
2018-07-13 22:04:30
274
转载 嵌入式Linux-基础
内核源码:嵌入式linux面试题解析——ARM部分Linux内核文件系统Linux内核启动过程嵌入式linux根文件系统Linux驱动程序是系统内核的一部分,驱动程序工作在内核态,应用程序工作在用户态驱动程序分类:字符设备,c 块设备,b 网络设备 其他设备用户态和内核态名词解释:文件系统:FAT(File Allocation Table) :微软...
2018-07-08 14:06:18
199
原创 嵌入式
目录1、嵌入式c编程基础知识1.1 C的关键词关于static:关于define:关于const:关于inline:关于volatile:1.2 关于大小端手写库函数 strcpy,strncpy,memcpy,memsethttps://blog.csdn.net/tsh123321/article/details/52263707题目:1...
2018-07-06 15:13:53
2213
原创 stm32-内存管理
直接上代码:malloc.h:#ifndef __MALLOC_H#define __MALLOC_H#ifndef NULL#define NULL 0#endif//定义三个内存池,分别是ARM自带的SDRAM,外置的SDRAM,以及仅供CPU访问的CCM空间#define SRAMIN 0 //内部内存池#define SRAMEX 1 //外部内存池(SDRAM...
2018-07-05 14:44:12
1562
原创 stm32F429-系统架构
1.存储器和总线架构1.1系统架构图1I总线:此总线用于将 Cortex™-M4F 内核的指令总线连接到总线矩阵。内核通过此总线获取指令。此总线访问的对象是包含代码的存储器(内部 Flash/SRAM 或通过 FSMC 的外部存储器)。D总线:此总线用于将 Cortex™-M4F 数据总线和 64 KB CCM 数据 RAM 连接到总线矩阵。内核通过此总线进行立即数加载和调试访问。此总线访问的对象...
2018-07-02 12:52:53
7615
原创 stm32-CAN
1、概念CAN是一种异步通信,使用CAN_HIGH,CAN_LOW两根信号线实现差分通信,通信网络有两种:闭环总线网络、开环总线网络1.1闭环总线网络特点:遵循 ISO11898 标准高速、短距离总线最大长度为 40m,通信速度最高为 1Mbps两端各要求有一个“120 欧”的电阻。 1.2开环总线网络特点:遵循 ISO11519-2 标准 低速远距离最大传输距离为 1km,最高通讯速率为 125...
2018-06-21 14:55:18
663
原创 C++刷题
#include<algorithm>1、计算字符串最后一个单词的长度,单词以空格隔开。输入描述:一行字符串,非空,长度小于5000。输出描述:整数N,最后一个单词的长度。示例1输入hello world输出5#include<iostream>#include <string>using namespace std;i...
2018-06-20 21:20:44
493
原创 C语言编程题
程序代码目录1、递归2、输入一个整数(任意位数),倒叙输出:3、将一个数组逆序放到原来数组中。(考虑复杂度)4、斐波那契数列:5、排序5.1冒泡排序5.2、选择排序6、字符串循环移动7、计算字符串最后一个单词长度8、删除一个字符串中指定的所有某个字符。9、用一个表达式判断一个整数是否在某两个整数之间1、递归求阶乘n!分别用递归和循环法:...
2018-06-20 10:41:23
813
原创 stm32-以太网
LAN:局域网ISP:互联网提供商路由器:Router1、互联网模型 国际标准组织将整个以太网通信结构制定了 OSI 模型,总共分层七个层,分别为应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层 。OSI 模型是理想分层,一般的网络系统只是涉及其中几层。 TCP/IP 是互联网最基本的协议,是互联网通信使用的网络协议,由网络层的 IP 协议和传输层的 TC...
2018-06-16 15:08:56
12392
原创 FreeRTOS中的优先级
1、中断优先级和任务优先级的区别 首先中断优先级和任务优先级这两个之间没有任何关系,不管中断的优先级是多少,中断的优先级永远高于任何任务的优先级,即任务在执行的过程中,中断来了就开始执行中断服务程序。另外对于STM32F103,F407和F429来说,中断优先级的数值越小,优先级越高。而FreeRTOS的任务优先级是,任务优先级数值越小,任务优先级越低。...
2018-06-16 12:53:25
798
原创 RTOS系统5-中断管理
1、概览 嵌入式实时系统需要对整个系统环境产生的事件作出反应。 这些事件对处理时间和响应时间都有不同的要求。在各种情况下,都需要作出合理的判断,以达到最佳事件处理的实现策略: 事件如何被检测到?通常采用中断方式,但是事件输入也可以通过查询方式(例如:查询电平高低)获得。什么时候采用中断方式?中断服务例程(ISR)中的处理量有多大?以及 ISR 外的任务量有多大?通常情况下, ISR 应当越短...
2018-06-11 17:00:49
1503
原创 RTOS系统4-队列管理
回顾:任务创建、任务状态切换、任务函数1、队列概述 基于 FreeRTOS 的应用程序由一组独立的任务构成——每个任务都是具有独立权限的小程序。这些独立的任务之间很可能会通过相互通信以提供有用的系统功能。FreeRTOS 中所有的通信与同步机制都是基于队列(queue)实现的 。2、特性数据存储: 队列可以保存有限个具有确定长度的数据单元。队列可以保存的最大单元数目...
2018-06-11 14:35:14
404
原创 STM32-驱动程序
以STM32F429为例1 USART配置USART2usart.h文件根据硬件设置别名:#ifndef __USART_H#define __USART_H#include "stm32f4xx.h"#include <stdio.h>//配置USART2#define USART2_CLK RCC_APB1Periph_USART2#...
2018-06-11 10:05:09
10637
原创 RTOS系统3-任务管理
1、任务函数任务函数必须返回void,且必须带有一个void指针参数:void *pvParameters 例如:void ATaskFunction(void *pvParameters);任务都是自己职权范围内的一个小程序,其具有程序入口,通常会运行在一个死循环中,也不会退出;任务不允许任何形式的返回(绝对不能有return语句,也不能执行的函数末尾)一个任务函数可以创建若干个任务,任务...
2018-06-09 11:12:05
1033
trace FreeRTOS
2018-06-22
c编程题代码
2018-06-20
Python学习手册第四版中文
2018-04-15
Linux程序设计(中文)第四版
2017-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人