自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 unrecognized real-time signal

gdb版本:gdb-7.8.2,unrecognized real-time signal,交叉编译

2022-08-29 19:22:21 293 1

原创 qt开发环境搭建

安装好qt之后,需要配置以下环境才能使用qt软件1.1 把此路径添加到环境变量1.2 添加以下库到环境变量1.3 添加以下编译工具链到环境变量1.4 end

2021-05-22 10:41:50 161

原创 mips平台交叉编译samba

1.1 下载源码https://download.samba.org/pub/samba/stable/1.2 编译我下载的是3.0.11,主要是嵌入式平台空间有限,下载过新版本,可执行程序过大配置:./configure --host=mips-linux-gnu --disable-cups --disable-iprint --target=mips-linux-gnu CC=mips-linux-uclibc-gnu-gcc编译:编译过程中出错,提示configure: error:

2021-05-14 17:27:31 355

原创 valgrind源码下载及交叉编译

各版本valgrind源码下载https://sourceware.org/ftp/valgrind/编译./configure CC=mips-linux-uclibc-gnu-gcc CXX=mips-linux-uclibc-gnu-g++ AR=mips-linux-uclibc-gnu-ar --host=mips-linux-uclibc-gnu --prefix=/opt/output执行把交叉编译好的程序放到/mnt/sd_card/中export VALGRIND_LIB=/m

2021-04-15 18:51:53 872

原创 linux系统中使用wpa_cli命令连接wifi

1.1 linux系统中使用wpa_cli命令连接wifiecho "ctrl_interface=/var/run/wpa_supplicant" > /tmp/wpa_supplicant.confecho "ap_scan=1" >> /tmp/wpa_supplicant.confwpa_supplicant -Dnl80211 -iwlan0 -c/tmp/wpa_supplicant.conf -B -P/var/run/wpa_supplicant.pid &

2021-03-03 22:26:02 761 1

原创 mount命令挂载

1.1 mount 命令挂载1.1.1 以jffs2 可读可写权限挂载mtdblock5分区到/config目录mount -t jffs2 /dev/mtdblock5 /config1.1.2 以squashfs只读权限挂载mtdblock4分区到mtd目录mount -t squashfs /dev/mtdblock4 /mnt/mtd1.1.3 把分区 mmcblk0p1挂载到目录dir (可读可写)mount /dev/mmcblk0p1 /mnt/dirumount -f -

2021-03-02 22:10:47 930

原创 ubuntu搭建samba服务

1.1 ubuntu搭建samba服务1.1.1 安装sambasudo apt-get install samba samba-common1.1.2 配置smb.confvim /etc/samba/smb.conf在最后添加以下[share]path=/home/zze/sambaavailable=yesbrowseable=yespublic=yeswritable=yes1.1.3 配置用户密码sudo smbpasswd -a root1.1.4 重启samb

2021-03-02 22:03:41 164

原创 ubuntu搭建nfs文件系统

1.1 搭建nfs文件系统1.1.1 修改nfs配置文件vim /etc/exports/root/ *(rw,sync)1.1.2 重启nfs 服务生效/etc/init.d/nfs-kernel-server restart1.1.3 挂载mount -t nfs -o nolock 192.168.1.200:/root /root192.168.1.200:/root #这个是虚拟机的ip地址/root #开发板的目录1.2 end...

2021-03-02 21:56:31 201

原创 gdbserver远程调试

1.1 嵌入式设备gdbserver远程调试在一些资源比较小的嵌入式设备,比如IPC设备,发生了段错误之后,无法在本地gdb,如果这个段错误比较容易复现,gdbserver此时主能发挥最大用处。1.2 例子1.2.1 目标机器运行以下命令gdbserver是通过交叉编译过的可执行程序,放到嵌入式板子上,运行以下命令./gdbserver 192.168.1.200:1234 ./程序1.2.2 开发机器运行以下命令在宿主机上执行以下命令mips-linux-uclibc-gnu-gdb

2021-02-28 21:39:52 1694

原创 搭建嵌入式双系统启动

1.1 硬件配置这是一个16M flash, 128M内存,mips架构的IPC芯片,因为OTA升级过程中,可能会升级kernel和rootfs,如果这两个分区升级过程断电,板子永远变砖,因此,考虑做成一个双系统,A系统升级挂掉,则由B系统恢复A系统。1.2 分区信息#16M flash 空间划分 (16M flash被划分为8个分区)256k(boot) 只读1536k(kernel 1) 只读2944k(rootfs 1) 只读128k(config) 只读,

2021-02-21 21:34:44 911 2

原创 设置coredump文件生成路径

1.1 有时候不一些偶然发生coredump不好复现,这时就直接设置生成coredump文件生成路径,发生时再看堆栈信息,好捕捉问题1.2 贴代码void coredump_file_set(void){ #define CORE_FILE_SIZE 1024*1024*100 struct rlimit rlim; getrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = CORE_FILE_SIZ

2021-02-21 20:38:17 532

原创 linux c数据与文件json格式序列化与反序列化

1.1 把数据以json格式写入文件int write_json_info(void){ FILE* file = fopen("/tmp/json_data","w+"); if(file == NULL){ UTIL_ERR("open file failed\n"); return -1; } cJSON * Data_Item = cJSON_CreateObject(); cJSON_AddStringToObject(Data

2021-02-21 20:18:22 299

原创 git常用

1.1 常用的git常用总结一下git branch #查看当前分支git checkout A(分支名) #切换到分支Agit branch -a #列出当前所有分支git pull origin A #从远程拉取A分支与本地分支合并git log #查看提交log记录git branch A #创建A新分支git status #查看修改过的和新添加的文件git add #把新文件和修改的添加到暂存区git commit -m “msg” #把暂存区提交到本地仓库gi

2021-02-20 22:48:39 108

原创 curl&&ssl交叉编译

1.1 下载curl 库https://github.com/curl/curl/releases/tag/curl-7_58_01.2 下载opensslhttps://github.com/openssl/openssl/releases/tag/OpenSSL_1_1_0h1.3 编译openssl./configure --with-ssl=/home/project/samba//openssl-OpenSSL_1_1_0h/output/lib --prefix=$(pwd)/outp

2021-02-19 22:05:35 377

原创 嵌入式设备交叉编译perf性能分析工具

嵌入式设备交叉编译perf性能分析工具1.1 背景最近工作一直在做嵌入式相关的开发,主要是应用方面,随着程序的业务功能越写越复杂,加上嵌入式系统上的调试工具,少之又少,主要还是靠printf的传统调试大法,下面来整个perf分析程序的热点函数。1.2 make menuconfig 进入内核选项配置界面搜索快捷键:"/",查看perf工具在哪里进入以下目录,并开户两个内核选项按“y”选中两个内核选项。打开perf工具依赖的glibc选项下面这两步很关键,如果不对,会导致很多编译错

2020-07-06 15:21:29 2453 2

原创 交叉编译htop工具到基于mips芯片的openwrt系统

1 交叉编译htop工具到基于mips芯片的openwrt系统1.1 背景在一些嵌入式系统上,很多工具都没有,像top,想看个内存使用,进程,cpu使用率,htop有源码,所以想着把htop交叉编译到这个嵌入式设备上。1.2 下载htop源码http://hisham.hm/htop/index.php?page=downloads打开以下链接,git clone到本地即可。git clone https://github.com/hishamhm/htop1.3 git clone到本地之

2020-07-06 11:32:06 2181

原创 内存泄露与valgrind

1 内存1.1 内存的相关概念介绍并不是所有的虚拟内存都会分配物理内存,只有那些实际使用的虚拟内存才分配物理内存,并且分配后的物理内存,是通过内存映射来管理的。MMU内存管理单元,完成虚拟地址与物理地址之间的映射。TLBCPU访问内存页表还是不够快,加了TLB,用来缓存页表,提高物理内存访问效率。页表记录虚拟地址与物理地址的映射关系。页内存映射的最小单位,也就是页,通常是 4 KB 大小。这样,每一次内存映射,都需要关联 4 KB 或者 4KB 整数倍的内存空间。多级页表页的大小只

2020-07-04 09:47:09 374

原创 strace命令使用分析

strace命令介绍与用法1.1 strace概述在操作系统中,进程分为用户态进程和内核态进程,应用程序运行在用户态,内核态负责对资源包括网络,磁盘,内存等管理,用户态进程要访问这些资源时,需要通过系统调用陷入内核态,由内核来统一管理和分配。通过系统调用陷入内核态,或者应用程序运行过程中,产生的signal,都可以被strace捕获到,每个系统调用的名称,参数,返回值,调用时间通过标准错误输出或者-O选项写入到文件中,通过分析这些信息,可以在应用程序发生故障时,不用重新编译程序,就可以捕获当前进程内

2020-07-04 09:17:15 2340

原创 MQTT协议分析与c语言实现(下)

MQTT协议分析与c语言实现(下)一、MQTT报文分析1.1 CONNECT-连接服务端客户端到服务端的网络连接建立(完成三次握手)后,客户端发送给服务端的第一个报文必须是 CONNECT 报文。在一个网络连接上,客户端只能发送一次 CONNECT 报文。服务端必须将客户端发送的第二个 CONNECT报文当作协议违规处理并断开客户端的连接。有效载荷包含一个或多个编码的字段。 包括客户端的唯一标识符, Will 主题, Will 消息, 用户名和密码。 除了客户端标识之外, 其它的字段都是可选的,

2020-05-10 14:50:39 4061

原创 MQTT协议分析与c语言实现(上)

MQTT协议分析与c语言实现(上)一、mqtt协议介绍1.1 概述MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT)。1.2 特点a) 开放消息协议,简单易实现b) 发布订阅模式,一对多消息发布c) 基于TCP/IP网络连接d) 1字节固定报头,2字节心跳报文,报文结构紧凑e) 消息QoS支持,可靠传输保证1.3

2020-05-09 23:50:45 3232

原创 lua table索引无序 实现多重排序

lua table索引无序 实现多重排序--lua table索引无序 实现多重排序 直接看代码 费话少说--目标 优先级: chinese > english > historytable_score = { [1] = { chinese = 80, english = 76, history = 100, }, [22]

2017-07-28 18:00:04 1690

mqtt_server_and_client.zip

嵌入式c实现的mqtt server和mqtt client,可以移植到不同的平台,实现各种报文(CONNECT,CONNACK,PUBLISH,PUBACK,PUBREC,PUBREL,PUBCOMP,DISCONNECT,PINGREQ,PINGRESP,SUBSCRIBE,SUBACK,UNSUBSCRIBE)。

2020-05-10

07-5123-07-ZigbeeClusterLibrary_Revision_7.pdf

zigbee cluster library,包括通用功能簇(读写属性),特殊功能族,basic,identify,scenes,on/off,level control,window covering等等

2020-04-29

MqttServer-and-MqttClient.zip

纯c实现的mqtt服务端,select/poll/epoll三种多路IO复用分别实现,采用单线程事件驱动的方式,可以实现多客户端同时连接,数据处理,包含主题订阅,推送,连接,qt实现mqtt客户端,用于验证服务端功能。

2020-04-01

MQTT-3.1.1-协议说明文档中文版

MQTT 协议 3.1.1 中文版,MQTT 控制报文格式,MQTT 控制报文的结构,MQTT 控制报文

2019-11-20

空空如也

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

TA关注的人

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