自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Makefile中的调试打印方法

使用info/warning/error增加调试信息 info $(info "here add the debug info") 注,info信息,不打印信息所在行号 warning $(warning "here add the debug inf...

2019-03-20 16:53:32 1943 0

原创 开源项目在arm下的交叉编译规则整理

典型的开源项目编译方式整理, 以openssl源码的交叉编译为例, 查看源码目录 $ vim README $ vim INSTALL $ vim Configure 1/查看源码介绍, 2/查看编译安装文件介绍, 3/查看配置脚本,有的话,需要就看下 一般INSTALL...

2018-12-27 01:09:19 205 0

原创 嵌入式linux开发必备: gdb常用调试命令记录

命令 描述 其他 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或...

2018-08-28 22:56:27 787 0

原创 linux core dump 永久生成

目的: 嵌入式linux系统,busybox 制作的文件系统,开启core dump功能.设置为永久生效, 问题: 之前的配置如下:(重启后失效,,,,,) vi /etc/rc.d/rc.local .... ulimit -c unlimited //在/etc/rc....

2018-07-28 14:44:30 356 0

原创 代码版本维护工具git应用笔记-持续更新

工具: 工具:git命令行与TortoiseGit 图形界面交互 这里主要使用TortoiseGit工具. 概念: 工作区和暂存区, 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。 Git的版本库里存了很多东西,,其中最重要的就是称为stage(或者叫index...

2018-07-27 01:58:59 302 0

原创 VMware tools工具的安装

目的:解决各种疑难杂症 1、已经/一直显示“重新安装VMware tools”,但找不到安装包? 2、点击“安装VMware tools”,提示CD/DVD被占用等等一些信息 3、其他衍生问题。 VMware tools 功能: 只有在VMware虚拟机中安装好了VMware Tools...

2018-06-11 22:04:48 628 0

原创 linux 实用命令/工具(持续更新)

查找包含某字符串的文件及位置: find .|xargs grep -ri "要查找的字符串" 查找文件位置: find [...

2018-05-11 16:01:58 326 0

转载 嵌入式linux根文件系统制作--busybox

busybox是构造文件系统最常用的软件工具包,它被非常形象地称为嵌入式Linux系统中的“瑞士军刀”,因为它将许多常用的Linux命令和工具结合到了一个单独的可执行程序(busybox)中。 虽然与相应的GNU工具比较起来,busybox所提供的功能和参数略少,但在比较小的系统(例如启动盘)或...

2018-04-16 16:26:09 427 0

原创 linux 终端特殊组合键

<unix环境高级编程>中,经常提及终端特殊组合键,这里记录方便后来者. 终端中断[字]符:Ctrl+C组合键或者delete按键. 终端退出[字]符:Ctrl+\组合键 终端停止/挂起[字]符:Ctrl+Z组合键 文件结束符EOF(End of File):Ctrl+D组合键 ...

2020-05-07 17:24:30 36 0

原创 linux shell脚本语法笔记(待续)

文章目录反引号单引号''双引号""单小括号 ()双小括号 (( ))单中括号 []双中括号[[ ]] 反引号 引用命令 如果需要调用命令的输出,或把命令的输出赋予变量,则命令必须使用反引号包含,这条命令才会执行,反引号的作用和 $(命令) 是一样的,但是反引...

2020-04-13 19:58:15 15 0

原创 Linux SIGPIPE信号产生原因与解决方法

文章目录原因SIGPIPE(Broken pipe)解决方法忽略SIGPIPE信号调整socket发送函数的flags参数参考: 潜水同行技术群,有人遇到如下场景,拿出来分享/记录, 场景: 大厂的嵌入式平台,多个厂家,多进程间socket通信., A进程作为客户端,连接作为服务器的B进程, A...

2020-04-10 20:15:12 50 0

原创 C语言,指针强制类型转换与内存对齐.

指针类型强制转换,并进行解引用,引起的内存对齐问题. 像*(int*)pData这样的指针类型强制转换,用的很多.终于在今天,正式入坑. 此处留下测试场景,备忘. 实例: 测试程序: void TestPointer(void) { BYTE abytBuf[10]={0,1,2,3,4,5,6...

2020-03-14 15:32:25 182 0

原创 Makefile 语法以及关键字说明

include、sinclude 在 Makefile 使用 include 关键字可以把别的 Makefile 包含进来,这很像 C 语言的#include,被包含的文件会原模原样的放在当前文件的包含位置。 include 的语法是: include <filename> ...

2020-02-16 08:16:18 50 0

原创 linux c设置/获取网卡参数

依据SIOCSIFFLAGS 见glibc源码: glibc\sysdeps\mach\hurd\bits\ioctls.h /* socket i/o controls */ #define SIOCADDRT _IOW('r', 10, struct ortentr...

2019-12-26 15:20:44 99 0

原创 Linux系统编程知识体系框图

参加: Linux系统编程知识体系框图

2019-11-18 19:23:09 63 0

原创 C语言逗号运算符

文章目录概述:实例: 概述: 逗号运算符表达式取最后一个值返回。 特点: 优先级别最低; 自左往右执行表达式; 返回值为表达式最后一个. 实例: int i = 0; printf("%d\n", (i = 3*3 , i*5)); 输出: 45. 赋值运算...

2019-11-17 12:42:40 196 0

原创 apue读书笔记: 自己手敲代码并自行编译链接(非官方源码环境).与原书的效果不一致.

关注: 1.操作系统版本. 2.makefile参数.

2019-11-17 11:02:13 25 0

原创 apue读书笔记:实例10-10 带时间限制调用read

文章目录实例FAQalarm函数,在其中什么作用?为何能达到解阻塞作用?自己手敲代码,自行编译链接.(非官方源码环境)但与原书的效果不一致. 实例 程序中有一个读低速设备的会阻塞的操作(见10.5节),我们希望它超过一定时间后就停止执行该操作。程序实现了这一点,它从标准输入读一行,然后将其写到标准...

2019-11-17 10:57:01 33 0

原创 linux下 core dump文件不能生成的可能原因

配置了core 的生成环境,但core就是无法生成. 此时,请参阅,也许会有帮助. linux下生成core dump文件的环境配置方法 作为参照,参见: linux core dump 永久生成 Linux下生成Core Dump文件的方法(总结) 文件不能生成的可能原因 ...

2019-11-13 18:51:40 716 0

原创 linux 信号类别/列表-概述

文章目录本机linux系统支持的信号列表查看本机linux系统支持的信号列表信号术语解释:相关信号解释SIGHUP(Hangup,挂断)SIGINT(Interrupt)SIGQUIT(Quit)SIGILL(Illegal Instruction)SIGTRAP(Trace/breakpoint...

2019-11-13 15:37:46 88 0

原创 通俗理解:实际用户ID/有效用户ID/保存的设置用户ID(saved set-user-ID)

文章目录从文件的角度,看用户/组的权限.linux对文件的描述从用户/组的角度,看文件的权限.实际用户ID/有效用户ID/保存的设置用户ID(saved set-user-ID)实例对应: 阅<unix高级环境编程>过程中, 高频出现:实际用户ID/有效用户ID/保存的设置用户ID...

2019-11-09 22:36:12 110 0

原创 C程序中获取变量/宏名称的方法

在C程序中怎么打印一个变量的名称呢?利用#,看代码: #include "stdio.h" #define VNAME(value) (#value) int main(void) { int autoVal = 1; #define MACRO_TEST (6) ...

2019-11-05 17:05:40 279 0

原创 正则表达式 常用表达式

正则表达式,很强大.捡起来,提高工作效率. 基础语法: 普通字符-略 非打印字符-略 特殊字符 特殊字符 描述 ^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^。 $ 匹...

2019-10-02 17:50:39 148 0

原创 Linux下生成Core Dump文件的方法(总结)

日常工作中,不可避免的出现程序跑飞崩溃等情况.此时,我们需要coredump文件的支撑.但总有一些时候,莫名其妙的无法生成coredump. 本文,针对此问题,描述该如何生成一个coredump,需要具备哪些条件. 剩下的,请各位看官自行比对. Coredump定义 Coredump叫做核...

2019-09-16 14:25:51 241 0

翻译 linux systemd.service说明

翻译 描述 名称以“.service”结尾的单元配置文件对有关由systemd控制和监督的进程的信息进行编码。 此手册页列出了特定于此单元类型的配置选项。有关所有单元配置文件的常用选项,请参阅systemd.unit(5)。通用配置项在通用“[Unit]”和“[Install]”部分中配置。...

2019-09-06 18:12:54 1489 0

原创 fatfs应用笔记

参考资料 FatFs模块功能配置选项 SD卡与fatfs文件系统(5)-在fatfs中使用多个SD卡分区

2019-07-25 10:06:28 202 0

原创 linux /pro文件 常用信息记录

Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即:虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状...

2019-04-30 15:58:47 169 0

原创 嵌入式,GDB在线远程调试

嵌入式开发,习惯了mdk,iar等IDE+JLink调试工具的搭配(在线debug很顺手), linux上的在线debug如何开展? 概念: 所谓远程调试,就是开发板上建立一个gdb服务端,同时待调试的程序也位于开发板,然后在PC机上使用gdb发起远程连接来进行调试。也就是说,在PC端调试开...

2019-04-24 14:52:41 142 0

原创 Linux下添加Windows磁盘映射

实现:linux上共享一个文件夹,在window可以访问linux共享的该文件夹. 本机环境: linux上共享的文件夹路径: /home/jzq/smb-work 用户名:jzq linux环境上准备 具备samba工具 sudo apt-get install samba which sa...

2019-04-24 13:41:44 240 0

原创 vi 实用快捷键

g+d 选中当前光标位置的字符串

2019-03-18 18:35:04 40 0

原创 HardFault_Handler异常排查处理方案

原理: cortex-M3内核,异常发生时, 内核将R0~R3、R12、LR、PC、XPRS 寄存器依次入栈,其中LR即为发生异常前PC将要执行的下一条指令地址。 发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈是MSP还是PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。...

2019-03-12 13:13:45 765 0

原创 显示器分辨率引起的工具显示问题(页面不完整)

PC属性: PC显示器分辨率:1920x1080 ,缩放%150, 解决方法: 属性-兼容性, 在DPI相关的选项做文章. 支持选项:应用程序/系统/系统增强 “应用程序” 选项代表系统将强制进程在显示器的分辨率下运行,该设置此前叫做“高DPI设置时禁用显示缩放”,在该选项下系统不会对用户界...

2019-03-08 15:51:13 1026 0

原创 paho MQTT Client 库

源码下载: 官方源码:Eclipse Paho Downloads 包含C/C++/java/python/Embedded C/C++等 这里关注C版本 MQTT C Client for Posix and Windows 共享库形式 libmqttv3a.so - asynchronous...

2018-12-22 16:06:02 676 0

原创 paho MQTT C API接口描述

通信模式分类: 包含同步客户端/异步客户端两种 同步/异步通信接口命名规范: 同步客户端API命名: MQTTClient***** 异步客户端API命名: MQTTAsync***** 常用同步API解释: MQTTClient_create() 该函数创建了一个用于连接到特定服务器...

2018-12-22 14:54:59 1952 0

转载 MQTT概述

示意图: 涉及的消息三元素:代理服务器/发布者/订阅者 简介: MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM...

2018-12-22 01:25:02 199 0

原创 嵌入式linux磁盘被写满了再写会怎样?

项目中,测试阶段,开启了某功能项的log日志保存,交互较频发,且无保存上限。一段时间后,导致flash满。 此时,有些系统会直接崩溃,而有些貌似则休眠一般, log日志不可靠(write系统调用函数),结果日志缺东少西,断断续续; 不腾挪磁盘,再次运行应用,依旧可以正常工作一段时间;==待解释 ...

2018-10-20 22:08:55 485 0

转载 busybox原理|框架简介+ 制作文件系统

参考:根文件系统及Busybox详解之一 比较详细.留存

2018-09-27 11:02:30 347 0

原创 ln: 无法创建符号链接" ...... ": 不支持的操作

现象: ln: 无法创建符号链接" … ": 不支持的操作 ***无法创建到" *****"的符号连接: 不支持的操作 可能发生在: ln 创建链接时; 解压缩文件过程中; 原因: 留意跨文件系统的ln操作, 已知实测: 虚拟机共享windows文件...

2018-09-25 09:44:10 7661 0

原创 读书笔记===C专家编程[2]

编程语言缺陷可归为3类:p28 不该做的做了;== 多做之过 该做的没做;== 少做之过 该做但做的不合适;==误做之过 表示 挺废话的。。。。 C++语言令人失望的原因: 对标C语言,确对C语言中存在的一些基本问题没有什么改进; 于C语言脆弱的类型模型之上,建立类的概念; 多做之过...

2018-09-19 22:04:33 69 0

转载 C语言 形参/实参的传递+ 指针+ 内存认知/使用

目标: 指针的理解 变量的生存周期及作用范围 良好的动态内存申请和释放 程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap)...

2018-09-14 14:12:40 232 0

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