自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 [Linux] ELF 文件分析

一、基本概念ELF(Executable and Linkable Format)即可执行连接文件格式,是Linux默认的目标文件格式。分析ELF文件有助于理解一些重要的系统概念,例如程序的编译与链接,加载与运行等类型1. 可重定向文件:包含代码与数据。链接其他文件生成一个可执行文件或共享库。lib*.a,*.o等2. 可执行文件:进程镜像,载入内存执行3. 共享目标文件:与其他共享文件、可重定向文件生成执行文件,或者与执行文件一起载入内存运行。lib*.soPIC/PIE位置无关代码,可

2021-04-24 15:44:09 2762

原创 [Shell] 键盘快捷命令

一、Linux命令行 快捷键浏览命令* Ctrl+f 向前移动一个字符,相当与->* Ctrl+b 向后移动一个字符,相当与<-* Alt+f 向前移动一个单词尾部* Alt+b 向后移动一个单词头部* Ctrl+a 移动当前行开头* Ctrl+e 移动当前行结尾* Ctrl+p 上一条命令* Ctrl+n 下一条命令编辑命令* Ctrl+d 删除光标所在处字符* Ctrl+h

2021-04-04 17:29:06 396

原创 [服务器] Ubuntu 环境搭建配置

Ubuntu 配置流程一、准备软硬件平台基本配置miniPCCPUJ1900 四核四线程MEMDDR3 1866 8GBDISK120GB+120GB=》硬件我用一台miniPC,软件版本用ubuntu 18.04 LTShttps://www.ubuntu.com/download/desktop二、安装流程1. 官网下载iso档2. 制作U盘升级:Windows端使用UltraISO软件(略);MAC直接用终端命令dd$ hdiutil conv

2021-04-04 11:26:18 357

原创 [服务器] Centos 环境搭建配置

Centos 环境搭建配置一、准备软硬件平台我用**云VPS,1核1G内存2M宽带50G硬盘。软件版本选Centos7.7 64bit一般云商都支持一键安装,过程略二、常用配置Shell颜色# vim .bash_profilePS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;01m\]\u\[\033[00;00;01m\]@\[\033[01;35;01m\]\h\[\033[00;31;01m\]:\[\033[00;00;01m\]

2021-04-03 20:13:48 267 1

原创 [docker] docker 安装与使用

docker 安装与使用一、基本知识docker 与 VirtualBox容器化技术是app层面的隔离虚拟化技术是物理硬件的隔离目前容器化往往也是基于虚拟机基础上做的资源隔离比如,云服务器是centos,本地服务器是ubuntu方案一:本地创建centos容器,安装好所有服务,导出整个centos容器给到云服务器运行方案二:本地VirtualBox创建centos,在centos环境里创建APP容器,导出到云服务器二、Ubuntu 安装Docker手动安装1. 卸载旧版本$ sudo

2021-04-03 20:02:29 448

原创 [nginx] 简单搭建

nginx 简单搭建一、安装使用###安装# yum -y install pcre nginx启动/关闭/重启# systemctl start nginx# systemctl stop nginx# systemctl restart nginx开放80端口# firewall-cmd --permanent --zone=public --add-port=80/tcp# firewall-cmd --reload# firewall-cmd --query-port=80

2021-04-03 19:56:13 80

原创 [服务器] Ubuntu 扩容磁盘

Ubuntu 扩容磁盘增大服务器空间有两种方法,一种是挂载硬盘到一个目录上,另一种是在原来磁盘上扩容对于物理服务器和硬盘,通常用第一种直接挂载 [Ubuntu 挂载磁盘]对于云服务器,如VPS,我们用第二种,以下介绍这一种一、查看磁盘df查看当前磁盘=》/dev/mapper/ubuntu–vg-root挂载到 /fdisk查看可用盘二、格式化新建分区# fdisk /dev/xvdb* n 新建分区* p 主分区* 1 第一个分区* 回车* 回车* t 指定分区格式*

2021-04-03 19:51:43 542

原创 [服务器] Ubuntu 用户权限管理

Ubuntu 用户权限管理添加删除用户# adduser -a --force-badname test# userdel -r test=》–force-badname弱检查,有些版本会拦截用户名如’-'特殊符号修改目录权限# chmod 750 /home/test# chown test:group1 /home/test=》修改目录为750,同组可读,非同组不可读=》修改属主和属组添加管理员方法一:添加到sudo组# usermod -g sudo test方法

2021-04-03 19:42:49 301

原创 [服务器] Ubuntu 挂载新硬盘

Ubuntu 挂载新硬盘挂载以扩展磁盘空间格式化并挂载硬盘$ sudo fdisk -lDisk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDi

2021-04-03 19:35:09 203

原创 [服务器] Ubuntu 用户磁盘配额

服务器在多人用户下,通常要考虑存储空间问题。比如500G硬盘,有三个用户,那我每个用户分配100G服务器空间(余留一些给后续新加用户),用户在使用时就知道自己剩余空间,合理利用安装quota$ sudo apt install quota重载磁盘或分区$ sudo umount /home$ sudo fdisk /dev/sdanew a partition -> sda1$ sudo mkfs.ext4 /dev/sda1$ ls -l /dev/disk/by-uuid/a9

2021-04-03 19:31:05 830

原创 [服务器] Ubuntu Samba简单配置

Ubuntu Samba简单配置Samba实现局域网共享文件与打印机。解决电脑与ubuntu服务器的文件共享安装配置$ sudo apt install samba$ sudo vi /etc/samba/smb.conf[global] security = user[home] comment = user path path = /home/%U valid users = %U browseable = yes writable = yes gu

2021-04-03 19:27:34 157

原创 [Pi] 内核驱动编译环境

树莓派内核及驱动编译环境搭建一、获取代码和交叉工具链代码路径:https://github.com/raspberrypi确认版本pi@raspberrypi:~ $ uname -aLinux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linuxpi@raspberrypi:~ $ cat /proc/versionLinux version 5.4.51-v7l+ (dom@build

2021-04-01 23:03:23 179

原创 [Pi] 安装配置

树莓派安装配置一、安装image格式化=》 选择“MS-DOS(FAT)”,点击抹掉按钮制作SD升级% df -h/dev/disk2s2 14Gi 1.1Mi 14Gi 1% 0 0 100% /Volumes/OLIVERPI% diskutil unmount /dev/disk2s2% diskutil list/dev/disk2 (external, physical): #: TYPE NAME

2021-04-01 23:02:35 2304

原创 [MAC] 使用笔记

一、homebrew直接安装ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”修改源安装直接安装有可能因为源太慢而失败下载installcurl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install修改brew_install找到如

2021-04-01 22:48:29 79

原创 [串口] 串行通信协议 UART、IIC、SPI

一、概述名词解释* 串口、COM口指的物理接口形式(硬件)* UART是串口收发的逻辑电路,规定了串口数据的传输格式* RS-232、RS-485、TTL指电平标准(电信号)* USB电平、RS232电平、RS485电平的电平标准都不同,单片机通常要将TTL电平转化为对应的电平标准与其他设备(电脑)通讯* PL2303、CP2102、CH340都是USB转TTL电平的芯片;MAX232,SP2323是TTL电平与232电平双向转换的芯片;MAX485是TTL电平与485电平双向转换的芯片* 通

2021-04-01 22:23:58 3624 2

原创 [Sublime Text3] 随记

Sublime Text3一、安装配置下载地址http://www.sublimetext.com/3安装Package Control方法一:[View] -> [Show Console] 填入以下,然后enter;安装后重启import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control

2021-03-31 21:27:44 112

原创 [tmux] 基本用法与配置

tmux基本用法与配置一、什么是tmuxterminal multiplexer(终端复用器),它可以启动一系列终端会话应用场景单个终端查看操作多个会话=》如图,一个终端挂多个会话和窗口,可以同时进行:编译、下code、上code、修改代码等终端窗口后台运行普通终端窗口:前台进程运行(如编译代码) --》 关闭窗口 --》 进程终止tmux终端窗口:前台进程运行(如编译代码) --》 关闭窗口 --》 重新连接终端 --》 tmux attach重新连接tmux终端窗口=》tmux是C

2021-03-30 23:04:02 482

原创 [VIM] 基本配置

VIM 基本配置一、配置目录配置:.vimrc插件:.vim/bundle/颜色:.vim/colors/二、常用配置" 基本配置:set encoding=utf-8:set termencoding=utf-8:set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936:syntax enable " 语法高亮":set number " 行号:set ignorec

2021-03-28 18:11:25 176

原创 [VIM] map语法

VIM mapmapmap不带前缀等于 n+v+o* nore 非递归;若递归:a->b, c->a 即递归为 c->b* n 普通模式下生效* v 可视模式下生效* i 插入模式下生效* c 命令模式下生效* o 操作模式下生效,操作符等待中 ("d","y","c" 等等之后)格式* :map {lhs} {rhs} 把键系列 {lhs} 映射为 {rhs}* :unmap {lhs}

2021-03-28 18:06:12 1154 1

原创 [VIM] 插件之ctags详解

ctags 详解支持语言ctags --list-languages 列出支持语言ctags --list-maps 不同语言对应的扩展名ctags --list-maps=c++ctags --langmap=c++:+.inl 设定指定语言的mapctags --languages=c++ 只扫描C++类型文件支持语法ctags --list-kinds 每种语言支持的语法;如C++ 类/枚举/宏/

2021-03-28 18:01:57 464 1

原创 [VIM] 插件之cscope详解

cscope 详解创建数据库$ cscope -Rbq-b:仅构建交叉引用(cross-reference)文件,然后退出,不会进入下面的交互界面:-q:通过倒排索引加速符号的查找过程。该选项会导致cscope额外产生cscope.in.out和cscope.po.out两个文件-k: 在生成索引文件时,不搜索/usr/include目录-u: 扫描所有文件,重新生成交叉索引文件-I dir: 在-I选项指出的目录中查找头文件命令:cs add cscope.out 添加一个

2021-03-28 18:01:13 606

原创 [VIM] 常用插件

VIM 插件一、Vundle 插件管理配置$ cd ~/.vim/bundle$ git clone [email protected]:VundleVim/Vundle.vim.git$ vim ~/.vimrc" 插件管理set nocompatible " 关闭兼容模式filetype offset rtp+=~/.vim/bundle/Vundle.vim/call vundle#begin()"Bundle 'gmarik/vundle'"Bundle 't

2021-03-28 11:26:13 201 1

原创 [VIM] 基本命令

VIM 基本命令一、VIM 模式Normal (正常模式)最一般的普通模式,默认进入vim之后,处于这种模式Insert (插入模式)插入模式,其实就是指处在编辑输入的状态;普通模式下,可以按i进入Visual (可视模式)一般译作可视模式,在这种模式下选定一些字符、行、多列;在普通模式下,可以按v进入Command(命令模式)普通模式下按冒号(:)进入Command-Line模式,可以输入各种命令还有个Ex模式:普通模式下按Q进入Ex模式,其实就是多行的Command-Line模式

2021-03-28 11:20:20 140 1

原创 [终端配色方案]

配色方案一、Iterm2 设置Color[Preferences]->[Profiles]->[Colors]=》Brighten bold text去掉;选择solarized=》选择xterm-256color二、Iterm2 Shell 环境设置$ vim .zshrc#enables colorin the terminal bash shell exportexport CLICOLOR=1#enables colorfor iTermexport TERM=x

2021-03-28 11:16:15 575 1

原创 [MWEB] 随记

MWEB 随记一、基本用法语法MWeb 采用的语法是 Github Flavored Markdown 语法,简称 GFM 语法,GFM 是官网版本的扩展版,除了支持官方的语法外,还支持表格、TOC、LaTeX、代码块、任务列表、脚注等。另外 MWeb 在兼容 GFM 语法的基础上,还扩展支持两种比较有用的语法:画图支持(mermaid, viz, echarts, plantuml, sequence, flow)和设置图片宽度标题 # 第一级标题 ## 第二级标题

2021-03-28 10:24:15 127

原创 [vscode] 随记

vscode随记一、安装https://code.visualstudio.com/ 下载对应版本安装二、插件chinese汉化ARM提供汇编语言语义识别、高亮C/C++微软官方插件,提供C/C++语义识别、补全、高亮、跳转、调试等C/C++ Clang Command Adapter配合clang,C/C++语法检测、补全、编译调试C++ Intellisense配合GNU Global建立索引,智能跳转和搜索,类似ctagPlatformIO IDE物联网嵌入式开发环境al

2021-03-27 22:55:56 257

原创 [Python] django环境搭建

django 搭建步骤一、创建虚拟环境参考Python 虚拟环境一节# mkvirtualenv blog_dj# cdvirtualenv二、安装django# pip install django三、django-admin[django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb lo

2021-03-25 22:47:46 66

原创 [Python] 虚拟环境

Python 虚拟环境一、virtualenvpython虚拟环境Virtualenv是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。Virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够帮助:- 在没有权限的情况下安装新套件;- 不同应用可以使用不同的套件版本;- 套件升级不影响其他应用。- 隔离项目之间的第三方包依赖- 在没有权限的情况下安装新的Pyt

2021-03-25 22:46:38 61

原创 [Python] 安装与环境配置

centos 安装python3必要工具# yum -y groupinstall "Development tools"# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel readline readline-devel libffi-devel下载安装

2021-03-25 22:45:00 65

原创 [MySQL] 安装与环境配置

MySQL 安装与环境配置一、centos MySQL安装配置安装# yum -y install gcc python-devel mysql mysql-devel mysql-server mariadb mariadb-server mariadb-devel权限配置# /usr/sbin/groupadd mysql# /usr/sbin/useradd -g mysql mysql# chown mysql.mysql /var/lib/mysql/ # 数据库默认路径启动

2021-03-25 22:43:54 45

原创 [Java] 安装与环境配置

Java环境配置一、JDK安装下载安装http://www.oracle.com/technetwork/java/javase/downloads/默认路径和版本% ls /Library/Java/JavaVirtualMachinesjdk-13.0.2.jdk% java --versionjava 13.0.2 2020-01-14Java(TM) SE Runtime Environment (build 13.0.2+8)Java HotSpot(TM) 64-Bit Se

2021-03-25 22:42:54 65

原创 [C/C++] vscode C/C++ 开发环境配置

vscode C/C++ 开发环境配置一、插件安装* ARM 汇编语言语义识别、高亮* C/C++ 微软官方插件,提供C/C++语义识别、补全、高亮、跳转、调试等* C/C++ Clang Command Adapter 配合clang,C/C++语法智能诊断* C++ Intellisense和C/C++ GNU Global 配合GNU Global建立索引,智能跳转和搜索,类似ctag* Code Runner 支持多种编程语言的编译运行* bookmark

2021-03-24 23:48:07 602 1

原创 [cmake] 使用教程

cmake 使用教程一、demo代码树├── HARDWARE│ ├── EXTI│ │ └── exti.c│ ├── INC│ │ ├── exti.h│ │ ├── key.h│ │ └── led.h│ ├── KEY│ │ └── key.c│ └── LED│ └── led.c├── Makefile├── STM32F103RCTx_FLASH.ld├── SYSTEM│ ├── del

2021-03-24 23:37:32 143

原创 [Go] MAC Go环境配置

MAC Go环境配置一、Golang 安装官网:https://golang.org/dl中文网:https://studygolang.com/dl官网可能被墙,可以换中文网下载,下载pkg安装包安装二、环境变量配置% printenv PATH/usr/local/go/bin% vim ~/.zshrcGOPATH=/Users/username/goGOROOT=/usr/local/goexport GOPATHexport GOROOT% go envGOPATH="

2021-03-02 20:43:31 912

原创 [C/C++] 头文件/标准库/POSIX/Linux头文件

[C/C++] 环境 头文件/标准库1. C与传统C++assert.h提供断言宏 assert,常作用于调试程序时,在错误流程位置用断言assert(0 or false)终止程序,也常见用abort函数做程序断言(最终调用assert)ctype.h字符检测,是否字母/数字/大小写/标点/十进制/十六进制等字符处理,大小写互转,tolower/touppererrno.h定义错误代码errno宏定义为一个int型态的左值, 包含任何函式使用errno功能所产生的上一个错误码floa

2020-12-20 22:34:30 654

原创 [STM32] Mac开发STM32之VS Code集成开发环境

Mac开发STM32之VS Code集成开发环境前面几篇文章,分享了Mac环境搭建STM32开发环境的基本步骤,以及调试工具的使用编写code用vscode,编译在终端用ARM gcc命令,串口/JLink烧录,GDB command调试,完成整个开发调试需要用到多个工具和方式开发环境选择,安装配置相关工具https://blog.csdn.net/u010105424/article/details/106873610简单例子,说明开发过程和使用到的基本工具https://blog.csdn

2020-07-02 00:21:20 2289 1

原创 [STM32] Mac开发STM32之JLink常用方法

Mac开发STM32之JLink常用方法一、JLink组件APPJFlash/JFlashLite/JFlashSPI 下载烧录程序JLinkConfig 升级固件JLinkGDBServer 连接Target,设置为GDB serverJLinkRemoteServer 设置主机+Jlink为远程serverJLinkSWOViewer 查看SWO

2020-07-01 23:58:49 4200 4

原创 [STM32] Mac开发STM32之逻辑分析仪

Mac开发STM32之逻辑分析仪在单片机/嵌入式硬件开发时,逻辑分析仪是一个非常常用的工具。它用来捕获数字信号,开发者通过专用软件,图形化信号,并按照相应协议分析软件或硬件中的错误。在分析时序问题时,比如uart、iic、spi、can、hdmi cec等数据时,应用逻辑分析仪快速解决问题本例子使用saleaelogic8来分析STM32的GPIO输出电平一、硬件规格saleaelogic88通道输入电压:-0.5~5.25v低电平:-0.5~0.8v高电平:2~5.25v采样精度

2020-06-20 23:10:13 2088

原创 [STM32] Mac开发STM32之Makefile

Mac开发STM32之Makefile在初步接触STM32时,不建议直接就用ST官方的标准生成模板(如STM32CubeMX);推荐先学习STM32的寄存器设置本例子用正点的开发板,由于代码例子是适配MDK版本的,需要自己写Makefile编译工程目录结构=》设置OBJ目录存放生成的bin/hex/elf/map/.o/.dLDSCRIPThttps://my.st.com/content/my_st_com/en/products/embedded-software/mcu-mpu-embe

2020-06-20 18:37:36 958

原创 [STM32] Mac开发STM32之调试工具

Mac开发STM32之调试工具一、相关名词解释JTAG与SWDJTAG是一种国际标准测试协议,主要用于芯片内部测试、调试和在线编程SWD与JTAG 是常用的ARM芯片仿真调试方式。SWD相较于JTAG,使用接口更少、高速下也更稳定,在开发板外设接口有限时,通常使用SWD模式JTAG引脚必选VCC、GNDTMS:模式设置信号,在TCK上升沿有效TCK:时钟信号TDI:数据写入TDO:数据读出可选TRST:JTAG复位RESET:TARGET复位RTCK:由目标板提供回时

2020-06-20 18:15:45 2350

空空如也

空空如也

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

TA关注的人

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