
嵌入式
文章平均质量分 90
羽林均
这个作者很懒,什么都没留下…
展开
-
分享自己平时使用的socket多客户端通信的代码技术点和软件使用
今天想分享一些socket编程的例子,socket嵌入式。linux开发很常用,用于进程间通信很方便,也有很多介绍,今天我也也来做自己的介绍分享。和别人不一样的地方,我主要想分享socket 服务端在linux写的代码,使用vscode调试执行,并且同时分享自己使用tcp监控软件去判断socket通信正确性。...原创 2022-06-25 13:06:36 · 1001 阅读 · 0 评论 -
基于GCC的编译器的优化等级的执行原理
作者:良知犹存转载授权以及围观->欢迎添加WxId:Allen-Iverson-me-LYN前情提示:在使用基于GCC做编译器的IDE的时候,在很多时候我们会选择不同的Optimize优化等级,不同的优化等级,在Debug中我们发现程序执行的逻辑和我们设定的代码执行流程并不是很一致,甚至有时候差异巨大。所以我们来基于GCC介绍一下编译器优化执行的逻辑。取自于官网:https://...原创 2020-03-27 00:25:14 · 888 阅读 · 0 评论 -
单片机数字滤波算法一些分享-实践思考
单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。但在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算。--------------------------------------------这不最近就遇到这样一个情况,硬件工程师做了一个项目中的传感器,正常去捕捉一个上升沿的时间,但是因为硬件做到去掉一些抖动,所以需要软件进行一次滤波。我大致会进行一个捕获时间判断,如果前后两次捕获时间过于短暂,我们进行一次滤波,把一些时间数据进行合并。...原创 2022-01-04 20:10:55 · 462 阅读 · 0 评论 -
SSH远程登录软件的使用教程
作者:良知犹存转载授权以及围观->欢迎添加WxId:Allen-Iverson-me-LYN 传统的网络服务程序,如:ftp 和telnet 在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而通过使用 SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的偷听。同时通过 SSH的数据传输是经...原创 2020-04-02 17:36:56 · 404 阅读 · 0 评论 -
linux下定位异常消耗的线程实战分析
之前分享过一篇Linux开发coredump文件分析实战分享 ,今天再来分享一篇实战文章。在我们嵌入式linux开发过程中,开发过程中我们经常会使用多进程、多线程开发。那么多线程使用过程中,我们大概率会遇到某线程长时间占用cpu,导致设备执行异常。通常只有四五个线程,我们可以通过一个个线程调试捕捉到异常线程,如果你开发的设备上面运行了大概三四十个线程,我们一下子不好看到对应哪个线程出问题,也不好使用列举法进行搜索,这个时候我们需要配合一些工具进行监控以及检查我们执行的进程下面的线程。下面我就给大家介原创 2021-12-05 16:23:12 · 1453 阅读 · 0 评论 -
博主日常工作中使用的shell脚本分享
前言:今天给大家分享一篇在我工作中常用的一个shell脚本,里面有一些我们常用到的shell操作。该脚本用于本地电脑和服务器交互上,实现以下功能:自动拉取自己个人电脑上的源码到服务器上yocto包的源码文件夹。自动运行compile 、strip自动把编译好的结果回传到个人电脑上。拷贝执行文件到机器中作者:良知犹存转载授权以及围观:欢迎关注微信公众号:羽林君或者添加作者个人微信:become_me情节介绍:在工作中,我们经常会遇到需要把修改的代码放到服务器去编译,然后把编译好的文.原创 2021-11-15 09:43:19 · 2215 阅读 · 0 评论 -
ubuntu降低你使用的内核到指定版本
前言:今天给大家分享一篇ubuntu更换内核的系列文章之一。为什么要换内核呢,这个对于我们大部分人有一样的原因,例如你要跑的某个包只能在某一个特定的内核版本,或者你升级了你的ubuntu内核导致你的电脑驱动等出现问题,所以你需要更换你系统的内核。作者:良知犹存转载授权以及围观:欢迎关注微信公众号:羽林君或者添加作者个人微信:become_me情节介绍:我也遇到类似的问题,在解决问题的过程中,发现和网上的文章有些不一样,甚至有些操作可以让我们更快的更换内核。所以特来分享一下。这里我就是按照自己.原创 2021-11-02 23:39:21 · 5585 阅读 · 0 评论 -
hk32(航顺)标准库使用spi3复用功能的问题
前言:今天给大家介绍一下自己在使用航顺32芯片中遇到的一些问题。我用的是航顺的HK32f103VET6的一颗芯片,其中使用其中SPI3外设复用功能时,发现对应官方库的宏定义有些错误。遂给大...原创 2021-10-05 16:28:11 · 889 阅读 · 0 评论 -
stm32-HAL使用stop模式后DMA初始化的问题
前言:stm32是嵌入式MCU开发中最多应用的芯片,很早之前我们开发ST芯一般都是标准库开发,标准库简洁好读,现在要配合CubeMX生成代码,所以官方主推HAL库和LL库,但是HAL代码冗...原创 2021-10-03 23:57:19 · 2150 阅读 · 2 评论 -
stm32-HAL使用usart发送中断判断发送库的一个问题
前言:stm32是嵌入式MCU开发中最多应用的芯片,很早之前我们开发ST芯一般都是标准库开发,标准库简洁好读,现在要配合CubeMX生成代码,所以官方主推HAL库和LL库,但是HAL代码冗...原创 2021-10-03 23:57:19 · 1609 阅读 · 0 评论 -
一次小模块的使用过程-LC12S无线模块介绍
前言:最近帮人做了个小设备,使用了无线模块、触摸芯片,主要功能就是把触摸按键的信号无线传到控制继电器输出,MCU是STM8系列的芯片,其中使用过程中调试无线模块LC21S觉得挺好用的,就写了这篇文章。作者:良知犹存转载授权以及围观:欢迎添加微信公众号:羽林君模块介绍:LC12S 采用最新 2.4G SOC 技术,特点是免开发,视距 120 米,收发一体无需切换,串口透明传输,提供通信协议,可迅速调试成功。用户只要了解串口通信,无需复杂的无线通讯知识,就能完成无线通信产品的开发。没有数据包.原创 2021-02-05 23:49:43 · 2961 阅读 · 6 评论 -
正点原子DS100手持示波器测试记录
哪个男孩子不想拥有这样一台数字示波器呢?原创 2021-01-21 22:36:55 · 11071 阅读 · 7 评论 -
CPU中的程序是怎么运行起来的(预告篇)
作者:良知犹存转载授权以及围观:欢迎添加微信公众号:Conscience_Remains总述最近一位朋友问我,我开发的代码是怎么运行起来的,我就开始给他介绍代码的预编译、汇编、编译、链接然后到一般的文件属性,再到代码运行。但是大佬问了我一句,CPU到底是怎么执行到每一个逻辑的,就讲了哈CPU的架构。这是时候真的有些迷了,虽然有模电数电的底子,但是自己都说迷糊了,汇编怎么对应到机器码再到怎么执行每一个逻辑。所以我想了想,我可以写一篇文章,从我嵌入式开发的工作中去描述一下CPU...原创 2020-09-03 08:58:24 · 310 阅读 · 0 评论 -
alpha、beta、rc这些发布的版本各自含义
作者:良知犹存转载授权以及围观:欢迎添加微信公众号:Conscience_Remains总述我们经常可以各种开源和商业的软件发布了版本,这不Linux和QT也发布了新的RC版本,那么你知道RC代表了什么意思吗?下面我也找了些资料,给大家就来介绍一下常见的软件版本名称的含义。一、开源软件常用的名称alpha版:内部测试版。α是希腊字母的第一个,表示最早的版本,一般用户不要下载这个版本,这个版本包含很多BUG,功能也不全,主要是给开发人员和 测试人员测试...原创 2020-08-30 19:00:08 · 905 阅读 · 0 评论 -
结构体、联合体的成员内存对齐的情况
作者:良知犹存转载授权以及围观->欢迎添加WxId:Allen-Iverson-me-LYN 最近项目进行中,遇到一个小问题,在数据协议传输过程中,我为了方便解析,就定义了一个结构体,在数据的指针传入函数的时候,我用定义好的结构体进行强制转化,没想到一直解析失败,调试很久,终于反应过来,在用结构体指针对数据强制转换时,定义结构体我没有注意到数据对齐,因为在底层实现中,我传...原创 2020-03-22 00:55:15 · 425 阅读 · 0 评论 -
source insight 4.0使用
source insight 4.0.086 使用原创 2020-03-20 13:35:56 · 201 阅读 · 0 评论 -
解决程序堵塞的优化方法(二)
本文链接上篇继续叙述,如果没有看到看一篇的,大家可以点击传送门观看。总述 1.通过运用RTOS,线程里面调用系统提供的延时等函数,实现解决阻塞。2.全局变量方法,定时器计数条件判断替代延时。3.使用状态机方式,分解动作,替代延时实现。4.使用链表式,与第三种相似。三、状态机法 状态机执行与全局变量的区别在于,状态机的方法是更进...原创 2020-02-23 22:57:42 · 872 阅读 · 0 评论 -
解决程序堵塞的优化方法(一)
刚开始学习写嵌入式的代码,例如在单片机上控制LED灯500ms亮灭,因为属于初学,对于MCU运行效率没有要求,所以大部分的教程都是delay_ms(500)。平时在一些基本调试没对我们没有影响。但是我们需要了解,当程序使用大量类似delay形式的函数对程序造成严重阻塞。 以delay延时函数为例:一般程序写都是通过while()或者for()条件判进行断循环累加,如果延时函数...原创 2020-02-22 23:46:02 · 4090 阅读 · 0 评论 -
嵌入式底层开发的软件框架简述
在底层代码编写中,在初始的框架设计总会面临选择,针对实际的硬件使用环境大家对于使用的软件框架有些难以选择,今天我简单描述一些比较常用的架构。1.简单的顺序执行程序:这类写法是大多数人使用的方法,不需用思考程序的具体架构,直接通过执行顺序编写应用程序即可。2.前后台执行程序:在顺序执行的情况上增添中断前台处理机制,配置顺序执行的后台大循环程序,组合成可以实时相应的程序。...原创 2020-02-21 00:02:14 · 3748 阅读 · 0 评论 -
如何更好的去学习STM32呢?(一)入门提示
从大学开始自己学STM32到现在工作已经,近四年了。从刚开始的看着看着就能睡着,到后来每天可以熬夜去渴望去学习。期间走了不少弯路,但是现在算是走出来了,所以交流哈我学习的历程,以及学习中各种门类的资源,希望可以对于初学者有些帮助。 刚看STM32相信大部分人是初步从51转过来,甚至有部分是老师直接推荐过来。这时候大家对于C语言属于一个初窥门径的阶段,所以对于STM32这种函数封装会有...原创 2020-02-10 01:21:55 · 1344 阅读 · 0 评论 -
STM32 KEIL里的MAP文件分析
一、要让Keil生成map文件,要设置:再重新编译,没有错误后,就会生成map文件了。二、map文件中相关概念:段(section) :描述映像文件的代码和数据块。RO:Read-Only的缩写,包括RO-data(只读数据)和RO-code(代码)。RW:Read-Write的缩写,主要是RW-data,RW-data由程序初始化初始值。ZI:Zero-initialize...转载 2019-10-18 15:03:41 · 1877 阅读 · 0 评论