- 博客(119)
- 资源 (33)
- 收藏
- 关注
原创 Buildroot编译生成的output路径下 linux-headers-custom 与 linux-custom 有什么区别
在 Buildroot 生成的 目录下, 和 是不同的组件,它们的作用如下:::总结:
2025-03-12 10:46:39
138
原创 iptables 详解
在 Buildroot 系统中,iptables是一个用户空间实用程序程序,它允许管理员配置 Linux 内核中的 IP 包过滤规则。以下是一些关于iptables。
2024-07-11 10:55:51
466
原创 Go Http请求海康摄像头拍照图片
这段代码实现了一个带有 Digest 认证的 HTTP 客户端,用于从指定 URL 获取图片并保存到本地。代码通过上下文传递 HTTP 客户端,并在需要时从上下文中提取客户端。代码还处理了 Digest 认证的具体细节,包括生成认证头和管理 nonce 计数。
2024-07-05 17:02:35
536
原创 逻辑分析仪使用杂记
为采样率:对被测信号进行采样的频率,也就是每秒所采集的样点数。它决定了一次采样结果的时间精度,采样率越高,时间精度越高。采样率必须达到被测信号最高频率的 5 倍以上,推荐 10 倍以上。为采样深度:对被测信号一次采集的样点总数。它决定了一次采样所能采集到的数据量的多少,深度越大,一次采集的数据量越大。
2024-03-29 14:18:33
384
原创 USB接口的线
1、USB数据正信号线,USB Data Positive,即USB-DP线,简写为D+。2、USB数据负信号线,USB Data Minus, 即USB-DM线,简写为D-。USB插头线一般的排列方式是VCC、 D- 、D+、GND。USB的通信都是由主机发起的,这一点与IIC协议是类似的。剩下的就是电源线(5V-Vbus)和地线(GND)。DP是USB的数据线D-+(绿色线),DM是USB的数据线D-(白色线),DM:data minus 负,VCC是电源5V(红色线),GND是地(黑色线),;
2024-02-20 14:32:56
2713
原创 Go语言的sync.Once()函数
在上述示例中,setup 函数将被 sync.Once 确保只会执行一次,即使在多次调用 once.Do(setup) 也是如此。sync.Once 是 Go 语言标准库 sync 包提供的一个类型,它用于确保一个函数只会被执行一次,即使在多个 goroutine 中同时调用。Do 方法接受一个函数作为参数,并且保证该函数只会被调用一次,即使在多个 goroutine 中同时调用 Do 方法。通常,sync.Once 的用法是在需要确保某个操作只执行一次的情况下使用,比如在初始化全局变量时。
2023-10-19 17:07:55
416
原创 Go 程序的init函数在什么时候执行
这使得在程序启动时可以执行一些必要的初始化工作,例如设置全局变量、初始化数据库连接等。函数,并且会输出 "This is the init function.",然后将。函数不能被调用或引用,它会在程序启动时自动执行,也就是说你不能在代码中显式地调用它。函数,如果有多个导入的包,按照导入的顺序依次执行它们的。函数是一个特殊的函数,它用于执行程序的初始化任务。函数的执行是自动进行的,无法在代码中手动调用。函数都只会执行一次,即使导入了多次也是如此。函数,它们会在程序开始执行时自动被调用。
2023-10-16 13:52:29
244
原创 在 Buildroot 文件系统中,/etc/profile.d/ 和 /etc/init.d/ 目录下的脚本执行顺序
目录下的每个脚本文件会在用户登录时由 shell 运行,以设置特定的环境变量或执行特定的初始化任务。这种设计方式的好处是,可以将系统范围的配置和初始化任务分解成多个小的脚本文件,使得管理和维护更加灵活和方便。目录在 Buildroot 文件系统中用于存放系统级别的环境变量和初始化脚本,以便在用户登录时被自动执行。的脚本文件,它可能包含了一些自定义的环境变量和设置,比如添加特定程序的执行路径,设置默认的编辑器等。目录下的脚本用于配置用户的环境变量和初始化,它们会在用户登录时被执行。中的脚本用于配置用户环境。
2023-10-08 09:20:44
976
原创 OpenWRT、Yocto 、Buildroot和Ubuntu有什么区别
总的来说,这些构建工具和发行版在用途、包管理、软件源和库管理等方面都有各自的特点,针对不同的应用场景提供了相应的功能和优势。开发者可以根据具体的需求选择适合的构建工具和发行版,以满足特定嵌入式系统的需求。用户可以通过配置不同的软件源来获取特定的软件包。:Buildroot 中的库通常会经过相应的配置,以适应特定的嵌入式环境。:Yocto Project 提供了广泛的库,涵盖了许多不同的领域,包括通用库、网络库、图形库等。:Ubuntu 的库通常是通用的,并且可以在标准的x86和x86_64架构上运行。
2023-10-06 18:05:42
4209
原创 C++ 中main函数执行完后还执行什么语句?
很多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但是程序退出的方式很多种,例如main函数运行结束,用户通过Crl+C等操作发信号来终止程序,等等,因此需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理。方法就是用atexit()函数来注册程序正常终止时要被调用的函数。 atexit()函数的参数是一个函数指针,函数指针指向一个没有参数也没有...
2023-09-02 16:21:27
154
原创 Altium Designer 2016 自定义PCB外形
AD2009 版本重定义板子外形的快捷键是dsr,那么2016中取消了这个快捷键,如何定义板子外形呢?按下快捷键1 ,然后pcb界面编程草绿色。这时候按下dr快捷键就可以了。
2023-09-02 16:20:38
333
原创 linux下C程序查看内存剩余大小
中很多内存资源都比较小,所以很多程序中在malloc时就需要提前知道内存剩余的大小。下面是一种调用 sysinfo接口来实现。
2023-09-02 16:18:42
986
原创 Linux指定网卡socket发送数据
我们的嵌入式设备(基于Linux)做为数据采集上报,当有多个数据出口,做冗余发送。两个出口的网络不再分层,均处于同一子网,直接用socket发送即可,系统会按照本地路由表进行匹配发送## 可以该命令查看本地路由器表route -n其中一个数据出口有多层结构,该数据接口可设置“默认网关”。即无法匹配的数据会发送到该数据出口多层结构,即数据出口外还有路由器设备提供上层的数据出口,数据目的地址不是当前网段当两个数据均有多层结构,设置“默认网关”,在 etc/config/network 中
2021-11-17 10:01:28
4466
3
原创 阿里平头哥半导体有限公司 (技术面 复试题目)
阿里平头哥半导体有限公司(技术面 复试题目)指针函数和函数指针的区别?指针函数:是指带指针的函数,其本质上是一个函数,函数返回值是某一类型的指针。 函数指针:是指向函数的指针变量,该指针可指向函数的入口地址(即函数名)。什么是回调函数?回调函数就是一个通过函数指针调用的函数,将某一个函数的指针作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,即称之为回调函...
2020-04-24 10:22:10
2460
原创 error: #136: struct "<unnamed>" has no field "AHBSTR"
在移植RL-TCPNet的时候,添加官方的以太网DP83848芯片的驱动,编译的时候一直报错error: #136: struct "<unnamed>" has no field "AHBSTR"使用的是刚开始#include "stm32f10x_cl.h"没有问题 但是我后来想用#include "stm32f10x.h",一直报错,本来以为是宏定义没有起作用后来经过比...
2020-04-09 20:39:49
5098
原创 QTCreator使用如何调用pthread_create函数
在QTCreator下编写C/C++应用程序的时候出现undefined reference to `pthread_create'undefined reference to `sem_post'error: undefined reference to `sem_destroy'解决办法参考http://blog.chinaunix.net/uid-26663150-id...
2020-02-16 15:15:13
2119
原创 头文件引用中尖括号与“”的区别
尖括号<>表明这个文件是一个工程或标准头文件。查找过程会首先检查预定义的目录,我们可以通过设置搜索路径环境变量或命令选项来修改这些目录。如果文件名用一对引号括“”起来,则表明该文件是用户名提供的头文件,查找该文件时将从当前文件目录(或文件名制定的其他目录)中寻找文件,然后在标准位置寻找文件。...
2019-06-24 23:29:29
896
原创 ntohl()、htonl()函数
ntohl()将一个无符号长整形数从网络字节顺序转换为主机字节顺序, ntohl()返回一个以主机字节顺序表达的数。ntohl()返回一个以主机字节顺序表达的数。htonl()将主机数转换成无符号长整型的网络字节顺序。本函数将一个32位数从主机字节顺序转换成网络字节顺序。#include<stdio.h> typedef unsigned short uint16;ty...
2019-05-09 08:58:44
31053
3
原创 lwip里的一些宏定义
SYS_LIGHTWEIGHT_PROT 平台锁,保护关键区域内缓存的分配与释放NO_SYS --- 是否带操作系统, =1时带,=0时,不带MEMCPY(dst,src,len) --- 内存拷贝 若你希望自己写拷贝函数则可替换SMEMCPY(dst,src,len) ---内存拷贝 若你希望自己写拷贝函数则可替换MEM_LIBC_MALLOC --- 内存函数库的使用,=1时使用c库...
2019-03-21 13:38:50
2626
转载 epoll和select的例程代码
epoll.c#include<stdio.h>#include<stdlib.h>#include<fcntl.h>#include<sys/stat.h>#include<sys/types.h>#include<sys/epoll.h>int main(){ int epollfd = ...
2019-02-14 18:38:17
327
1
原创 linux上使用stl
linux上使用stl的list时,不要被它的size()接口给坑了。因为list.size()采用的是遍历的方式。会导致cpu高,而且浪费性能。
2019-02-14 15:05:23
885
原创 QT中的findChildren
返回该对象的所有具有可转换为类型T的给定名称的子对象,如果没有这样的对象,则为空列表。省略name参数将导致匹配所有对象名称。搜索是递归执行的,除非选项指定FindDirectChildrenOnly选项。使用如下 QList<QWidget *> widgets = parentWidget.findChildren<QWidget *>("widgetna...
2019-01-10 16:10:07
2466
原创 QT中的Q_OBJECT
Q_OBJECT宏必须出现在类定义的私有部分,该类定义声明自己的信号和插槽,或者使用Qt的元对象系统提供的其它服务。 #include <QObject> class Counter : public QObject { Q_OBJECT public: Counter() { m_value = 0; } int valu...
2019-01-10 16:00:22
888
原创 QT中的foreach
在标准C++中,并没有foreach关键字。foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。但是在QT中,可以使用这一个关键字,其主要原因是QT自己增加了这一个关键字,就像slots和signals、emit等一样。增加的foreach关键字在编译时会进行预处理。其用法...
2019-01-10 15:55:55
1002
原创 /etc/inittab,/etc/init.d/rcS和/etc/profile分析
参考博客https://blog.youkuaiyun.com/qiuoooooo/article/details/79300739在kernel挂载根文件系统后,运行的第一个程序是根目录下的linuxrc,实际是一个指向/bin/busybox的链接, 也就是说系统起来后运行的第一个程序是busybox本身。先执行 /etc/inittab, 然后调用/etc/init.d/rcS, 最后是执行/etc...
2018-12-29 11:27:31
2385
原创 Linux makefile中的编译链接选项
-I是编译选项(准确的是说是预处理选项CFLAGS或者CPPFLAGS中指定),用来指定预处理时查找头文件的范围的。-l是链接选项(LDFLAGS中指定),用来指定链接额外的库(譬如我们用到了数学函数,就用-lm,链接器就会去链接libm.so;那么我们使用了libjpeg,对应的库名字就叫libjpeg.so,就需要用-ljpeg选项去链接)-L是链接选项(LDFLAGS中指定),用来告诉链...
2018-12-28 23:08:05
1643
原创 QT移植笔记
1.tslib移植和测试1.1、tslib移植(1)源码下载(2)解压 tar -xvf tslib-1.4.tar.gz(3)配置# cd tslib# ./autogen.sh# echo "ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache # mkdir /opt/tslib# ./configure --...
2018-12-28 22:40:26
302
原创 ubuntu使用杂记
Ubuntu14.04 安装镜像下载地址 刚装好的Ubuntu 无法切换到root 用户显示 ubuntu怎么切换到root用户:我们都知道使用su root命令,去切换到root权限,此时会提示输入密码,可是怎么也输不对,提示“Authentication failure”,此时有两种情况一个是真的是密码错了,另一种就是刚安装好的Linux系统,没有给r...
2018-12-14 21:28:13
312
原创 FM1701调试手记
做完刷卡版充电插座这个项目遇到的问题做一些笔记首先是硬件电路如下:从 TX 发射出去的是调制过的 13.56MHz 载波信号,软件发送命令,6脚产生13.56MHZ的正弦波的载波信号,然后天线刷卡得到信号跟载波信号叠加传输到RX脚。在使用SPI的时候配要根据FM1701的时序图,由下图可以判断出用的SPI模式(参考博客)批量生产的时候测试的时候可以输出卡,后来...
2018-12-14 20:59:43
4779
2
原创 DES 源码
typedef unsigned char UC;UC sboxvalue[8][4 * 16] = { 0xe, 0x4, 0xd, 0x1, 0x2, 0xf, 0xb, 0x8, 0x3, 0xa, 0x6, 0xc, 0x5, 0x9, 0x0, 0x7, 0x0, 0xf, 0x7, 0x4, 0xe, 0x2, 0xd, 0x1, 0xa, 0x6, 0xc, 0xb...
2018-07-27 10:53:22
1354
原创 电表芯片调试笔记记录
首先要搞清楚什么是视在功率?什么是有功功率?视在功率=(有功功率的平方+无功功率的平方)开根号视在功率 S=3UφIφ=√3UI 有功功率=视在功率×功率因数有功功率 P=3UφIφCOSφ=√3UICOSφ 视在功率、有功功率和无功功率构成一个直角三角形,我们称为功率三角形,因此 S=√P2+Q2 COSφ=P/Q COSφ为功率因数,φ为相位角。因为电能转化为其他形式能的过程是电流做功的过程。
2017-12-18 16:42:59
1397
《Rapid GUI Programming with Python and Qt》
2016-08-19
树莓派系统安装教程
2016-08-07
Jlink驱动稳定版
2016-07-30
LinkIt Smart MT7688
2017-12-10
ST公司以太网培训资料
2017-11-12
M35命令AT指令
2017-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人