- 博客(148)
- 资源 (27)
- 收藏
- 关注
原创 【Linux驱动层】iTOP-RK3568编译第一个驱动hello,但是insmod加载驱动printk终端不打印的解决办法
摘要:解决Linux驱动程序中printk打印不显示的问题。通过检查dmesg确认驱动加载成功,发现printk日志级别默认设置为4(KERN_WARNING),导致低级别日志不输出到控制台。临时解决方案是修改/proc/sys/kernel/printk为8(最低级别),使所有printk消息可见。永久解决方案是将"kernel.printk=8417"写入/etc/sysctl.conf文件,确保系统重启后仍生效。最终成功在驱动加载/卸载时显示printk内容。
2025-10-26 12:35:05
413
原创 Linux使用VSCode开发Linux驱动,安装了C/C++,但是找不到Edit Configuration的解决办法
摘要:在Ubuntu18.04升级VSCode时遇到libc6版本过低问题,由于系统已是最新版,需先升级到Ubuntu20.04。随后通过添加Microsoft密钥库并执行apt命令完成VSCode安装。安装完成后即可正常使用C/C++扩展及配置功能。
2025-10-26 10:27:52
193
原创 如何将Ubuntu 18.04升级到Ubuntu 20.04
摘要:在Ubuntu18.04下使用VSCode编写RK3568驱动时遇到头文件配置问题,需升级VSCode但受限于libc6版本(当前2.27-3,需≥2.28)。通过三步完成系统升级至20.04:1)更新现有软件包(sudo apt update/upgrade/full-upgrade);2)安装update-manager-core工具;3)使用do-release-upgrade -d命令强制升级开发版。升级过程需多次确认(输入y),完成后通过lsb_release -a验证版本。下一步将安装新版
2025-10-26 10:10:16
554
原创 linux系统编程(十③)RK3568 socket之 TCP 服务器的实现【更新客户端断开重连依旧可以收发】
该文章介绍了解决TCP服务器在客户端断开重连后无法响应的问题。作者通过使用recv()函数的MSG_PEEK选项来检测客户端连接状态,当检测到连接断开时重新建立连接。代码示例展示了如何实现这一机制,包括socket创建、绑定监听、接收数据和异常处理等关键步骤。该方法有效解决了服务器在客户端异常断开后无法继续服务的问题,保证了服务的连续性。
2025-10-17 23:21:20
313
原创 linux系统编程(十③)RK3568 socket之 TCP 服务器的实现
本文介绍了在讯为RK3568开发板上搭建TCP服务器的实现过程。开发环境采用Ubuntu系统,通过VSCode远程连接开发板。文章详细讲解了TCP服务器的工作流程和关键函数使用,包括socket创建、bind绑定、listen监听和accept接受连接等。给出了完整的C语言实现代码,展示了如何接收客户端数据并回传。最后指出当前实现存在客户端重连时无法正常工作的问题,并提示将在后续文章中解决该问题。代码实现基于Linux socket编程,使用192.168.31.96:8089作为服务器地址。
2025-10-17 23:12:36
404
原创 linux系统编程(十②)RK3568 socket之 TCP 客户端的实现
本文介绍了基于讯为RK3568开发板的UDP通信实现过程。开发环境采用Ubuntu系统,通过VSCode远程连接开发板。文章详细说明了UDP通信流程(创建socket→bind→connect→sendto/recvfrom),并给出了完整的C语言代码实现。测试内容包括连接建立、断开重连和数据收发验证。关键技术点包括使用recv()的MSG_PEEK选项检测连接状态,以及在重连时需要关闭前次套接字描述符。作者分享了在TCP连接状态判断和错误处理方面的实践经验,并欢迎指正不足之处。
2025-10-17 21:23:39
338
原创 linux系统编程(十)RK3568 socket之 UDP的实现
本文介绍了基于讯为RK3568开发板和Windows笔记本的UDP通信开发流程。开发环境搭建包括:在开发板安装Ubuntu系统,通过网线连接并使用VSCode远程开发。详细讲解了UDP通信的核心函数和流程:创建socket(AF_INET+SOCK_DGRAM)、IP地址转换(inet_pton/ntop)、端口转换(htons/ntohs)以及bind、sendto/recvfrom等关键操作。提供了一个完整的UDP收发示例代码,实现了开发板(192.168.31.96:8081)与笔记本(192.168
2025-10-17 21:07:25
1353
原创 STM32L4xx编译提示Keil MDK Warning: L6989W警告问题及其解决办法
【摘要】使用STM32L476驱动SPI屏幕时开启最高优化导致L6989W警告。经排查发现是lv_hal_disp.c文件的时间优化设置问题。解决方法:1)单独关闭该文件的时间优化选项;2)重新编译后警告消除。测试表明,优化等级过高会影响POP指令在IT块中的执行顺序,通过调整文件级优化设置可解决兼容性问题。
2025-10-14 13:03:08
362
原创 RK3568入门之VScode远程连接开发板,直接开发板上面编程和实验
本文介绍了通过VScode SSH远程连接rk3568开发板的具体步骤。首先需要准备VScode、网线、串口线等工具,安装SSH插件后,通过MobaXterm查看开发板IP地址。然后在VScode中使用Remote-SSH功能,输入用户名和IP地址进行连接,验证两次密码后即可在开发板上编程。连接成功后,VScode左下角会显示SSH连接状态,此时可直接操作开发板,最后可进行测试验证。
2025-10-07 20:58:33
334
原创 C#生成exe,修改程序名称后任务管理器名称【进程名】不变的解决方法
修改程序名称需要两步操作:1.右击项目属性修改程序集名称;2.还需在Properties文件中修改AssemblyTitle和Product名称。仅修改程序集名称无法改变任务管理器显示的程序名。
2025-08-30 09:12:03
445
原创 esp32使用ESP-IDF在Linux下的升级步骤,和遇到的坑Traceback (most recent call last):,及解决
摘要:由于ESP-IDF 5.3版本不支持ESP32-P4芯片,作者将开发环境升级至官方推荐的5.4.2稳定版本。升级过程按官方文档操作顺利,但后续运行get_idf命令时出现Python环境错误,提示AttributeError。通过百度搜索发现类似案例,但解决方案不适用。尝试修改Python版本后问题解决,最终从Python 3.9.0升级到3.10.16版本成功运行。该问题耗费一天多时间排查,凸显了开发环境版本匹配的重要性。(149字)
2025-07-15 17:21:08
861
原创 ThinkPad T480s更换开机BIOS图片的详细步骤
【我屏幕的分辨率2560X1440,也就是最大支持1024X576】默认路径C:\Drivers\FLASH\n22uj39w\20251603.1105029。②、运行WINUPTP,我的是64bit系统,直接运行WINUPTP64直到重启即可。①、将需要修改的LOGO放到该目录下【就是LOGO要和WINUPTP同一个目录】安装exe升级bios的程序,务必要注意手动勾选只解压,不立即马上升级的选项。一、从官网下载并安装升级到最新的BIOS版本是:N22ET65W。懒得找的,我上传资源:【免积分】
2025-03-16 19:14:43
927
原创 物联网 STM32【源代码形式-ESP32透传】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种基于发布/订阅模式的轻量级通讯协议,构建于TCP/IP协议之上。它最初由IBM在1999年发布,主要用于在硬件性能受限和网络状况不佳的情况下,为远程设备提供可靠的消息传输服务。MQTT协议简单易用、可靠性高、延迟低,因此广泛应用于物联网(IoT)、机器人、智能城市管理、农业物联网以及能源监测与管理等领域。MQTT协议由三个主要部分组成:客户端、服务器和主题。
2025-02-06 18:40:30
735
原创 物联网 STM32开发板usb虚拟串口实现、通过TYPE-C数据线进行数据的收发【使用源码形式】
从机在PCB布线时,仅需把STM32的引脚PA11、PA12, 连接至USB座的DP、DM,然后,PA12(DP线)用1.5K电阻上拉至3.3V。我们可以利用STM32自带的USB功能,通过CubeMX的配置,很方便地实现一个USB虚拟串口,从而通过USB线,实现电脑与STM32的数据互传。STM32 芯片,绝大部分型号都带内置USB,如常用的 F1、F4、H7、G4 等系列,能够通过USB接口与计算机或其他USB设备进行通信。高速模式,需要搭配外围USB PHY芯片,如USB3300,硬件成本偏高。
2025-02-01 21:37:03
1006
原创 物联网 STM32【源代码形式-ESP8266透传】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】
服务器(也称为代理)负责处理消息,接收来自发布者的消息并将其传递给已订阅该主题的订阅者。发布者将消息发布到特定主题,而订阅者则订阅感兴趣的主题以接收消息。设备通过MQTT协议将采集到的数据发布到指定的主题,云平台或中心服务器订阅相应的主题即可实时获取数据。消息传递:一旦代理接收到发布者发布的消息,并确认订阅者已订阅该主题,代理就会将消息传递给订阅者。轻量级:MQTT协议规范简单,易于实现,对硬件资源要求低,适用于资源受限的设备。主题订阅:订阅者向代理发送订阅请求,以订阅特定的主题。
2025-02-01 14:46:26
1896
原创 物联网 STM32【源代码形式-使用以太网】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】
是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器等装置与技术,实时采集并连接任何需要监控、连接、互动的物体或过程,实现对物品和过程的智能化感知、识别和管理。在工业领域,物联网平台通过传感器和智能设备实时监测关键参数,实现设备的智能化互联和数据的高效采集与分析,提升生产效率和设备维护效率。物联网行业在中国受到政府的高度重视和国家产业政策的支持,多项政策鼓励物联网行业的发展与创新。制定的窄带物联网技术,支持大规模物联网设备连接,适用于需要低功耗和广覆盖的场景。尽管在功耗和带宽效率上不如。
2025-02-01 11:21:35
1671
原创 STM32【源代码形式-使用以太网】连接阿里云IOT从云产品开发到底层MQTT/MQTTS实现,保姆级零基础搭建
IoT是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器等装置与技术,实时采集并连接任何需要监控、连接、互动的物体或过程,实现对物品和过程的智能化感知、识别和管理。物联网的核心功能包括数据采集与监控、数据互通与集成、智能分析与决策等,其架构分为感知层、网络层和应用层12。物联网的发展历程物联网的概念最早可以追溯到20世纪90年代,正式提出则在2005年国际电联(ITU)的信息社会世界峰会上。
2025-01-31 11:24:29
1219
原创 Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务间的通讯-消息队列【入门四】
3、xQueueReceive(QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait)接收消息【xQueue句柄,pvBuffer接收缓存,xTicksToWait等待时间】四、下载验证,【发送任务1000ms发送0开始加1的数据,接收任务1000ms接收到数据,并打印接收的数据】一、从上一篇信号量通讯demo拷贝一份重命名,还是之前的两个任务,重命名了。三、创建队列【注意队列的创建需要再任务之前就创建好】
2024-12-22 21:37:22
496
原创 Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务间的通讯-信号量【入门三】
实际项目中我们的系统往往是多个任务运行的,而且各个任务优先级是不一样的,如果多个任务刚好又需要用到同一资源的时候,这时候多个任务调用这共有资源的时刻是不确定的。假如:低优先级的任务先使用资源的时候,如果还没有使用完,高优先级的任务也使要用这共有资源就会打断低优先级的任务,这时候可能:低优先级执行异常甚至系统奔溃。===========================以下测试互斥信号量===============================创建信号量,这个信号量创建需要再任务创建前就创建好。
2024-12-22 18:53:33
1019
原创 Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务创建【入门二】
工程还是用上一篇的hello world作为模板,hello world就不再app_main函数中输出,改成在任务中输出。• uxPriority -- 任务优先级,freertos系统任务优先级值越大优先级越高。• pxCreatedTask -- 任务句柄,我们没有任务通讯暂时也用不到。• xCoreID -- 指定任务运行的核,有以下三个值,我们选择1。三、创建好任务,还没有任务函数,需要写任务函数。下一篇,我们一起学习任务间的通讯,信号量的使用。• pxTaskCode -- 任务函数。
2024-12-22 14:26:26
687
原创 Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门hello world输出【入门一】
二、进入esp32目录,打开终端【拷贝esp-idf的hello工程(~/esp/esp-idf/examples/get-started/hello_world)】七、下载程序【使用 sudo idf.py flash monitor 下载并打开打印显示】一、安装好开发环境后,在esp目录下再创建一个esp32的目录【用于编程测试demo】三、进入hello_world目录【执行get-idf,才可以使用idf.py】八、复位一下esp32【可以看到1000ms一次打印】
2024-12-22 11:56:54
733
原创 Linux-Ubuntu下搭建ESP32的开发环境的步骤,使用乐鑫最新稳定版的esp-idf
乐鑫的开发环境是基于python3.8和cmake 3.16下的。我使用的是python3.9.0。之前也安装过esp-idf,这次要安装一个稳定版。
2024-12-12 21:42:31
887
原创 MQTT阿里云AIOT不同设备间的消息订阅与发布,设备间的通讯,使用云流转。mqttfx订阅板子发布的消息。超详细配置过程
今天刚刚移植好阿里云的sdk到stm32的板子上面,stm32使用自带的mac+PHYdm9162实现了和阿里云的mqtt通讯。所以家里就登录阿里云看到板子还在线,还在发布消息,还是稳定的。也就有心情了解一下这【云产品流转】的使用了。虽然可以通讯的,但是还是有一个问题想了解一下------不同设备怎么通讯的呢?⑨用mqttfx连接,并订阅topic可以看到接收到公司里板子发布的LED状态。就是使用阿里云的【云产品流转】功能。⑤创建目的源【就是转发的目的。④创建数据源【就是需要转发的topic】
2024-11-29 22:17:35
826
原创 MQTT.fx连接oneNet中移IOT物联网平台,进行消息的发布的详细步骤
前言:之前使用ESP8266链接过阿里云,看到很多人使用中移的oneNet所以也想测下。我这里使用的是MQTT.fx1.7.1,开始使用5.8结果不能发送json包,还是老实使用免费的版本。我们使用鉴权:products/{产品id}/devices/{设备名},key为设备级key。①、服务器的域名,mqtt端口1883。③、登录密码【认证的token】,需要oneNet的token生成。7、点击刚刚添加的设备的详情。【查看发布,订阅的标识方式一】3、选择一个自己要使用的产品类型,我这里使用温湿度测试。
2024-11-25 21:29:45
1264
原创 SqlServer2022高版本数据库导入到低版本2012中的解决方法【亲测成功】
前言因为台式机是win7 32bit的配置低,也是比较早之前安装的sqlServer 2012的版本。后面一直使用笔记本,笔记本比较方便,安装了SqlServer 2022的,但是笔记本作为复位器又不太合适,所以需要把笔记本上面编辑的数据库分离到台式机上。分离后直接拷贝到台式机上的数据库DATA文件夹里面附加出现了高版本的不能导入低版本的错误。网上找了下,一直不成功,经过多次的尝试终成功了。特此记录一下,希望对大家有一点点帮助。
2024-11-21 17:13:47
1313
原创 一次彻底解决win11合上盖子/睡眠/休眠后无法唤醒、屏幕无法点亮、休眠后自动关机的问题【补充低电量弹窗】
我使用的是联想ThinkPad T480s笔记本。看到win11系统给我感官上觉得比较舒服,所以也升级了。后面发现不管怎么设置睡眠时间经常休眠自动关机,或者休眠无法唤醒。经过多次的尝试后,用来以下的方式解决的我的笔记本的休眠自动关机和无法唤醒的问题。特此记录。
2024-11-17 14:21:45
20966
7
原创 RK3568开发板(debain系统)与Ubuntu使用nfs共享文件
Ubuntu18.04 【网络配置陈RK3568开发板【我是用讯为的RK3568】网线连接路由器或者和电脑直连(J13网口)
2024-10-20 21:26:38
790
原创 【实战避坑指南】[keil MDK] 编译提示Note: object file renamed from “xxx.o“ to “xxx_1.o“
2、将剩余的有效的唯一文件,右键“Options for File ‘xxx.c’…”,取消"include in Target Build"处的勾选,点击“OK”后,rebuild。使用keil添加文件时,在不同的group文件夹里添加了两个相同的.c文件或者添加过同样的文件,会导致编译出现如上的提示,即同一个c源文件,在不同的文件夹下,被添加了多次。步骤一删除的文件/文件夹截图:(默认就是工程的目录下Objects)步骤二暂时移除重复的文件/文件夹:(右击对应的文件)3、恢复勾选,重新编译,问题消失。
2024-08-06 14:35:34
1941
原创 C#开发UdpClient无法在局域网中发送UDP广播包,但能接收的解决办法
我虽然没有安装虚拟机,没有VMware的虚拟网卡,但是我安装了PLC远程模块的软件。OpenVPN,也是类似的虚拟网卡。# 记得开发好的软件原来可以使用的,今天突然不正常了,还以为哪里修改过了。其实,我这个情况是可以不禁用虚拟网卡的。只要断开VPN既可。
2024-04-20 14:12:24
657
1
原创 Linux驱动开发一、RK3568把hello编译到Linux内核中运行。‘rk_vendor_read’未定义的引用
所以我们最终需要修改的还是rockchip_linux_defconfig文件,默认的配置文件路径。
2023-08-26 09:19:19
1602
5
原创 Linux入门 系统编程三 嵌入式开发 使用gcc制作静态库&动态库,及调用库头文件应用
方式3、修改 /etc/ld.so.conf文件,添加生成动态库的路径到该文件中,并使用ldconfig更新一下即可。默认情况下搜索动态库的路径在/lib/和/usr/lib。方式1、可以拷贝动态库到上面的两个目录之一下面。2、将要编译成库的源文件编译成.o文件。2、将要编译成库的源文件编译成.o文件。方式2、添加环境变量,只有当前终端有效。-l后面跟的是库名,就是要调用哪个库。3、使用gcc命令创建动态库。3、使用ar命令创建静态库。-L后面跟的是库所在的目录。动态库制作和使用的步骤。
2023-07-25 21:14:16
1064
原创 Linux系统入门之-系统编程【open、close函数】
所以最终的值:mode &= ~0002即mode &= 0775。例如:赋予文件0777的权限,实际文件的权限是775。return:0:关闭成功。刚刚入门开始学习,如有不合理的地方还望指出。fd:open打开成功后返回的文件描述符。终端输入 umask。
2023-07-23 20:03:10
403
原创 讯为RK3568开发板入门之-tftp&nfs的配置
VMware虚拟机Ubuntu18.04 【网络配置陈桥接模式】RK3568开发板【我是用讯为的RK3568】网线连接路由器或者和电脑直连使用tftp和nfs网络挂载可以很方便的进行软件的调试,挂载成功后只要把Ubuntu下编译好的文件程序放到挂载的目录下,开发板上面就可以直接运行了。否则还需要通过windows进行拷贝比较麻烦。首先在 ubuntu 中执行以下命令安装 TFTP 服务:在家目录创建 tftpboot 文件夹,并修改文件夹权限为777,如下图所示:修改后如下:二、 安装 N
2023-07-23 17:00:51
1838
1
原创 Linux】入门篇一 linux系统常用命令
N]x:删除从光标所在行开始往下的连续N个字符(并复制到编辑缓冲区)[N]dd:删除从光标所在行开始往下的连续N行(并复制到编辑缓冲区)o:进入编辑状态,在当前光标行的下一行插入,光标移到该新行的行首。O:进入编辑状态,在当前光标行的上一行插入,光标移到该新行的行首。:q:退出没有修改的文件(若文件被修改了而没有保存,则此命令无效)[N]yy:复制从光标所在行开始往下的连续N行到编辑缓冲区。:r File:读入File指定的文件内容插入到光标位置。tail -n 文件名:显示文件内容后n行,默认10。
2023-07-19 23:03:31
115
原创 Altium Designer规则检查错误Room Definition Between Component on TopLayer And Rule on TopLayer
如果以上还是有错误,删除自己放置的Room,重新导入原理图的Room,通过导入到Room按上面修改即可。
2023-03-16 15:19:07
5965
原创 详细讲解ESP8266-RTOS-SDK V3.x Linux下的入门开发环境的搭建与编译
一、安装ubuntu虚拟机,由于ubuntu的安装网上教程很多,也很完善,所以这里不再介绍。Linux环境搭建虚拟机:VMware Workstation 16 ProUbuntu操作系统:镜像:https://mirrors.aliyun.com/ubuntu-releases/bionic/ubuntu-18.04.6-desktop-amd64.iso环境搭建所需最新软件包文档如下是目前博主亲测可使用的依赖包指令,安装时间比较漫长 下载地址:xtensa-lx106-elf-gcc8_4_0
2022-06-19 23:39:51
1032
原创 ESP8266-RTOS物联网开发
emqx服务器搭建及基本使用,mqttfx使用等。淘宝链接:https://item.taobao.com/item.htm?ft=t&id=676670879017https://m.bilibili.com/video/BV1A94y1U7Pp?share_plat=ios&share_source=QZONE&share_times=1&unique_k=FwXS6NS×tamp=1654903788&share_medium=..
2022-06-11 07:37:32
982
window下的EMQX软件包
2022-05-03
mkbootimg工具
2022-01-13
(英文Cortex M4)STM32F3x与F4x用户指南(带有汇编指令讲解)编程手册
2021-06-17
官方原版WINRAR 5.31正式版32位和64位(包含注册密钥的RarReg.key)
2017-08-10
ModbusPoll9助手 调试必备 带密钥有32bit和64bit
2021-06-16
X-CUBE-MCSDK-FUL_5.4.3.zip
2021-02-27
pcb设计,全资料
2016-01-12
Bus Hound电脑总线调试软件的使用
2016-10-28
C++编程规范
2016-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅