自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (4)
  • 收藏
  • 关注

原创 Typora中的各种图表

参考这里:Typora中的各种图标流程图

2020-04-27 14:15:42 3048

原创 基于-Hexo-Github-搭建自己的博客

Install Node.js & Git & npmsudo apt install nodejs git npm# 安装版本查看node --versiongit --versionnpm --versionInstall Hexosudo npm install hexo-cli -g# 查看安装的版本hexo --versionStarting…...

2019-12-22 15:28:24 222

原创 内存数据手册中的一些计算

容量为 1Gbit 的内存芯片的方框图如上:8 个 bank,bank 的寻址线 3 根。位宽为 16bit。行地址线有 13 根,列地址线有 10 根,因为行列地址复用,所以地址线的需要 13 根,而不是 23 根。需要知道的是:内存芯片的地址线是行列地址复用的,当内存控制器收到一个地址后,会将该地址转换为行列地址,先发送行地址,然后发送列地址。读写对应处的数据。总容量:1Gbit ...

2019-12-07 21:48:56 607

原创 ARM中断处理过程

2019-11-08 20:57:49 245

原创 PendSVC切换任务时,PSP和MSP的使用

The Cortex-M3 auto-saves half of the processor context on any exception, and restores same on return from exception. So. in PendSVC’s ISR, for saving content, only saving of R4-R11 is required and fix...

2019-11-06 22:41:46 2669

原创 上古神器 VIM

A Byte Of VIM按键功能总览其他参考教程参考博客一约定:命令 Y (大写 Y) 即输入:Shift + y命令 c-v 即输入:Ctrl + vVIM的各种模式普通模式/命令模式(Normal Mode)插入模式(Insert Mode)覆盖模式(Replace Mode)可视模式(Visual Mode)可视行模式(Visual-Lin...

2019-11-03 13:16:03 292

原创 UBI 笔记

UBI uses an abstract model of flash. In short, from UBI’s point of view the flash (or MTD device) consists of eraseblocks, which may be good or bad. Each good eraseblock may be read from, written to...

2019-10-22 22:59:21 780

原创 伪指令 ADR 和 LDR

汇编中 adr 指令 和 ldr 指令的区别首先看下面的例子:.global _start_start: ldr r0,=0x12345678 /* 将 无效立即数0x12345678 赋值寄存器r0 */ ldr r1,=label /* 将 标签所表示的地址值 赋值寄存器r1 */ ldr r2,label /* 将 标签所指地址处的内容 赋值寄存器r2...

2019-10-20 18:23:07 652

原创 UART

通用异步收发传输器(Universal Asynchronous Receiver and Transmitter),通常称作UART,UART通信在工作中相当常见,属于异步通信,通信的双方不需要同步时钟,与之不同的是:IIC和SPI,它们是同步通信,通信的双方需要时钟线。在很多的SOC内部都集成了UART,由两部分组成:一个将串行比特流转换成微处理器可以使用的并行数据接收器(Rx)和一个将来自...

2019-10-19 16:12:27 325

原创 IIC 总线

IIC总线上的三种信号类型开始和结束信号应答信号一个字节的传输看着这样的时序图的时候,有一个暗线:时间。既然叫“时序图”,那么时间是隐藏在图中的很重要变量,所以从左到右,随着时间的流逝,首先发送的数据是MSB,最后发送的是LSB。IIC协议内容首先区分下面几个名词MASTER (主机)SLAVE (从机)TRANSMITTER (发送方)RECEIVER (接收...

2019-10-17 23:12:34 797

原创 Makefile 中小知识点记录

$(VAR:XXX=YYY)如果变量VAR中出现 XXX 则用 YYY替换。例如在U-boot的Makefile中遇到的 $(@:_config=) 如果 $@ 的值中出现 _config 则用 空 替换。normal prerequisites && order-only prerequisitesGUN Makefile Manual Chapter4.3 、参考博客...

2019-10-16 21:07:21 184

原创 Makefile 中的 override 指示符

GUN Makefile Manual Chapter6.7override 指示符通常在执行 make 时,如果通过命令行定义了一个变量(例如 make V=s),那么它将替代在 Makefile 中出现的同名变量的定义。就是说,对于一个在 Makefile 中使用常规方式(使用“=”、“:=”或者“define”)定义的变量,我们可以在执行 make 时通过命令行方式重新指定这个变量的值...

2019-10-16 20:42:29 507

原创 Makefile中export的用法

在实际的项目中,总不会是只有一个 Makefile 文件,我们会在 Makefile 中调用另外的 Makefile 文件,呈现出 Makefile 的层级结构。上层 make 过程要将所执行的 Makefile 中的变量传递给子 make 过程,需要明确地指出。在 GNU make 中,实现此功能的指示符是 export。当一个变量使用 export 进行声明后,变量和它的值将被加入到当前工...

2019-10-16 12:40:52 11232 1

转载 Makefile中的二次展开 .SECONDEXPANSION

GUN Makefile Manual Version 4.2 Chapter3.8参考博客# 例子一:.SECONDEXPANSION:ONE=onefileTWO=twofilemyfile: $(ONE) $$(TWO) @echo "myfile"onefile: @echo "onefile"twofile: @echo "twofile"# 例子一运行...

2019-10-16 12:22:49 1518

原创 Makefile中的变量和Shell中的变量

变量就是给一串字符串起的名字。这串字符串就是变量的值。变量的定义使用“=”或者使用指示符“define”。变量的展开是严格的字符串替换。变量的引用Makefile 中:在Makefile中,变量的引用方法:$(VAR) 或者 ${VAR} ;在Makefile中,不能使用 $VAR ,除非变量名为单字符 。Makefile 中符号$有特殊的含义(表示变量或者函数的引用),在规...

2019-10-16 08:55:40 2612

原创 服务器上搭建 dokuwiki 用于项目文档库

搭建环境:ubuntu(16.04)安装web服务器和PHPsudo apt-get install apache2 php7.0 php7.0-fpm php7.0-cli php-apcu php7.0-gd php7.0-xml php7.0-curl php7.0-json php7.0-mcrypt php7.0-cgi libapache2-mod-php7.0 php-pa...

2019-10-15 15:28:58 528

原创 typora 和 picgo 配合 github图床 实现 MarkDown 格式文档轻松插入图片

GitHub图床设置示例

2019-10-14 22:45:13 593

原创 SublimeText3配合Ctags实现代码跳转

环境配置:PC(win7) + SublimeText3需要准备的:Ctags安装包步骤:一、安装Sublime Text插件确认Sublime Text已安装Install Package;按Ctrl + Shift + P,输入Install Package后回车;弹出下拉框后输入Ctags回车进行安装。二、配置追踪的快捷键(可省略,默认的快捷键是:Ctrl + Shift ...

2019-10-14 22:40:05 474

原创 对 $@ 的理解

例子一示例Makefiledefine do_func @echo "$1_";echo "$2_";echo "$3_";echo --------endef.PHONY: ONE TWO THRE allall: ONE TWO THREONE TWO THRE: $(call do_func,$@)我本以为的运行结果:$ make allONE_TWO_THRE...

2019-10-14 22:02:24 451

原创 Makefile中变量定义需要注意的空格

变量定义中,变量值的前导空格字符在变量引用和函数调用时被丢弃。变量值中的尾空格是不被忽略的。#定义一个空格nullstring :=space := $(nullstring) #end of the line#上一行中注意#号前有一个空格也可以采用下面的方法定义一个空格:nullstring :=space := $(nullstring) $(nullstring)#end...

2019-10-14 21:51:04 2006

原创 Makefile 常用函数

函数的使用方法findstring 函数syntax: $(findsring FIND,IN)func: 在字符串“IN”中查找字符串“FIND”。如果找到则返回“FIND”,没有找到则返回空。# example$(findstring a,a b c) # 函数返回值为 a$(findstring a,b c) # 函数返回为空注意:查找时会匹配大小写。if 函数synta...

2019-10-14 21:45:09 178

原创 Z shell 安装和使用

User’s Guide

2019-08-09 12:40:22 1074

原创 x = x++ 的细节

代码反汇编和分析如下:参考博客

2019-07-22 13:55:28 217

转载 Linux和Windows中换行的比较

参考自这里!对于内容看起来一样的两个C文件,一个是Linux下的文件,一个是Windows下的文件。 在nodepad++中可以从状态栏中看出文件的是Linux下的还是Windows下的。如下面两个图: 他们看起来文件的内容是一样的,将它们转成二进制文件后,则可以看出不同: 在windows下:\r\n代表换行,拆分两个代码是:回到行首+换到下一行 但是在linux下的区别是:

2018-01-10 12:22:02 12670

转载 SecureCRT中输入make menuconfig出现乱屏现象的解决

SecureCRT中输入make menuconfig出现如下图的现象:(虽然也能正常用,但是看得很不爽……) 解决方法: 如果想继续保持 Linux 的配色,则在下图中的 ANSI Color 前面打钩。

2018-01-02 19:34:59 2708

转载 sscanf(buf,"mtd%d: %x %x \"%[^\"]\"\n",&mtdnum,&size,&erasesize,name);

sscanf(buf,"mtd%d: %x %x \"%[^\"]\"\n",&mtdnum,&size,&erasesize,name); 在双引号表示的字符串中需要有 “ 本身,则在前面加上 \ 执行上条语句之前,buf 中的内容例如: mtd0: 00280000 00010000 “boot+cfg+linux” 执行sscanf函数之后: mtdnum = 0 size =

2017-12-26 16:25:54 2864

转载 vim自动补齐插件的使用

插件的获取:Get the latest version from Github: https://github.com/mbbill/code_complete插件的使用示例:https://sh.qihoo.com/ctranscode?title=vim%20%E6%94%AF%E6%8C%81%E5%87%BD%E6%95%B0%E8%A1%8C%E5%8F%82%E5%92%8C%E5

2017-12-20 11:25:19 1179

转载 VMWare 1404 中无法识别设置的共享文件夹

重新安装VMWare Tools, 具体的安装方法网上有很多。VMWare Tools的安装参考: https://jingyan.baidu.com/article/1974b289b813dcf4b1f77411.html如果以后虚拟机开发出现: ubuntu 14.04 vmware tools 启动脚本未能成功执行 的错误,参考: http://tieba.baidu.com/p/

2017-12-20 11:10:01 347

原创 二维数组遍历的几种实现方法

/**实现二维数组的遍历累加**/#include <stdio.h>int main(void){ int a[][5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *pl; int (*pr)[5]; int suml = 0, sumr = 0; int i, j;/************************

2017-06-27 21:23:57 1423

原创 正整数和字符串之间的转换

好了咯#include void printdec(unsigned int num){ if (num >= 10) { printdec(num /10); } putchar(48 + num % 10); }int printdec2str(unsigned int num, char *p){ in

2017-06-27 10:57:12 1948

原创 指针与数组的理解

写在前面C标准规定了C语言的语法,但对于语法的理解记忆却可以千差万别,只要自己的理解能够在C语言语法正确的前提下自圆其说就好。关于下文的理解方法,欢迎批评指正。1、指针变量的两个要点 一个指针变量,有两个要点:a) 指针指向的目标类型。b) 指针变量中的地址值 两个指针类型的变量,当它们的目标类型和存储的地址值相等时,则这两个变量参与运算时,具有相同的效果。可以认为它们是同一个“东西”。

2017-06-24 14:48:09 501

原创 指针的运算

指针与整数的运算如果 p 为指针变量,那么指针的解引用 *p 所得到类型即是指针 p 的目标类型。 当对于指针变量 p 的操作 (p + n) 或者 (p - n) 的结果不确定时,牢记下面的计算法则: p +(-) n p中的地址内容 +(-) sizeof(目标类型) * n举个栗子: 在上图中: sizeof(int) = 4 sizeof(int *)

2017-06-20 09:41:11 356

转载 C语言中数据类型的自动类型转换

非常的重要的声明: 这篇博客的内容,主要参考网友的博客。 尊重知识产权,尊重原创!一、 C在以下四种情况下会进行隐式转换:算术运算式中,低类型能够转换为高类型。赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。二、 运算表

2017-06-16 21:05:53 13229 2

原创 scanf 函数的使用

一、输入单个数据举个栗子: 二、输入多个数据1.默认的数据分割符 多个数据之间的分割符默认为:回车符 或 制表符 或 空格符对于下面的语句: 输入时,三个整数之间的间隔是上面三种分割符的任意一种。2.指定数据的分割符 a.如果指定的分割符是默认的三种分割符,则和没有指定效果一样。 b.如果是其他的分割符,输入时必须输入指定分割符如下面的四条语句所示: 下面的三

2017-06-15 21:43:32 570

原创 printf 的基本使用

printf 函数的基本输出格式:函数示例: 以上函数对应的输出结果:  printf 函数的指定格式的输出:函数示例: 以上函数对应的输出结果 :

2017-06-15 19:54:03 313

转载 scanf用法及scanf中有\n的问题

文章转载自[传送门](http://blog.csdn.net/weiweicsdn1/article/details/52185453)想象输入设备(键盘)连接着一个叫“缓冲”的东西,把缓冲认为是一个字符数组。当你的程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住,等待你从键盘输入。现在假设你的缓冲区里有:abcd\n1234\n (其中\n是回车符)执行:scan

2017-06-14 21:24:24 653

原创 C语言中不同类型数据之间的赋值

整数与整数之间一、长度相等(在内存中存储的位数相等)的两个不同的类型的数据之间的赋值 在计算机中的存储内容不变,只是数据按照不同的编码格式来解析。二、长 赋值给 短 (短 = 长) 截取低位,然后按照短整数的数据类型解析。三、短 赋值给 长 (长 = 短)其中,短转长又分为三种情况: 1. 两个数据都是无符号的数据,短整数直接高位补0。 2. 两个数据都是有符号的数据,短整数进行符号

2017-06-14 11:06:38 12158 1

原创 计算机使用补码的原理

下面的截图来自书《计算机组成与体系结构》中第九章的相关内容:更多的内容参考下面的博客,已经被大牛们解释的很清楚了。参考来源: http://blog.csdn.net/woailuo453786790/article/details/51427847 https://www.zhihu.com/question/30395946 http://www.cnblogs.com/zhangziqi

2017-06-14 10:11:08 359

原创 C语言中的常量

字符常量形如: ‘ a ’ ‘ b ’ ‘ 1 ’ ‘ \aaa ’ ‘ \xbb ’ 以上都为字符常量。(其中aaa是一个八进制的数,是ascii值;bb是一个十六进制的数,是ascii值)字符常量的类型为:char如图: 整型常量形如: 1 、-2 、123 0b1001 1101 0x7FFF FFFF、0x8000 0000 0x7FFF FFFF FFFF FFFF

2017-06-13 20:11:22 3784

原创 第一个程序“Hello World !”

预处理阶段:(1.宏定义展开 2.头文件包含 3.条件编译) gcc hello.c -o hello.i -E编译阶段:(将c文件(.c)编译得到汇编文件(.s)) gcc hello.i -o hello.s -S汇编阶段:(将汇编文件(.s)文件汇编得到二进制目标文件) gcc hello.s -o hello.o -c链接阶段:(链接得到二进制可执行文件) gcc hello.o

2017-06-13 11:34:25 353

picgo-setup-2.1.2.zip

picgo 版本 2.1.2 安装包。下载来源:https://github.com/Molunerfinn/PicGo/releases/tag/v2.1.2

2019-10-15

Shell简介文档

Shell简介

2017-01-11

浅析ARM指令的寻址方式

浅析ARM指令的寻址方式

2016-11-21

空空如也

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

TA关注的人

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