- 博客(182)
- 资源 (27)
- 收藏
- 关注
原创 嵌入式学习笔记--解决 sanjusss/aliyun-ddns IP 经常更新的问题
之前遇到了 sanjusss/aliyun-ddns 的 ddns服务经常性的提醒IP更新,一个IP是国外的,紧接着下一刻又更新到国内的 IP。问题的本质原因是: IP检查的服务的部分域名会被工具将请求转发给代理服务器,进而获得一个不是真实的IP.指明了 只需要获得国内的IP即可!解决方法就是在启动参数里面添加。
2023-06-11 19:03:33
730
原创 linux 学习-- 修改docker网段的操作
另外,如果你使用的是 Docker Desktop(Windows 或 macOS),可以在 Docker Desktop 的设置界面中找到网络配置选项,从而更改子网段。② 找到 Docker 的网络配置文件。在大多数 Linux 系统上,Docker 的网络配置文件位于 /etc/docker/daemon.json。请注意,更改 Docker 网络的子网段可能会影响已经存在的容器和网络设置。Docker 会使用新的子网段重新启动,并将所有新创建的容器分配给该子网段。启动 Docker 服务。
2023-05-26 23:40:00
1494
原创 嵌入式linux学习笔记--虚拟局域网组网方案分享,基于自组zerotier -planet 网络的方案
五一假期期间重新考虑了目前的组网环境,准备对目前的组网进行一个重新的划分。目前有的资源① 两台 服务器,阿里云-深圳(5M上行)和腾讯云 广州(3M上行)② 带动态公网IP的家庭宽带 (1000M下载/50M上行)③公司内两台个人的openwrt 路由器(公网出口不同)以及其下面挂载的若干设备(公司 下载1000M上行 100M,我没有总网络的管理员权限不能做端口映射,全锥)我的需求:可以打通家里的设备 以及公司的设备,且尽量的免部署。
2023-05-02 20:50:49
3147
原创 云服务器无法ping通的解决方法
之前一直以为 ping 使用的是某一个特定的端口, 今天仔细看了一下 ping的 一些细节 才发现了 原来ping 并不需要指定端口!在服务器上还可以使用 tcpdump 来 监控 来自外部的 ping 请求。然后 服务器 上面还可以使用 traceroute 去分析 数据的流向。原因是 服务器提供商的 防火墙上面没有打开icmp 的入站许可。比如 besttrace 可以分析 整个的ping的过程的链路。解决方法就是在网络的 安全组那里 将对应的许可打开。然后还发现了一些好用的工具。
2023-02-26 16:52:33
1125
原创 嵌入式linux驱动学习笔记-04-字符设备驱动程序设备号申请或注册
上述的demo 演示了两种设备号的获得方式 一种是 内核模块自己指明设备号,这种方法不推荐使用,容易和已有的设备号冲突,另一种就是使用申请的形式 每次再字符设备驱动 安装后动态的进行申请。内核中 相同的主设备号 表示相同的 驱动程序,不同的次设备号 用来区分不同的设备!可以看到 次设备号的位数是20 主设备号的位数是12。跟随迅为的demo 学习设备号相关的知识。关于主设备号和 次设备号。
2023-01-01 18:52:58
264
原创 嵌入式linux驱动学习笔记--03-内核模块的符号导出
内核的符号导出 总体看起来有点像是 链接动态库, 再某一个动态库里面 导出一个符号,然后 就可以用一些标准的方法去获得 这个库内部的所有的符号表 然后去 操作到对应的内存, 具体的细节没在看 ,用起来应该不难。搜索资料的时候还看到了一篇不错的文章, 主要是讲解如何绕过gpl 传染性的,简单点讲就是 将所有我要用到的外部的 使用GPL实现的调用 用我写的 另一个 支持 GPL的 个人的模块封装以下,总结起来就是 我们可以用符号导出的方法 使用别人已经写好的驱动的标准方法!
2022-12-25 23:28:02
368
原创 嵌入式linux学习笔记-- 记录解决stdout 延迟的问题
公司某产品 需要对软件的运行日志进行记录,目前的方案使用的是 linux的匿名管道进行数据的转发,将业务进程的print的信息发送给一个专门的日志处理进程 ,但是遇到了 日志延迟非常高的问题 经查是因为 stdout 的缓冲机制导致的 默认情况下的 输出形式就是行缓冲 但是切换为数据流输出之后系统自动将前面的进程的输出转换为 全缓冲 ,所以需要主动的切换前一个进程的缓冲类型为行缓冲!主要就是介绍了 缓冲三种类型 全缓冲 行缓冲以及不缓冲, 我们的应用场景中应该使用行缓冲!
2022-12-21 00:27:53
325
原创 嵌入式linux学习笔记--驱动-(3)驱动传参测试 基于rk3568
总结就是 驱动函数的可以传递的参数挺多的,到时候需要的话可以根据需要去进行组合。len 字符串缓冲区大小,指明可供使用的buffer 大小 不超过1024?基于迅为的RK3568 开发板,参考迅为的文档进行驱动传参的学习。nump : 一个int指针,用于保存外部传入的数组的长度。type: 模块参数的数据类型。perm: 模块参数的访问权限。name: 模块参数的名称。参数有如下的可选类型。
2022-12-20 23:58:07
294
原创 嵌入式linux学习-驱动(2) hello world 模块实现记录 基于RK3568
今天跟随 迅为的开发文档实现了 hello world 的驱动,之前已经实现了很多次,这次还是重新实现了一次 本文是基于RK3568。
2022-12-20 23:19:55
541
1
原创 嵌入式学习笔记--- c++结构体的内存按bit存取的实现
今天拜读公司大佬写的代码 发现了 c++ 的结构体以及内存分布的一些实现细节,代码调整完demo 大概如下:(代码中的细节都删掉了,变量名全部换了 原本每一个bit 都带有自己的意义)后续对于bit 的访问 就可以直接按照上述的形式进行了,这样可以很方便的就操作到bit , 对于一些内存敏感的应用 会很方便,例如 modbus 直接修改某一个输入寄存器的bit。
2022-09-12 16:19:10
947
原创 嵌入式linux学习笔记---tar多核压缩
这里使用了一些 tar的可选参数 就是制定压缩的程序,然后原生的tar 不支持多核压缩,通过使用上述的 参数 可以多核并行进行压缩 我这边看到的是使用了 pzip。我这边实现的大致的思路就: 代码工程里面直接内置一个pzip 然后打包的时候直接运行这个pzip。记录一下之前看到的一个多核文件压缩的操作。其他的内容可以参考一下其他的大佬的文章。
2022-09-12 16:00:10
1031
原创 redis 学习笔记(1)-- 存储自定义的数据类型
因为项目需要,最近在看redis 的相关知识,今天验证了使用Redis存储自定义的类型的方案,简单整理一下分享出来代码整理好之后会上传到以下位置 给大家参考直接上代码使用上述的代码需要预先搭建好 hiredis 环境,也可以去参考编译方法如下:...
2022-08-07 17:22:55
552
原创 嵌入式linux开发笔记--- 记录一次 lua动态库异常
调试 lua的 动态库出现异常了,使用 lua_tonumber 转换出来的结果一直是 0经过定位 最终发现 lua 解释器和 我链接的静态库版本不一致
2022-07-03 11:48:52
316
原创 嵌入式linux学习笔记---交叉编译 redis 以及redis的简单使用
因为 想实现 lua 变量的掉电保持功能所以需要 交叉编译一个 redis 的数据库编译过程如下:ps: github 访问使用了加速的方案! 如果速度较慢可以用国内的其他源。ps2: 工具链 使用了韦东山老师的工具链,实际的开发中使用的其他工具链。 但是都能用 差距不是很大。测试工程的路径如下:将 src 下生成的可执行文件 使用filezilla 传输到 嵌入式的设备中执行 效果如下:...
2022-07-02 18:12:57
1116
原创 嵌入式linux学习笔记-- cmake使用cppcheck进行代码的静态检查 的实现过程
cmake + cppcheck 组合使用的方法介绍
2022-06-04 18:05:01
2618
1
原创 嵌入式linux学习笔记-- c++ 的 操作符重载
复习了一下c++ 的操作符重载以及 模板,随便写了一个demo 记录一下。#include <iostream>#define LOG(str) {printf("this is %s:%d \t%s\n",__FUNCTION__,__LINE__,str);}class MyOptr final{private: uint16_t *m_ptr;public: MyOptr(); void init(uint16_t *ptr); MyOptr(
2022-05-08 23:16:43
647
原创 嵌入式c++学习笔记-- std:: function std::bind的一种使用方法
#include <stdio.h>#include <functional>class test{ public: void test1(void){printf("[%s] enter ...\n",__FUNCTION__);}; void test2(void){printf("[%s] enter ...\n",__FUNCTION__);}; void test3(void){printf("[%s] enter ...\n",__
2022-04-10 21:30:46
1169
原创 嵌入式linux学习笔记--linux的消息队列的坑
关于消息队列的一些总结:1. msgsnd的 mtype 不能为0 2. msgsnd 和 msgrcv 的 size 是不包含前面的 mtype的size 的大小。3. 使用消息队列的时候需要注意 处理残留的数据,如果进程因为一些原因 导致一些数据没被读走,那么这些数据会被留在队列里面!!!...
2022-04-10 17:31:08
598
原创 嵌入式linux学习笔记--- 使用文件锁来判断 进程是否活动
最近项目中 需要在一个进程中监控另外的一个进程 所以使用了文件锁的方案去实现代码如下:#include <sys/file.h>#include <stdio.h>#include <errno.h>#include <pthread.h>#include <fcntl.h>#include <unistd.h>#define file_lock "/home/someone/file_lock"void file
2022-03-26 15:42:30
576
原创 嵌入式linux学习笔记--- typedef的 一种使用方法
迅速记录一下 ,今天看到代码里面的typedef 的用法,我居然看不懂, 记录一下相关的代码段 大致如下typedef char Temp1[12];typedef char Temp2[123];typedef struct { // ....... Temp1 t1; // char [12] Temp2 t2; // char [123] // .......} someType;...
2022-03-08 21:49:53
695
原创 嵌入式linux学习笔记--gitlab学习笔记-gitlab-runnner简单的使用介绍
最近在搞gitlab 的环境以及 配套的自动化相关的一些尝试,记录一下。为了进行最近的实验,我特意开了一台虚拟机,使用的是dell R720XD 服务器配合 exsi 虚拟化了一台 ubuntu 18.04 配置如下0. 安装 gitlab服务器的安装部分网上很多教程 就不去班门弄斧了,链接如下:https://www.cnblogs.com/hgzero/p/14088215.html1. 简单的登录测试一下服务器从gitee 拉了一个项目做测试,随便挑了一个然后使用 将工程克隆岛 新
2022-03-07 00:23:10
3407
原创 嵌入式linux学习笔记--spdlog 使用动态库的方法记录
之前项目中使用的spdlog 库,但是一直使用的是herder only 模式,简单是简单,但是编译的速度实在是太慢了,所以最近就在探索使用动态库的方法加速编译的速度。仓库的地址 :https://gitee.com/jeasonb/spdlog_dyn测试方法...
2022-02-20 16:54:43
2340
3
原创 嵌入式linux学习笔记---关于linux系统的时间设置的一些理解、linux系统设置时间的方法
@echo offcd ./srccd %~d0set server_ip=192.168.5.1set date=%date:~0,4%-%date:~5,2%-%date:~8,2%set time=%time:~0,2%:%time:~3,2%:%time:~6,2%echo time now is %date% %time%plink.exe -ssh -l root -pw yourPasswd %server_ip% rm /etc/localtimeplink.exe -ssh
2022-02-13 16:30:28
906
原创 嵌入式linux学习笔记-- 记录一种dlopen 打开的动态库无法被卸载的情形,情形分析以及对应的解决方法
项目中使用了rapidjson 的库函数,然后将这个库分别编译进入了不同的动态库中,然后产品的动态库设计上要能实现动态的卸载和装载 然后就遇到了问题。具体的表现就是 打开的动态库无法被卸载。...
2022-02-13 15:54:13
1351
原创 lua学习笔记--MetaTable 的一些使用 限制函数的作用范围
公司的产品中需要为用户提供一些lua 的API ,但是 又不希望一些api 被其他文件调到,比如说 我希望在用户写的第一个脚本里面注册一批api 但是 这些脚本又不希望被第二个脚本调用到。(在实际的产品中 这两个脚本分别是两个线程 共享一个 _G 表)最终我们使用 lua的MetaTable 解决了这个问题我们可以给 _G 表 设置一个 __index的 方法,当 _G 找不到这个函数的时候 会调用__index 的方法 去查找函数,我们可以在这个函数里面去实现我们想要实现的方法,进而控制函数的作
2022-01-02 12:19:52
322
原创 嵌入式linux学习笔记-- 对于动态库的一些操作 dlopen
最近公司重构代码,看到了公司的一位经验丰富的工程师的一些C++ 操作 属实有被秀到,估计光看他写的代码都够我写很多总结了。 根据他写的代码以及公司未来的代码的一些规划 我也总结一些无关痛痒的知识吧。我们的新一代的代码架构将会去做到能实时的更换模块(就是c 编译出来的动态库 能动态的去加载! 目前的思路就是使用dlopen 以及dlclose的操作去动态的加载库文件) 之前一直没想到动态库的加载还可以这么的简单,高效。下面的一些内容从大佬们的博客直接拼凑过来的 既然别人已经总结了一次 我就不去班门
2021-12-26 22:15:00
2368
原创 嵌入式linux学习笔记-- libevent学习
不完整的版本。。。。。。。。。。。。0 一个简单的demolibevent 创建1S的 定时任务#include <event.h>#include <time.h>#include <signal.h>struct event *ev;struct timeval tv;void timer_cb(int fd, short event, void *arg) //callback函数{ printf("timer_cb\n");
2021-12-25 21:14:33
603
原创 CMake学习笔记--- CPack 简单记录
今天完善看了 CPack 的打包 相关的资料,简单的记录一下CMAKE_MINIMUM_REQUIRED(VERSION 3.8)project(cpack_learn CXX) set(VERSION_MAJOR 1)set(VERSION_MINOR 1)set(VERSION_PATCH 1) # #采用debug模式时启用'ENABLE_DEBUG'# IF (CMAKE_BUILD_TYPE STREQUAL Debug)# ADD_DEFINITIONS(-DENA
2021-12-20 00:12:09
1225
原创 lua学习笔记(2)让lua解释器支持中文变量和函数名 以及 重新让 解释器接受中文的关键字
今天再看lua 的解释器,突然想到我们的FAE 一直说要支持 脚本里面直接输入中文,于是我就去搜索了一下相关的实现流程,并且去简单的进行了一下操作。代码位置https://gitee.com/jeasonb/lua5.4.3_cn.git0 获得 lua的源码wget http://www.lua.org/ftp/lua-5.4.3.tar.gzroot@jeason:~/lua/lua_cn# wget http://www.lua.org/ftp/lua-5.4.3.tar.gz--20
2021-12-12 17:05:52
3704
转载 工作笔记-- Visual Studio Code无法监视此大工作空间中的文件更改
cat /proc/sys/fs/inotify/max_user_watches可以通过编辑/etc/sysctl.conf并将此行添加到文件末尾来将限制增加到最大。fs.inotify.max_user_watches=524288然后可以通过运行加载新值sudo sysctl -p。524,288是可以查看的最大文件数,但是,如果您的环境特别受内存限制,则可能希望减少文件数。每个文件监视占用1080个字节,因此假设所有524,288个监视都被消耗,则导致大约540 MiB的上限。htt
2021-12-08 23:56:01
462
原创 c++ 学习笔记(0) boost 环境搭建
0 .获得boost 源码 并且编译 安装[jeason@centos7 ~]$ git clone https://gitee.com/add358/boost.gitCloning into 'boost'...remote: Enumerating objects: 97421, done.remote: Total 97421 (delta 0), reused 0 (delta 0), pack-reused 97421Receiving objects: 100% (97421/974
2021-12-08 23:45:31
980
原创 cmake学习笔记--cmake的打印、创建工程等基本操作(1)
最近项目代码重构切换到了cmake的编译环境下。 有幸学习了一下cmake的一些基本的操作,记录一下。0 . 创建一个工程0.0 指明工程需要的cmake的最低版本(或者是最低到最高)cmake_minimum_required(VERSION 3.1.2 FATAL_ERROR)# cmake_minimum_required(VERSION <min>[...<policy_max>] [FATAL_ERROR])0.1 指定工程的名称以及 编程语言等特点proje
2021-12-05 22:55:55
2663
原创 centos7 升级系统git的方法
yum remove gitcd /usr/local/src/wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.xztar -vxf git-2.15.1.tar.xzcd git-2.15.1make prefix=/usr/local/git allmake prefix=/usr/local/git installecho "export PATH=$PATH:/usr/local/git/bin" >
2021-12-05 21:44:39
630
原创 c++ 学习笔记--- vector的一种错误使用方法
今天学习 rust 基本语法的时候发现 大佬提到的一个c++ bugbug的本质的原因是 dealloc 之后 指针没有对应的去进行变化,而原本指针指向的空间已经被释放! 为什么被释放? 因为向vector 内部插入数据可能导致为了容纳更多变量而去进行 重新申请空间!!!...
2021-11-28 13:58:18
3763
1
原创 linux网络编程笔记--inet-ntoa() 函数的返回值问题以及网络地址有效性的判断
今天学习了唐佐林老师的网络课程,记录一下发现的收获。1. inet_ntoachar *inet_ntoa(struct in_addr in); // 这个函数返回的指针是一块固定的空间, 使用的时候需要注意防止覆盖demo :#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdi
2021-11-27 14:29:51
4625
jlink--rtt-printing.rar
2021-01-31
rapidjson_test.zip
2020-08-27
BME680 温湿度 气压 空气质量传感器
2020-07-22
Stm32F407 SPI 从机 DMA全双工.zip
2020-03-05
微雪2.9 E-paper.zip
2019-08-18
STM32F407驱动LCD12864代码 LCD12864带中文字库
2019-08-17
2019_nuedc_qdu_jeason.py
2019-08-16
STM32F407 使用增量式速度 PI控制4路直流减速编码电机 + 串口DMA收发 + GY-953 + TFmini
2019-07-27
步进初级3--6路步进电机速度控制函数.zip
2019-07-06
步进电机初级2.zip
2019-06-30
第六届工程训练竞赛 智能物料搬运 电路板 工程
2019-06-03
OLED 硬件IIC + DMA +framebuffer.zip
2019-05-13
MSP430F5529超频函数 2 加强版.zip
2019-05-09
MSP430F5529 超频函数 1.zip
2019-05-09
STM32F407 DAC + DMA + Timer 实现任意波形发生器
2019-04-18
Cubemx实现 STM32F407 DMA +定时器 实现修改占空比
2019-04-17
四线两相步进电机控制 Stm32F407 定时器中断 带缓启动和减速过程(初级版本)
2019-04-12
stm32f407 配置6路串口DMA 接收 不定长数据
2019-04-10
基于STM32F407的 DMA + DAC 定时器触发实现的任意波形发生器
2019-01-25
正点原子STM32F407 DMA+ADC 连续采样24路ADC的值 并且将ADC的值用屏幕显示
2018-10-06
msp430F5529驱动 IIC OLED
2018-08-15
舵机控制器PCA9685程序 51版本
2018-08-15
Stm32F407ZGT6 四路编码器硬件正交解码 Encoder 配置
2018-07-21
stm32F407 库函数的麦轮手动车 PS2手柄 4路编码器 +PS2手柄+ 麦轮姿态解算 + 激光测距模块 + IIC_OLED12864
2018-07-17
stm32F407zgt6 PCA9685 + IIC_OLED 六组机器人舵机控制器驱动代码
2018-07-17
Altium Designer的库文件 很实用 AD库 PCBlib schlib
2018-07-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人