自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (18)
  • 收藏
  • 关注

原创 嵌入式Linux设备实现SD卡或U盘自动挂载

一、前言在Linux系统中常用udev或mdev来实现可移动存储设备的节点创建和挂载。这两者功能相似,但是mdev更精简。因此在空间受限的嵌入式设备中,mdev更常用。二、mdev介绍 mdev有两种用法:1)/sbin/mdev2)/sbin/mdev -s 区别在于1是创建或删除发生变化的设备节点,通常在发生热插拔时调用;2是创建所有设备节点,通常在启动脚本中调用。我们看到的/dev下的所有设备,都是...

2021-09-06 16:36:03 3138

原创 移植编译libubox、ubus、json-c的详细过程

一、引言 近期项目中需要用到ubus相关内容,ubus是OpenWrt中的进程间通信机制。Ubus源码可以很容易地从网上下载到,但是要想应用到实际项目中,需要进行移植。网上关于ubus移植的文章琳琅满目,但是仔细阅读下来发现,这些文章要么讲得很粗略,要么充斥着一些无效和重复的内容。对于刚接触ubus的开发者来说,这些文章并不能正确指导开发者如何移植和使用ubus。因此博主写下此文,记录移植的详细过程,同时也为其他开发者提供一些参考。二、ubus的依赖关系 Ubu...

2020-08-04 15:58:12 4728 4

原创 Ubuntu离线安装net-tools

新装的Ubuntu 18.04版本默认没有安装net-tools,导致ifconfig命令用不了。于是想安装net-tools,但是没有网,一直安装不上。找了好多资料,终于找到一个有效的离线安装办法。下载完毕后,执行deb包安装。net-tools官方下载。

2023-07-30 22:49:28 3323

原创 Linux查看GPIO被哪个程序占用了

​设备上有一个GPIO,在通过命令:echo 53 > /sys/class/gpio/export初始化时报错:sh: write error: Device or resource busy。于是想查看一下这个管脚被谁给占用了,执行如下命令:cat /sys/kernel/debug/gpio结果报错,提示没有这个文件:cat: can't open '/sys/kernel/debug/gpio': No such file or directory。上网查了下,需要先执行这个命

2023-01-07 20:03:43 3998 6

原创 Linux动态库和静态库混合链接的问题

项目中需要链入2个第三方的库,结果遇到了一个比较有意思的问题,这里记录一下分析和解决过程。两个第三方的库,一个是动态库,暂且称之为libone.so;另一个是静态库,暂且称之为libtwo.a。而libone.so中调用了libtwo.a中的一个函数func(void),我刚开始的编译命令这样写的

2023-01-04 23:23:08 775

原创 Linux设备修改主机名、用户登录密码的方法

芯片厂家提供的制作好的rootfs,默认的用户命名是root,主机名是Ingenic-uc1_1,没有登录密码,如下图所示。现在需要更改为用户名test,主机名ipc,登录密码test。本文介绍如何修改这几项内容。

2022-11-09 11:12:03 1527

原创 curl、openssl、mbedtls的交叉编译过程

​cURL是一个利用URL语法在命令行下工作的文件传输工具,在Linux系统中常被用来下载或上传文件。curl需依赖openssl或者mbedtls这两个加密库,可以根据实际需要选择其一。本文主要记录如何交叉编译这3个库,使之能运行在嵌入式Linux设备上。

2022-11-08 18:43:13 2326

原创 git常用命令

本文记录一些git常用命令和使用小技巧

2022-11-07 17:48:53 112

原创 嵌入式Linux设备自动获取IP地址

DHCP全称是:动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)它是一个局域网的网络协议,使用 UDP 协议工作,主要有两个用途:1)用于内部网或网络服务供应商自动分配 IP 地址;2)给用户用于内部网管理员作为对所有计算机作中央管理的手段。DHCP分为服务器端和客户端,通常是客户端向服务端申请地址,嵌入式产品上运行的一般是DCHP客户端。

2022-11-07 17:25:18 3728

原创 Ubuntu设置静态IP地址的几种方法

在某些场景下,我们可能需要将一台电脑的IP地址设置成静态的。例如在局域网内部署一个服务器,我们可能不希望他通过DHCP获取动态地址,而造成无法访问。设置静态IP在window系统下比较容易,但在Linux系统下稍微麻烦一点。下面介绍2种Ubuntu 18.04系统下设置静态IP的方法,博主亲测有效。

2022-09-07 18:23:59 116781 10

原创 设备的tar命令不支持-z选项的解决方法

tar命令是由Busybox提供的一个打包工具,注意仅仅是打包,tar本身没有压缩文件的功能。如需要打包的同时进行文件压缩,则需要tar命令后面加上-zcvf选项。相对应的,如果要解压.gz格式的包,则需要在tar命令后面带上-zxvf选项,同样的,系统里面需要预先安装gunzip程序。2.一般芯片厂商提供的busybox源码,都带有一份默认的配置文件,先用它生成默认的busybox配置信息,若没有,则跳过这一步。嵌入式产品运行的是Linux系统,调试时发现设备的tar命令不支持-z选项,报错为。...

2022-08-15 16:39:36 5427

原创 WAV文件中AudioFormat的定义

WAV文件中AudioFormat的定义

2022-03-31 16:13:51 1711

原创 QT每天一个小技巧

使用QT进行开发的过程中,经常发现一些实用的小技巧,有时候能给开发带来不少便捷。因此,写下此文积累一些这方面的知识,便于自己查阅以及给广大开发者提供一些参考。

2022-01-12 10:59:43 298 1

原创 利用VLC-QT制作一个能播放RTSP视频流的简易播放器

一、前言最近项目上需要用到一个小的工具软件,能播放RTSP视频流。翻阅网上大量资料后,决定采用LVC-QT库搭配QT5来实现。本文记录实现过程。二、VLC-QT简介VLC-Qt 是一个免费库,用于连接 Qt 和 libvlc 库。它包含用于主要媒体播放的核心类和一些用于更快开发媒体播放器的 GUI 类。下载地址:https://vlc-qt.tano.si我这里下载的是MinGW版本:三、QT工程我安装的QT库版本是:Qt 5.9 for Desktop (MinGW 5.3

2022-01-05 18:13:04 2454 1

原创 在虚拟机里通过U盘引导安装Win10教程

本文介绍了在虚拟机里安装Win10系统的详细过程,以及可能遇到的问题和解决方法,供广大爱好者参考和交流。

2021-12-12 15:59:15 8956 2

原创 QT在其他cpp文件中使用MainWindow的界面和控件的方法

Qt工程中默认所有的代码都写在mainwindow.cpp里,当代码量不多时尚可,但一旦代码量多,就会使mainwindow.cpp非常臃肿,给开发和阅读造成不便,因此考虑将部分代码剥离出来,放到另外的cpp文件里。这里就会涉及到在另外的cpp里如何使用mainwindow中的控件的问题。经过摸索,找到了一种简单且有效的办法。1.在工程目录下创建.cpp和.h文件,这里以user.cpp举例user.cpp的源码:#include "user.h"Ui::MainWindo...

2021-03-04 12:18:21 7354 16

原创 FM17550功耗高的原因记录

最近在整理智能门锁项目的代码,将原有FM17550芯片的相关驱动代码更新为厂商提供的最新代码。更新完后发现FM17550在进入LPCD模式后,功能比正常高了2mA左右。经过不断的跟踪是试验,发现是LPCD调校之后,VIMD电源未关闭导致的。关于这块内容,手册《FM175xx_LPCD_ug_chs.pdf》中有描述:在旧代码中,LPCD调校完成后,就立即将这个位清除了。但最新的代码不知为何没有这一步,导致这个硬件模块一直在偷偷运行,造成了功耗高。解决办法为在Lpcd_Get_Calibr...

2021-02-01 17:16:46 2455 5

原创 nRF52833使用两个UART的方法

一、前言 近期项目上采用了Nordic的nRF52833这颗BLE SoC芯片,该芯片有2个UART,分别是UART0和UART1,但是官方例程却没有关于如何使用UART1的例子。经过一番摸索,终于把UART1用起来了。写下此博文,希望给读者提供一些参考。二、环境说明 SDK版本:nRF5_SDK_17.0.2_d674dde SoftDevice版本:S113_nrf52_7.2.0 Demo程序:nRF5_SDK_17.0.2_...

2020-11-06 10:54:38 1346

原创 Windows连接不上Linux的Samba服务器的解决办法

1.查看Linux本地的端口开启情况sudoufw status如果samba要用的139、445端口没有开启,则需要手动打开2.开启139、445端口sudo ufw allow 139sudo ufw allow 4453.再次查看本地的端口开启情况sudoufw status发现139、445端口已开启4.Windows下打开运行,输入\\192.168.x.x\xxx(填写实际的IP地址和共享目录名称),成功连接。...

2020-07-15 17:43:31 7546 3

原创 合泰32位单片机HT32F50230外部时钟改为内部时钟的方法

项目上用到了合泰的32位单片机HT32F50230,出于成本考虑,不打算外接晶振,而是采用芯片内部的振荡器为单片机提供时钟。但是合泰的例程都是默认使用的外部时钟。下面将介绍如何将外部时钟改为内部时钟。 方法其实很简单,合泰的SDK提供了时钟选择相关宏。打开“system_ht32f5xxxx_04.c”文件,找到如下一段代码(也可以全局搜索HCLK_SRC这个宏):将HCLK_SRC的值由2改为3,同时将HSI_ENABLE的值改为1,将HSE_ENABLE的值改为...

2020-06-20 14:43:05 959

原创 解决git每次拉取都需要输入账号密码的问题

1.在要拉取的目录里空白处右击,点击"Git Bash Here"启动git命令行;2.在命令行里执行"git config --global credential.helper store",这会在gitconfig目录下创建一个文件,用于记录账号和密码;3.再执行一次"git pull",输入正确的账号密码,以后就不用再输了。...

2020-02-10 20:57:11 4876

原创 Nordic DFU OTA参考资料

本文记录的是Nordic官方的帮助文件,里面有OTA有关的参考资料的查找方法。链接:https://infocenter.nordicsemi.com/index.jsp图示:

2020-01-10 19:44:37 731

原创 NB-IoT终端收不到平台下发数据的问题

首先,NB-IoT终端收不到平台下发数据的问题在产品调试初期会经常遇见,最主要的原因是NB模组进入了PSM模式,此时下行不可达。如果平台发送了实时消息,则一定会发送失败。解决办法一是关闭NB模组休眠功能,二是在发送下行数据前先唤醒NB模组,三是实时消息改为发送缓存消息。 而本文中遇到的问题,不是上述问题。调试设备发现,即使激活了NB模组,且NB模组成功地往平台上报...

2019-12-17 19:29:00 2967

原创 NB-IoT终端收到OneNet平台下发的数据格式异常问题

1.问题描述 NB-IoT终端对接OneNet平台调试过程中发现,终端收到的平台下发的数据偶尔会出现格式异常现象。例如,平台本来下发的数据是字符串形式的“abc”,但是NB模组收到的实际数据是这条字符串的ASCII码“979899”。这种现象有一定概率出现。2.原因分析 看现象应该是平台的编码转换有问题,如果是这样也无法解释为什么问题是偶现,而不是必现。经...

2019-12-17 19:09:00 1637

转载 关于NB-IoT你想知道的都在这了

工信部下发通知推动150万NB-IoT基站落地。NB-IoT汹涌而来。很多网友要求雇佣军科普一篇NB-IoT,为此来一篇超级啰嗦的技术文。1NB-IoT一路走来从2G到4G,移动通信网络不断更新换代…2G:GSM▼2G:GPRS/EDGE▼3G:UMTS/HSPA▼4G:LTE▼从GPRS到LTE,移动网速越来越快。我们开玩笑讲,...

2019-09-16 11:17:02 1636

转载 RSRP RSRQ RSSI SNR的含义和区别

安卓手机中关于网络信号的测量有多个名词,这里统一解释一下。RSRPRSRP (Reference Signal Receiving Power,参考信号接收功率) 是LTE网络中可以代表无线信号强度的关键参数以及物理层测量需求之一,是在某个符号内承载参考信号的所有RE(资源粒子)上接收到的信号功率的平均值。通俗得理解,RSRP的功率值 代表了每个子载波的功率值用处和规范都等同于WCDMA...

2019-09-10 18:36:02 51165 2

原创 nRF52810 DFU升级失败以及Flash空间分配问题分析

本文主要分析由于Flash空间受限,导致nRF52810无法进行DFU的问题。先看下nRF52810的Flash空间分配:从图中可以很清楚地看出,nRF52810的Flash大小为192KB,其中100KB分配给SoftDevice,也就是协议栈。32KB分配给Bootloader,剩下的60KB分配给应用程序。因此,理论上应用程序大小最大可以是60KB。但实际上很多情况下...

2019-07-11 16:33:12 2620 2

原创 码云修改登录密码后终端连不上的问题

本文转载自:https://www.cnblogs.com/cnsdhzzl/p/10129711.html码云修改了登录密码后,终端无法连接服务端,解决办法是修改系统凭证管理器里保存的账号密码。控制面板=>用户账号=>凭证管理器,可修改账号密码或删除。...

2019-06-18 16:45:51 1338

原创 完美解决pyserial报"UnicodeEncoudeError"的问题

通过Python调用电脑的串口,在pyserial已经正确安装的情况下,通过“python -m serial.tools.list_ports -v”命令列出电脑所有的串口,结果显示如下: 通过上网搜索资料得知,这是因为Python默认调用ASCII编码解码程序去处理字符流,当字符流不属于ASCII范围内时,就会抛出异常(ordinal not in ran...

2019-06-02 17:18:01 604

原创 nRF52系列芯片开启UART导致进Default_Handler的问题

一、问题描述 使用nRF52810开发产品,一次不经意删除了工程目录\examples\ble_peripheral\ble_app_uart\pca10040e\s112\arm5_no_packs下的RTE文件夹,虽然重新编译会生成一个新的RTE文件夹,但是会导致串口一通信,程序就会卡死。通过在线调试,发现程序是进入了Default_Handler默认的中断服务函数。二、...

2019-05-08 17:57:19 1051

原创 不定长度密码虚位比对算法的思路

假设数据库里已存在一条长度为8位,值为“12345678”的密码。规定输入长度达到6位才开始比对。下文将分别列出用户输入密码长度分别是6、7、8位三种情况下,算法需要比对的内容和次数。一、输入密码长度6位时 输入待匹配密码:123456 需要比对的次数:1 需要比对的内容:循环计数变量 截取长度 ...

2019-04-26 10:46:32 561

原创 nRF52832 GPIOTE中断丢失的问题

产品中需要用到GPIO外部中断功能,可以使用芯片的GPIOTE功能实现。但是自己配置GPIOTE有点麻烦,于是偷个懒,直接用例程中的Button相关代码,把外部中断当成是按键输入。 实际上Button模型底层也是通过GPIOTE加定时器实现的,只不过SDK做了一些封装,加了延时消抖功能。使用起来确实很方面,但是也有弊端,那就是容易“丢中断”,意思就是外部中断信号并...

2019-04-24 16:14:22 2378 1

原创 nRF52832 DFU升级导致FDS数据丢失的问题

产品使用nRF52832的FDS模块来存储用户数据。产品在使用过程中,发现DFU升级有一定概率导致FDS数据丢失。经过查找相关资料,发现在Bootloader程序中有一个宏,用来指定受保护Flash区的大小。在保护范围之外的,会被Bootloader给擦除。这个宏是:#ifndef DFU_APP_DATA_RESERVED#define DFU_APP_DATA_RESERVE...

2019-03-19 18:54:02 2736 4

原创 nRF52832改变MTU大小的方法

    nRF52832的MTU最大支持247字节,但是SDK默认的不是最大, 修改方法如下:1.改变"sdk_config.h"头文件中相关宏// <o> NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. #ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE#define NRF_SD...

2019-02-21 18:03:03 6007

原创 nRF52832的NFC天线脚用作GPIO的方法

        调试nRF52832的过程中,发现P0.09和P0.10这两只管脚,无法通过程序控制输出指定的电平。翻查芯片手册,发现这两只脚默认是作为NFC的天线引脚,因此用 GPIO函数对它进行控制是无效的。        解决方法:在system_nrf52.c文件的开始处,加上#define CONFIG_NFCT_PINS_AS_GPIOS,重新编译运行就行了。...

2019-01-26 16:09:02 1270

原创 C语言测量字符串长度使用strlen和sizeof的区别

sizeof是C的运算符,而strlen是C的库函数。两者都可以用来测量一个字符串的长度,但实际上两者的测量结果是有区别的。这个区别取决于被测量对象的性质,先来看个实验。int main(void){ char str_buff[3] = {"abc"}; printf("Test1, strlen = %d\r\n", strlen(str_buff))...

2018-12-26 11:35:05 4152 2

原创 nRF52832频繁打印“APP_UART_COMMUNICATION_ERROR”的问题

        在调试nRF52832的uart的过程中,发现调试信息会时不时打印“APP_UART_COMMUNICATION_ERROR”这个错误,看上去似乎毫无规律。查看SDK的相关说明,可以大致知道打印这个的提示的原因是uart硬件接收到了一些错误数据。但是为什么会收到错误数据呢?        经过反复试验,发现只要用手触碰到芯片的RX引脚,就会打印这个错误提示。由此,可以推测是手触...

2018-12-25 18:43:33 4717 14

原创 Nordic SDK14 添加蓝牙服务为空的问题记录

        在SDK 14.1.0的nus例程中,添加了自己的自定义服务。但是发现服务可以添加,但是服务里的内容为空。我定义的一些特征值,在这个服务里全部没有。        经过仔细研究,发现Nordic的SDK有一个宏“NRF_SDH_BLE_VS_UUID_COUNT”,这个宏是用于控制自定义特征值(准确说是UUID)的数量。这个值默认很小,把它改大一点,就能解决添加服务为空的问题了...

2018-12-22 16:22:25 493

转载 单片机常用滤波算法

说明:假定从 8位 AD中读取数据(如果是更高位的 AD可定义数据类型为 int),子程序为 get_ad();   一、  限幅滤波法(又称程序判断滤波法) A、方法:           根据经验判断,确定两次采样允许的最大偏差值(设为 A)           每次检测到新值时判断:           如果本次值与上次值之差<=A,则本次值有效           如...

2018-11-29 15:57:38 2355

原创 利用C语言标准库生成一个真随机数的方法

        首先需要明确一点的是,计算机系统中生成一个随机数,需要依赖一个随机量,这个随机量称为随机数种子。否则生成的就是伪随机数。随机数种子的值越多样化,生成的数就越随机。通常,随机数种子从计算机系统外部引入,例如人的操作、ADC采集到的值等。        C语言的标准库,提供了srand()和rand()两个函数用于产生随机数。下面的例程提供了生成一个指定范围的随机数的方法:#...

2018-11-15 15:21:40 7623 2

汉字点阵字库,包含7000多个常用汉字,体积小可用于嵌入式设备

汉字点阵字库,包含7000多个常用汉字,体积小可用于嵌入式设备

2022-10-19

POP Forums 一个asp.net论坛的源码

一个asp.net论坛的源码。

2021-05-26

nRF-Command-Line-Tools_10_10_0_Installer.exe

本资源是Nordic的命令行工具10.10.0版本,首个支持nRF52833型号的命令行工具,为开发nRF52833所必需的工具。

2020-11-24

nRF5_SDK_17.0.2_d674dde.zip

本资源是Nordic的nRF5系列蓝牙芯片的开发软件包,官网下载的原件,由于官网下载速度太慢了,共享出来方便广大开发者下载。

2020-10-15

22.智能烟感标准物模型V1.0.pdf

本资源是中国电信,天翼物联网通用使能平台的智能烟感标准物模型(版本V1.0)文档。该文档比较难找,共享出来方便广大开发者。

2020-06-19

Nordic SDK 15.3.0 官方原版

本资源是Nordic nRF52系列BLE芯片的软件开发包,该版本15.3.0是目前(2019/8/27)的最高版本。官网也可以下载,但是那个下载速度,你懂得。急用的朋友可以来这里下载。

2019-08-27

AES加解密小工具

该小工具可用于AES算法的加解密运算,默认ECB模式,支持128bit、192bit、256bit密钥长度,明文和密文均支持字符串和十六进制,是调试AES加解密的神器。

2019-03-23

NordicSemiconductor.nRF_DeviceFamilyPack.8.24.1

本资源是Nordic SDK15.3所需的Keil的支持包,可以从Keil官网下载,但是很难找,共享出来方便大家下载。

2019-03-21

OneNET平台接入流程

本资源说明了中移物联网M531x系列NB-IoT模块,生成设备统一注册码以及接入中国移动OneNET平台的步骤。

2019-03-11

NXP BLE芯片QN902x的最新SDK

本资源是NXP的QN902x系列BLE芯片的开发SDK,版本为目前最新的14.0,由于官网上比较难找,因此共享出来方便大家下载。

2019-03-11

MAC地址的申请方法及费用

全球唯一设备号,标准化组织是IEEE,以前的网卡Mac地址、PC,现在蓝牙设备、BLE设备若需要认证的,官方的唯一设备标识,即蓝牙地址,也是Mac地址,需向IEEE申请,并登记付费,即可获得授权。

2019-03-09

CBOR编码协议的C语言库

本资源是CBOR编码协议,用C语言在Linux系统下实现的编解码库的源码。

2019-01-11

BLE权威教程

Ghostyu 无线 BLE权威教程 CC254xEK开发套件用户手册 Ghostyu.com

2018-12-25

BLE_4.2核心规范

本资源是蓝牙4.2核心规范文档《Core v4.2》,官方原版未经任何改动,且官网已经下载不到该版本。

2018-12-11

BLE_5.0核心规范

本资源是蓝牙5.0核心规范文档《Core v5.0》,蓝牙联盟原版,未经任何改动。

2018-12-11

STM32F103模板工程

本资源是STM32F103单片机的一个模板工程,其中已经实现了基于滴答定时器的精确延时函数delay,实现了printf函数,通过串口输出调试信息,实现了GPIO的位段操作,让STM32的GPIO像51单片机的IO那样方便使用。除此之外,还包含了初始化GPIO、USART、TIMER等外设的例子。拿到该工程后,能快速上手使用,是一个非常实用的模板工程。

2018-04-15

友善串口调试助手v2.4.1

此资源是友善串口调试助手v2.4.1,官方绿色版。软件界面简洁好用,绿色版无需安装。

2018-04-14

ST-LINK-v2驱动

本资源是ST-LINK-v2仿真器,在Windows系统的驱动程序,包括32bit和64bit。

2018-03-21

PEMicro Debugger驱动(Windows平台)

本资源为PEMicro仿真器,在Windows平台下的驱动程序

2017-06-02

空空如也

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

TA关注的人

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