
个人日记
Coder_BCM
深漂程序猿,从事嵌入式linux开发。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
笔记---domoticz docker 启动指令
【代码】笔记---domoticz docker 启动指令。原创 2022-10-31 09:32:22 · 310 阅读 · 0 评论 -
嵌入式linux开发笔记--- 记录一次 lua动态库异常
调试 lua的 动态库出现异常了,使用 lua_tonumber 转换出来的结果一直是 0经过定位 最终发现 lua 解释器和 我链接的静态库版本不一致原创 2022-07-03 11:48:52 · 331 阅读 · 0 评论 -
嵌入式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 · 3426 阅读 · 0 评论 -
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 · 4015 阅读 · 0 评论 -
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 · 997 阅读 · 0 评论 -
c++ 学习笔记--- vector的一种错误使用方法
今天学习 rust 基本语法的时候发现 大佬提到的一个c++ bugbug的本质的原因是 dealloc 之后 指针没有对应的去进行变化,而原本指针指向的空间已经被释放! 为什么被释放? 因为向vector 内部插入数据可能导致为了容纳更多变量而去进行 重新申请空间!!!...原创 2021-11-28 13:58:18 · 3779 阅读 · 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 · 4666 阅读 · 0 评论 -
嵌入式linux学习笔记--控制台的数据重定向 以及 进程打印 数据的重定向
记录一下今天的收获,项目上的一个需求是将嵌入式平台内的所有的打印信息输出到一个统一的地方,方便管理,为了实现这种需求 我一共尝试了几种方案,记录一下。1 . 需求1 嵌入式设备的串口打印信息转移到另一个控制台这种需求是因为产品的串口默认是不引出的,平时对产品进行调试的时候免不了需要去查看串口信息,那么 我们自然就希望将原本的串口控制台的输出信息转移到当前的通用ssh 登录的控制台。相关的代码的实现如下:#include <stdio.h>#include <stdlib.h>原创 2021-11-04 00:54:32 · 1184 阅读 · 0 评论 -
嵌入式linux学习笔记-- linux下inotify的使用(转载)
原文地址:http://www.cnblogs.com/jimmychange/p/3498862.html有时候我们需要检测某个目录下文件或者子目录的改动状况,如添加、删除、以及更新等,Linux系统上提供了inotify来完成这个功能。inotify是在版本2.6.13的内核中首次出现,现在的发行本应该都包含这个系统调用了。下面的描述中的文件如无特别说明包括文件以及目录使用inotify的第一步就是调用inotify_init()创建一个inotify实例,该函数返回一个文件描述符。这个文件描述符转载 2021-10-22 00:31:02 · 2664 阅读 · 0 评论 -
串口转以太网项目开发(1)-- 修改默认的设备树文件
本次项目的开发想要去实现一个双路的串口转以太网的功能,实验的平台是 野火的 imx.6ull pro 。 使用的sdk 是韦东山老师提供的sdk ,系统使用buildroot 编译生成。需要修改的是这个文件arch/arm/boot/dts/imx6ull-14x14-ebf.dts仿照串口2的配置 修改了串口三的配置 pinctrl_uart3: uart3grp { fsl,pins = < MX6UL_PAD_UART3_TX_DATA__UART3_DTE_RX原创 2021-10-21 00:26:10 · 381 阅读 · 0 评论 -
嵌入式linux学习笔记-- 更换ubuntu服务器的vi
sudo apt-get remove vim-commonsudo apt-get install vim原创 2021-10-13 23:54:58 · 193 阅读 · 0 评论 -
嵌入式linux学习笔记-- 解决 Broken pipe
Thread 1 "logServer" received signal SIGPIPE, Broken pipe.0x00007ffff7bc5a9e in __libc_send (fd=5, buf=0x5555555b2918, len=17, flags=0) at ../sysdeps/unix/sysv/linux/send.c:2828 ../sysdeps/unix/sysv/linux/send.c: No such file or directory.开发中遇到了如原创 2021-10-03 00:14:23 · 833 阅读 · 0 评论 -
lua学习笔记--注册钩子函数
最近发下了lua的回调函数的注册方法,记录一下 其实菜鸟教程写的非常详细了https://www.runoob.com/lua/lua-debug.htmldebug = require("debug")function myHook() print("this is my hook!!!") end-- c:每当调用一个函数时产生的 call 事件。-- r:每当函数返回时产生的 return 事件。-- l:每当开始执行一行新代码时产生的 line 事件。debug.s原创 2021-09-20 16:12:40 · 1208 阅读 · 0 评论 -
2021-09-13嵌入式学习笔记--基于C++的环形缓冲区demo
最近学习了韦东山老师的RTOS训练营相关的知识后想自己实现一下环形缓冲区,具体的实现如下:注意: 缓冲区的大小要比实际的小一个! 我也是查了半天才知道的! 代码中对于未使用的空间写入了 -1 主要是方便查看,如果实际的应用中可以去掉 这一步 降低资源开销// circleBuffer.h#ifndef _CIRCLE_BUFFER_H_#define _CIRCLE_BUFFER_H_#include <stdio.h>#include <cstdio>#in原创 2021-09-16 00:14:07 · 517 阅读 · 0 评论 -
linux学习笔记-- linux的 shell和linux C 程序 获取命令行参数和环境变量
常用的linux指令基本都支持命令行参数 例如 :ls -l rm -r rm -fcp -r 那么 这些参数都是如何去被应用程序获取的呢? 学习记录一下1. shell 脚本1.1 shell 脚本获得传入的参数shell 脚本部分的数据处理是分为 传入和解析对于参数的传入 一个简单的例子就是菜鸟教程中的例子 :https://www.runoob.com/linux/linux-shell-passing-arguments.html#!/bin/bash# auth原创 2021-08-08 23:20:10 · 829 阅读 · 0 评论 -
学习笔记--记录一种单片机获得系统时间戳的方案 定时器级联
最近在看SOEM 以及ethcat 相关的资料 ,看到了一个非常好的定时器获得时间戳的方法,记录一下资料的出处 :原创 2021-07-28 00:08:06 · 769 阅读 · 0 评论 -
2021-07-23--嵌入式linux设备的SFTP传输文件慢的原因
公司产品的升级包使用的是SFTP 将升级包传输到服务器上 然后进行更新的,但是传输的过程中经常就发现传输的速度慢的问题,(产品的SFTP 传输速度大约是2Mb/s )猜测中的原因是这几个SFTP 本身的原因,文件的传输需要在数据的接收端进行解密会占用大量的CPU资源,而嵌入式linux的CPU 本身就不是很强劲,主频不高而且SFTP 本身不支持多核。(错误,后续着重讲)带宽问题,设备本身的对外网卡是百兆的,而且是使用的USB进行了拓展。带宽上可能存在瓶颈。(后来经过证实 瓶颈不在这里!)磁盘问题,原创 2021-07-23 22:58:33 · 3927 阅读 · 0 评论 -
记录一次解决蓝牙音箱时断时续问题---蓝牙发射端接一根USB延长线,靠近蓝牙音箱
放假的时候听歌,蓝牙音箱断断续续的,蓝牙发射端接一根USB延长线,靠近蓝牙音箱 解决了蓝牙时断时续的问题。因为我是台式机USB外接的蓝牙 蓝牙发射端离音箱大约2M ,而蓝牙的发射端也是网上19.9包邮款,又不是不能用! 只是信号比较差而已。不要跟我说为啥不用有线的音箱,音箱是斐讯R1 ,引出AUX不值得。最终问题是解决了,虽然看起来过程是南辕北辙的感觉。。。。。。。之前也尝试解决这个问题,还扫描了周围的wifi 等等的,没想到一根线就可以解决问题接完线之后蓝牙发射端 离音箱只有十几厘米,信号很稳定原创 2021-05-02 23:16:24 · 8930 阅读 · 0 评论 -
嵌入式Linux笔记--frp 配置问题以及将frpc 注册成一个服务
1 . token in login doesn’t match token from configuration2. login to server failed: EOF针对第一个 口令错误的问题,我这边实际遇到的是因为写的顺序不对实际的书写顺序应该是这样的server_addr = xxx.xxx.xxx.xxxserver_port = 7000tls_enable = truetoken =your_token # token 要放到这里!!!![ssh]type = t原创 2021-04-28 23:39:20 · 6487 阅读 · 3 评论 -
智能家居--基于micropython的ESP32开发笔记-upycraft软件以及一些使用方法的记录
拿出来吃灰已久的ESP32,开始盘。这里使用的是nodemcu,优信电子购买。1. 软件下载简单的玩一下ESP的应用的话只是需要下载一个upycraft软件即可。他的下载链接如下:http://download3.dfrobot.com.cn/uPyCraft/uPyCraft.exe2. 下载固件2.1进入到boot模式按下IO1按键 然后将串口插入到电脑。(插上去之后就可以松手了)这里其实就是保证上电的时候IO1按键是按下的2.2 选择对应的串口默认的nodemcu不一定是m原创 2021-04-11 23:51:08 · 3740 阅读 · 3 评论 -
嵌入式linux学习笔记---使用fork创建子进程
最近在整理多线程之间的同步,偶然发现一个例子里面使用到了fork,所以整理一下fork的使用笔记fork() 主要的作用就是创建一个子进程。1. 函数原型以及机翻NAME fork - create a child processSYNOPSIS #include <sys/types.h> #include <unistd.h> pid_t fork(void);DESCRIPTION fork() c原创 2021-03-21 16:57:30 · 1636 阅读 · 0 评论 -
嵌入式linux学习笔记--IPC(inter-process-commuction,进程间通讯)三种方式之一---- linux下的共享内存的使用方法
最近学习了共享内存,做笔记记录一下。 预计会补全 信号量和消息队列。我理解的共享内存: 共享内存就是同一台主机上的多个进程共同将自己的程序运行中的内存的一段区域映射到相同的真实物理地址。在linux内 每一个程序都有自己独立的寻址空间,这个寻址空间可能是4G大小,(当然一般程序肯定不会用这么大的空间的) 通过PCB(Processing Control Block) 可以决定将进程内的虚拟地址映射到真实的硬件上的什么位置。(这个过程应该是有MMU(内存管理单元)参与的,具体的实现机理忘了,貌似内存原创 2021-01-23 23:05:18 · 485 阅读 · 0 评论 -
嵌入式linux学习笔记-- ubuntu欢迎信息分析
之前的阿里云的服务器登录上去总是会有欢迎信息,welcode to Ali cloud service xxx一直以来也没去掉,最近突发奇想,想要去修改一下这个欢迎信息,结果发现这个欢迎信息内容还是挺多的,今天整理一下。首先分析一下欢迎信息都有啥以下是登录ucloud 服务器的提示信息(ali 的已经改了。。。。没得看了)。Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-48-generic x86_64) * Documentation: http原创 2021-01-23 20:58:08 · 1297 阅读 · 0 评论 -
工作笔记--安装twincat之后网卡不能正常使用的解决方法
之前为了测试ethca的从站的功能,安装了twincat这个软件,然后我的所有有线网卡都刮掉了,只留下无线网卡还能正常的用,今天有空了之后就去认真的找问题所在,幸好最后是找到了,现分享出来。第一步找到挂掉的网卡 右键点击属性第二步将 下图所示的勾取消掉之后就可以正常上网了...原创 2021-01-16 21:59:58 · 6177 阅读 · 5 评论 -
学习笔记--CPU频率控制软件的使用以及 MobaXterm经常断开的解决方法
记录一下今天get到的两个新技能。1. 是如何解决MobaXterm 经常断开的问题第一步选择Setting,第二部选择ssh的 keep alive2. 如何设置ubuntu的CPU主频参考了 以下链接:https://blog.youkuaiyun.com/wenwenxiong/article/details/51674239安装cpufrequtilssudo apt-get install cpufrequtils查看cpu 运行信息cpufreq-info -m 设置原创 2021-01-16 21:04:33 · 1210 阅读 · 0 评论 -
domoticz智能家居系统 MQTT 异常以及解决方法 code=14
domoticz的MQTT需要安装MQTT 服务器( 这个是domoticz 默认不安装的,需要用的时候需要用户自己安装)安装mosiquit 的方法是参考以下链接https://blog.youkuaiyun.com/zhu_tianwei/article/details/42914949?utm_source=blogxgwz6或者是直接搜索mosquit 的安装方法。...原创 2020-09-19 14:23:04 · 790 阅读 · 1 评论 -
智能家居传感器:BME680--树莓派3B+ 搭配BME680的数据读取温湿度和气压。树莓派IIC BME680算法库 (未完成版本)
在之前的一篇博客里面写了关于Stm32F407 读取BME680传感器的程序,发现很多小伙伴都想玩BME680这个传感器,所以准备再开一个坑,做一下BME680和树莓派搭配的例子,希望给大家一点点参考。关于上一篇博客 传送门在这里 https://blog.youkuaiyun.com/weixin_41534481/article/details/104302626代码位置 https://gitee.com/jeasonb/bme680_pihttps://gitee.com/jeasonb/iot680pi原创 2020-09-12 18:23:25 · 2016 阅读 · 0 评论 -
搬运--domoticz的 MQTT API接口 函数英文
以下是我从domoticz 官网搬运来的 MQTT 的 API 接口函数https://www.domoticz.com/wikiDomoticz API/JSON URL’sJump to navigationJump to searchDomoticz allows you to interact with all your switches and sensors using J...翻译 2020-04-06 13:00:09 · 2374 阅读 · 0 评论 -
毕业设计---BME680 IIC设计的反思
毕业设计中的 BME680 传感器的设计 使用了 IIC 通讯,却没有加上拉电阻,导致了一系列的问题,刚开始还以为是自己的 封装设计有问题存在虚焊 或者是 在 芯片下短路了(芯片封装非常小)更新了 三个版本的电路板之后 最新的测试 我发现 芯片数据读取出现问题 主要的原因是 IIC 通讯的 SDA 引脚 收到的干扰太大( SDA 引脚跟随着 SCL 引脚电平发生变化)这是正常的波形以下...原创 2020-06-26 20:35:10 · 1438 阅读 · 1 评论 -
git笔记
git config常见的设置级别是 以下的三种– systerm 本系统–global (全局的当前用户 也是我使用最多的)–local (当前路径)git config --list 显示当前的配置信息git config --global user.name “yourname”git config --global user.email “email@email....原创 2020-03-22 16:14:58 · 177 阅读 · 0 评论 -
硬件设计:AD20 altium designer 设置 交叉选择 PCB 和 原理图同步选择的设置方法 cross select mode
同步选择就是 选中了 原理图中的器件再去打开PCB时同样会被选中官方的叫法是 cross select mode这个是 右上角的 齿轮 也就是设置原创 2020-03-17 17:22:49 · 12803 阅读 · 0 评论 -
记录一次程序异常 添加一个函数之后整个程序逻辑运行错误 Stm32F407Vet6 keil5 启动文件
毕设程序,修改了硬件之后 重新编译 发生了未知的错误 :有两个屏幕的模块 墨水屏和 OLED ;当墨水屏的初始化程序加到总代码中时 OLED 就无法显示, 当去除墨水屏部分的代码时程序就可以运行了。原因是 栈 开的太小了 而我的程序中的墨水屏需要非常大的内存。发现是堆栈的原因 是 我的2 处程序运行 不正常 。注释掉1 的初始化函数之后就正常了。 这个肯定...原创 2020-03-05 23:05:09 · 1120 阅读 · 0 评论 -
记录发现的一个bug LmacRxBlk:1 micropython esp8266
bug 的提示如上图所示,在网上找了很多资料之后发现 这个应该是提醒我们的 TCP buff 满了 没有办法接收新的数据从下面几个网友的回答来看 大概率就是没有处理好 TCP buffer暂时还没有解决的办法,甚至都没找到问题的具体位置 留个坑 我解决了再来填https://teratail.com/questions/48933ht...原创 2020-03-03 23:09:25 · 745 阅读 · 0 评论 -
联盛德毕业设计--01 JLink 下载器 无法下载程序问题 解决方法--DAP
准备用 W601 做一个毕业设计, 现在开始学习 W601. (解决方法就是换一个DAP下载器,以下纯属扯淡)学习 W601 第一步应该就是搭建一个开发平台,我这里使用的开发板是正点原子的 W601 开发板,开始的时候我是用的 Jlink是自己做的 丐版的Jlink V9 成色如图。可以找到设备。 根据正点原子的 教程也添加了对应需要添加的 flash 算法。报错一直是提示这个...原创 2020-06-26 20:37:30 · 3140 阅读 · 0 评论 -
日记-2019.06.29-1 FreeRTOS初步----假期日记第一篇
1.FreeRTOS的任务创建分为动态和静态任务创建,区别在于 静态任务创建是需要安排分配的内存的地址的,一般用的不多,平常使用一般采用动态任务创建。2.任务堆栈的空间设置 100 实际的大小是400个byte 因为使用的单片机是32位单片机。3.任务的四种状态:挂起,就绪,阻塞,运行。4。FreeRTOS的任务优先级是数字越大 优先级越高。任务优先级数字理论上是可以任意写的,但是...原创 2019-06-29 11:44:18 · 607 阅读 · 0 评论 -
面试准备--交换两个数字的几种方法(第五种未验证)
现在一共在网上找到了3种方法 第一种方法最常用,直接添加一个中间变量方法2: 使用加减法这种方法比较容易理解,但是存在一定的问题(int 可能会存在溢出)第三种方法是使用异或运算进行的手工运算结果确实是满足需要。 但是具体的原理暂时解释不清。第四种方法是 乘除法以上是四种常规的方法。但是我觉得在单片机的底层代码里面可以有其他的解决...原创 2019-09-03 17:41:19 · 267 阅读 · 0 评论 -
抓虫:1 Stm32F407 引脚相互影响问题 PC6 CP7 输入捕获相互影响
发现了一个问题,单片机在配置定时器的输入捕获时 没有配置的通道(PC7 TIM8CH2)的数据 会影响到配置的通道(PC6 TIM8CH1) 经过排查后发现问题的原因是因为定时器的输入捕获IO没有进行上下拉设置,导致引脚浮空,同时 在硬件结构上 这两个引脚又比较靠近,从而导致了 相互之间的影响,要解决这个问题也很简单,只需要把引脚配置一下下拉 这样仅仅依靠寄生电容电感等引起的变化就不会导致相...原创 2019-04-02 19:43:38 · 1416 阅读 · 0 评论 -
日记--08.19 一种 keil5 锁死 STM32F103C8T6的 解决方法 Flash Download failed - "Cortex-M3"
先前 画的一款 电机驱动板, 今天总算有时间调试了,,, 效果如上, 实验室里面的洗板水用没了。。。。 没有办法收拾的干净了, LED 没了。。。 接线端子 开关也没了。。。 条件很艰苦进入 正题 , 上图主控是 STM32F103C8T6 就是网上卖的最便宜的那种。出现的问题时 keil 下载不进去程序。提示是这样玩的我先用j-link 自带的工具j-flash 进行...原创 2019-08-19 12:28:53 · 4909 阅读 · 1 评论 -
日记 07.03 画电路板
学弟带着我参加了一个中国机器人大赛,我这次还是画电路板,做底层程序!。。。。四路直流减速编码电机(MC33886 *4)主控制 Stm32F407VET6舵机供电部分 使用的是 XL4015(输出电流 max 5A)传感器部分 XL4015 *1 (这一部分有点偷工减料 不过主要是给灰度供电的,问题应该不大。。。)已经下单了!嘉立创 5元打样!...原创 2019-07-03 20:13:06 · 450 阅读 · 0 评论