自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大大棋的博客

努力前进的小白

  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

原创 未知bug导致程序异常退出或重启如何定位?

未知bug导致程序异常退出或重启如何定位?

2022-11-10 10:03:55 875 1

原创 linux进程管理详解 —— 学习笔记

学习Linux进程管理

2022-02-25 22:10:07 749

原创 linux设置开机自动启动应用,可屏蔽桌面

linux添加自启动QT应用

2022-02-25 22:01:54 5305 8

原创 systemd服务分析

Linux设置开机自启服务还用老式的/etc/profile和~/.bashrc吗?来看看这篇文章,可能对你有所帮助哦

2022-02-25 21:30:02 2254

原创 Source Insight 4.0打开一会就闪退 解决方法

Source Insight 4打开就闪退?别急着卸载重装,来这里看看,说不准有帮助。

2022-02-23 23:34:41 12149 48

原创 ubuntu下使用vscode阅读内核源码或uboot源码使用技巧——search.exclude&files.exclude

各位玩家你们在阅读内核源码时,一般都使用什么工具呢?欢迎到文章末尾投上你的一票!内核源码和uboot源码一般囊括的文件都很多很多,未删减的都能上万个文件,使用一款称手的阅读源码软件可能可以让你的工作效率提高一个level哦。当然啦,在windows系统下阅读源码,Source Insight永远都是首选,yyds!选择使用vscode的一般都是在ubuntu等虚拟机环境下使用,这样在修改源码编译等操作尤为的方便。初次使用vscode阅读源码过的玩家应该多多少少都有些不舒适,特别是从Source Ins

2022-01-24 21:06:16 3280 1

原创 u-boot移植篇——u-boot启动流程分析 下

文章目录relocate_code本系列使用u-boot版本为u-boot-2018.01;前面的篇幅分析完board_init_r函数,完成了几乎都是初始化的工作,回到_main继续往下执行,执行到relocate_code函数;relocate_coderelocate_code定义在arch/arm/lib/relocate.S文件中,原型如下:/* * void relocate_code(addr_moni) * * This function relocates the moni

2022-01-21 00:33:57 845

原创 u-boot移植篇——u-boot启动流程分析 上

文章目录一、U-Boot启动流程详解1.1 lowlevel_init()函数1.2 _main()函数1.2.1 board_init_f函数1.2.2 init_sequence_f[]本系列使用u-boot版本为u-boot-2018.01;一、U-Boot启动流程详解通过前面分析上文:u-boot移植篇——了解u-boot的分析,我们可以从u-boot.lds链接脚本入手开始分析u-boot,入口点是_start,_start 在文件 arch/arm/lib/vectors.S 中有定义,节

2022-01-18 22:36:44 1323

原创 u-boot移植篇——了解u-boot

文章目录U-Boot如何下载U-Boot对于嵌入式玩家来说,uboot是再熟悉不过的了,它属于BootLoader的一种,而BootLoader是在操作系统内核运行之前运行,也就是引导硬件从上电到操作系统的过程,BootLoader就是这么一段小程序(当然在这之前还有一段存在于硬盘MBR中的启动代码,这就不描述了)。宏观的看,BootLoader主要的工作就是初始化硬件设备、建立内存空间的映射表,最终创建一个适当的系统软硬件环境。微观的看BootLoader程序会先初始化 DDR 等外设,然后将 L

2022-01-17 23:25:04 2816

原创 petalinux-build: do_compile: oe_runmake failed & do_compile: Function failed: do_compile 解决方法

petalinux-build 报错 do_compile: oe_runmake failedpetalinux版本:2018.3kernel和uboot都是使用外部导入的源码;petalinux-build编译报错信息如下:$ petalinux-build [INFO] building project[INFO] sourcing bitbakeINFO: bitbake petalinux-user-imageLoading cache: 100% |###############

2022-01-17 15:03:40 6559 7

原创 ERROR: Failed .. bitbake ERROR: Failed..project. ERROR: Get hw description Failed 终极解决方案

ERROR: Failed to source bitbake ERROR: Failed to config project. ERROR: Get hw description Failed!.pelalinux版本:2018.3报错信息如下:$ petalinux-config --get-hw-description ../hdf/Navigator_7020.sdk/INFO: Getting hardware description...INFO: Rename navigator_7

2022-01-16 22:57:12 1117

原创 ubuntu启动进入tty界面无法正常回到图形化界面!!!究极解决方案!!!

Tips汇总文章目录Tips汇总@[toc]1. ubuntu开机无法正常进入图形界面1. ubuntu开机无法正常进入图形界面系统:ubuntu18.04问题:开机直接进入tty界面,无法进入图形界面原因:未知解决方法:在/etc/systemd/system 下建个软连接display-manager.service,指向/lib/systemd/system/lightdm.serviceln -s /lib/systemd/system/lightdm.service /etc/

2020-10-30 00:56:20 9912 8

转载 pip3 install xxx报错requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool

python使用pip/pip3安装第三方模块报错python3 安装第三方模块时出现以下错误时:requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out.多半是网络不好,任务超时了,毕竟是国外的源,访问很慢。pip3 install -i https://pypi.tuna.tsinghua.e

2020-06-01 10:22:26 1192 1

原创 树莓派上基于Ubuntu mate 18.04安装Node-RED

Node-RED简介Node-RED是IBM发行了一套开源可视化界面开发工具,大家可能会好奇,Node-RED跟Node.js怎么名字会这么像?是不是有某种关联存在?这边就要先从Node.js开始介绍了。Node.js是一个读取Javascript的运行环境,可用于开发网页后端程序,但是Node.js的指令是一行一行写出来的,为了免去呼叫程序代码麻烦,IBM的工程师开发了Node-RED来更容易地完成工作。具体来说,每当启动Node-RED时,背景程序便会创造一个服务器来处理我们输入的指令,这时只要使用

2020-05-23 22:16:37 1213

原创 基于arm64系统架构搭建EMQX(MQTT消息引擎)

​ 由于毕业设计需要一个本地的局域网内智能家居中控,经过多方考虑,翻出了吃灰已久的树莓派3b+,同时EMQ是一款国产的高性能消息代理服务器。功能也挺强大,使用也挺简单。类别性能LicenseEMQ X Broker十万级开源免费EMQ X Enterprise百万级官网免费30天EMQ X Platform千万级付费、享受技术支持软硬件准备本文记录如何在树莓派中搭建EMQX,硬软件背景如下:树莓派3b+输入arm64架构的系统,(原因是

2020-05-23 22:14:27 2450 2

原创 Ubuntu16.04/18.04安装MySQL及使用Navicat连接

玩智能家居只有简单的数据采集和上报是远远不够的,像现在的产品都会有一个完整的数据库在后台保存着所有上报的数据,方便后续的查看和大数据分析等等,所以数据不是简单的采集显示一下就完了,这里使用的是MySQL作为我们的数据后台,本博文记录如何在Ubuntu上安装MySQL并开启远程服务。安装MySQL本博客将MySQL安装在我那充当局域网网关的树莓派中用作保存所有线下设备上报的数据,树莓派里的系统是...

2020-04-10 15:45:48 953

原创 ESP8266学习进阶实用篇(1)——SmartConfig智能配网(附带完整简配版有害气体检测仪开发)

家里有智能家居的小伙伴应该都知道,给新买的玩具配网上线都是直接安装教程扫描二维码然后安装个软件输入家里路由器的账号密码或者直接到一个网页输入这种联网方式,然而我们在玩8266还没出新手村之前都是将WiFi的账号密码写死在程序里,开机直接上网的新手模式,这就很没有使用价值了。ESP8266-RTOS-SDK中提供了两种(SmartConfig)智能配网的方案接口:乐鑫提供的ESP-TOUCH...

2020-04-08 22:45:39 2504

原创 ESP8266学习进阶协议类(3)——MQTT接入

实现物联网远程获取家里的数据难吗?本文告诉你不难!!!简述MQTTMQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消...

2020-04-04 22:02:50 904

原创 ESP8266学习进阶协议类(2)——SNTP服务

SNTP服务有啥用:可校时获取时间等等哈ESP8266-RTOS-SDK中有提供LwIP的这个组件:LwIP是Light Weight (轻型)IP协议,有无操作系统的支持都可以运行。LwIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用。(摘自百度百科)LwIP组件下有提供...

2020-04-03 16:46:23 1143 2

原创 ESP8266学习进阶协议类(1)——http请求

HTTP简介HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP工作原理HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发...

2020-04-02 19:31:25 3357

原创 ESP8266学习历程(6)——UART

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。数据格式;一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位(低电平),字符本身由7位数据位组成,接着...

2020-04-01 20:33:38 1401 5

原创 Linux内存分配相关函数详解

Linux内存分配相关函数详解 kmalloc()、kzalloc()、vmalloc().动态申请内存MMU操作系统中的内存管理虚拟内存机制页式内存管理内核虚拟内存布局kmalloc()与kfree()kzalloc()vmalloc()、vfree()总结动态申请内存.在应用层中,用户空间动态申请内存空间的函数...

2020-04-01 09:56:53 1035

原创 关于同一个设备类申请多个设备的方法及container_of()解析

container_of解析

2020-04-01 09:56:50 1118 1

原创 内核GPIO标准函数

LInux内核也有一套GPIO的标准接口函数?驱动编写操作GPIO的福音啊.Linux标准的GPIO接口Linux标准的GPIO接口.GPIO是嵌入式平台最常见的一个硬件模块,所以linux内核将GPIO的访问过程封装成了标准的接口函数,这些接口函数在调用的时候和平台无关的,平常使用iowrite32、ioread32等这些函数有以下优缺点...

2020-04-01 09:56:47 177

原创 字符设备与应用程序的数据交换

字符设备与应用程序的数据交换.Linux内核——字符设备与应用程序的数据交换源码Linux内核——字符设备与应用程序的数据交换. 在用户空间和内核空间,它们数据交换是不能直接访问的,必须通过内核提供的函数实现数据的交换。1.将内核空间的数据拷贝到用户空间:copy_to_user原型 见头文件#include <lin...

2020-04-01 09:56:46 200

原创 关于驱动模块自动创建设备节点

驱动模块设备节点的自动创建,不再需要 mknod.背景根据源码解析函数解析错误码背景.Linux 2.6 引入了动态设备管理, 用 udev 作为设备管理器(应用在x86), 相比之前的静态设备管理,在使用上更加方便灵活。udev 根据 sysfs 系统提供的设备信息实现对/dev目录下设备节点的动态管理,包括设备节点的创建、...

2020-04-01 09:56:46 547

原创 ESP8266学习历程(1)——GPIO配置

ESP8266学习历程——GPIO配置.输出输入检测中断相关​ 根据上一篇博客,成功搭建好ESP8266在Linux下的开发环境后,正式开始入坑8266的学习和使用;本文基于NodeMCU进行学习,NodeMCU是一款开源的物联网平台,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cj...

2020-04-01 09:56:46 1575

原创 在Linux上学习串口编程

在Linux上学习串口编程.认识串口.串口通信:硬件与硬件之间的一种通信方式,也是我们在项目中最简单的通信方式。除了串口的这种通信方式以外还有:USB、I2C、SPI、CAN、LIN等。串口是双向通信的。打开串口.直接通过open来打开串口驱动文件int uartFd=open(“/dev/ttySAC1”,O_RDWR|O_NOCTTY);通...

2020-04-01 09:56:45 255

原创 编写内核模块小Demo

基于Linux系统的内核编程小Demo.编写Linux内核模块的demo及注意事项设计一个简单的内核demo内核模块代码的编译扩展内核模块的参数编译多个内核模块内核符号表——全局共享函数接口与变量编写Linux内核模块的demo及注意事项.什么是内核模块呢?首先内核是一个操作系统的最基础部分,它是一个向所有外部...

2020-04-01 09:56:45 419

原创 编写字符设备小Demo

Linux内核——字符设备.设备相关点解简述字符设备驱动的设计流程定义一个字符设备定义并初始化一个文件操作集源码及详解编写对应Makefile12345678910obj-m += led_dev.oKERNEL_DIR := /home/bbigq/6818GEC/kernelCROSS_COMPILE := ...

2020-04-01 09:56:45 365

原创 关于IO内存

驱动模块通过申请物理内存–>映射虚拟地址给到应用程序使用的过程解析!.什么是IO内存IO内存的使用方法相关源码截取及解析函数解析虚拟地址访问的函数族什么是IO内存.外设的 SFR(特殊功能寄存器) 编址与内存的编址是同一个地址空间,叫做IO内存。Linux 内核运行后,开启了 MMU(内存管理单元),所以不能直接访问 ...

2020-04-01 09:56:45 492

原创 QT ADD Third-party libraries

QT上使用第三方库的教程,附带demo.第一步:.在新建的工程中的xxx.pro文件第二步:.使用BAT API的demo为例子BAT API DEMO添加头文件12INCLUDEPATH+=/home/bbigq/baiduAPI/image/aip-cpp-sdk-0.8.5第三步:.添加库文件12LIBS+= -...

2020-04-01 09:56:44 314

原创 Qt多媒体播放器

基于mplayer的多媒体播放器.废话不多说,直接上源码SOURCE详细步骤:第一步:移植mplayer到ARM开发板上去.mplayer的移植就不一一细说了,网上有很多大牛讲的都特别详细这里直接将mplayer复制到ARM的/bin文件下第二部:编写代码.需要实现的功能是: 1:视频播放、快进退、声音调大小、上下首切换等等; ...

2020-04-01 09:56:44 1352 6

原创 Qt Process Demo

Qt上进程的使用.Header:#include qmake:QT += core重要的接口:.开启一个进程.void start(const QString &program, const QStringList &arguments, QIODevice::OpenMode mode = ReadWrite)void start(...

2020-04-01 09:56:43 234

原创 QtThreadDemo

Qt中使用线程小demo.注意:在Qt中使用线程和linux中使用是一样的,如pthread.h pthread_create等像UI界面时不能存在死循环和延时的,但是在线程中可以哦!第一种用法:使用linux中的pthread.h.12345678910pthread_t pid;pthread_create(&pid...

2020-04-01 09:56:43 323

原创 SQL初探

SQLite 初探.1、认识数据库.常用的数据库库名说明MYSQLORACLESQLITEwindos系统常用大型服务器使用轻量级的数据库,是最嵌入式设备最适用的数据库>2、SQLITE 数据库的安装:.下载SQLITE 数据库源代码传送门3、安装数据库的方向键.sudo apt-get install ...

2020-04-01 09:56:43 114

原创 WebAPI-User

Web API 协议.Web API一般采用HTTP作为底层协议.HTTP 请求机制如下:1:客户端向服务器发送一个请求;2:服务器给客户端一个响应,告诉客户端是否可以完成它请求的工作;HTTP协议包含的内容:.1:URL(API调用地址) —> http://example.com2:Method(请求方式) ...

2020-04-01 09:56:43 328

原创 Qt常用窗体

QT自带的窗体使用.相关类静态函数函数说明QMessageBoxQMessageBox::questionquestion 消息框QMessageBoxQMessageBox::informationinformation 消息框QMessageBoxQMessageBox::warningwarning 消息框...

2020-04-01 09:56:43 170

原创 Qt HTTP Get Weather Msg

使用QT的接口实现HTTP请求获取天气信息.所需头文件JSON相关头文件12345#include <QJsonDocument>#include <QJsonObject>#include <QJsonParseError>#include <QJsonValue>#include <...

2020-04-01 09:56:43 84

原创 Qt HTTP demo

基于 Qt 的 HTTP demo.Header:#include qmake:QT += networkHeader:#include qmake:QT += networkHeader:#include qmake:QT += network新建一个HTTP请求管理器 QNetworkAccessManager:(请求管理器).QN...

2020-04-01 09:56:43 404

Typora1.3.8 许可

Typora1.3.8 许可文件,解压后将winmm.dll拖到typora安装路径下即可,前提是先关闭typora软件

2022-09-27

OTA资料 http请求服务器文件方式

OTA资料 http请求服务器文件方式

2022-06-16

SmartConfig_demo.rar

完整的智能家居开发模型,实现ESP8266智能配网的有害气体检测设备,成功联网后可向MQTT服务器推送消息,完成数据的采集和上报。

2020-04-08

空空如也

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

TA关注的人

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