李肖遥的专栏

一个逍遥不羁的码农,微信公众号「技术让梦想更伟大」

  • 博客(1637)
  • 资源 (5)
  • 收藏
  • 关注

原创 开干!逍遥的小蜜圈

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥Who Am I 大家好,我是「逍遥的小蜜圈」星球的星主,如果大家关注我早一点,一定看了我的简单的自我介绍,关于我 — 聊...

2020-12-13 15:30:06 1854 10

原创 【技术让梦想更伟大】专辑 | 原创汇总

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥想做一个有态度的公众号,原创是我的态度,这样的话不仅自己可以学习到新的知识,巩固自己所学,也可以与大家一起分享。做公众号一...

2020-12-08 22:14:00 1852 7

转载 SoC的核间通信机制-->mailbox

大家好,最近在学习Soc,对于mailbox,这个东西其实看到了很多次,但是一直不知道是啥。这里大概看了一下,知道了为甚有这个玩意儿,以及这个玩意相关的有啥,至于具体怎么使用,以及详细的工作原因等着以后再说吧。

2024-09-12 22:08:55 169

转载 一个仿Linux分层架构实现的MCU通用框架!

关注、星标公众号,直达精彩内容排版 | 嵌入式应用研究院素材来源|Github开源社区????【未来展望:嵌入式优质项目盛宴】????想象一下,当智能设备的每一次精准响应,背后都蕴含着复杂而精妙的嵌入式系统设计,那份成就感与满足感,是否已让您跃跃欲试?在接下来的日子里,我们将陆续解锁一系列嵌入式领域的优质项目,从基础原理到实战应用,从经典案例到创新方案,全方位、多角度地满足您对技术的渴望与追求。每一个项目,...

2024-09-11 22:10:47 97

转载 C语言函数宏怎么定义?

关注、星标公众号,直达精彩内容1. 函数宏介绍函数宏,即包含多条语句的宏定义,其通常为某一被频繁调用的功能的语句封装,且不想通过函数方式封装来降低额外的弹栈压栈开销。函数宏本质上为宏,可以直接进行定义,例如:#defineINT_SWAP(a,b)\inttmp=a;\a=b;\b=tmp但上述的宏具有一个明显的缺点:当遇...

2024-09-08 22:08:24 140

转载 特斯拉UWB数字钥匙,是怎么一步步被黑的

关注、星标公众号,直达精彩内容汽车进入系统正在迅速发展——从传统钥匙到先进的遥控无钥匙进入 (RKE) 系统和智能钥匙系统(也称为被动无钥匙进入 (PKE) 系统或被动进入被动启动系统 (PEPS))——既带来了便利,也带来了新的安全挑战。随着汽车盗窃的技术升级,强大的安全解决方案变得至关重要。超宽带 (UWB) 技术正在成为汽车安全领域的游戏规则改变者。与蓝牙和射频识别 (RFID) 不同,UW...

2024-09-06 22:11:41 462

原创 bit-fields 生成macros

Bit-fields macros是在C或C++语言中,‌利用宏定义(‌macros)‌来方便地创建和操作位字段(‌bit-fields)‌的一种方式。

2024-09-05 22:11:01 534

转载 MIPS 字节对齐问题

在MIPS 体系结构中,正常的加载和存储必须对齐,半字必须从2个字节的边界加载,字必须从4个字节的边界取出,加载一个非对齐的地址会导致CPU 陷入异常。例如,lh 读取一个半字时,存储器的地址必须是2 的整数倍,lw读取一个字时,存储器的地址必须是4的整数倍,sd 写入一个双字时,存储器的地址必须是8 的整数倍。函数执行的打印如下,除了两条TLV消息的偏移地址不一样外,其它信息打印的都一样,但是第二条TLV数据(地址为0xc38baf7f)非2字节对齐,pstMsg->type < 0x300 判断为假。

2024-09-04 22:08:58 95

转载 推荐给嵌入式工程师一些常用软件工具

关注、星标公众号,直达精彩内容原文:https://sneak.blog.csdn.net/article/details/131803087常言道:工欲善其事,必先利其器。作为一名合格的嵌入式工程师,日常可能需要接触和处理各种奇奇怪怪的问题,这时候一款高适配性的工具将会令工作效率大大提升。根据个人的实际使用情况与粉丝的客观感受,为大家推荐几款嵌入式开发常用的软件,如下图示:Part1Visual...

2024-09-03 22:12:33 2195

转载 成为软件部门的扛把子了~

关注、星标公众号,直达精彩内容正文来源 |高效程序员软件开发如何独挡一面这个话题,这是一个很大的话题,分成三部分来谈:需求转换的能力或者叫理解需求的能力;分配时间的能力;开发质量的问题;为什么把时间分配优先级放到代码质量的前面呢,原因主要有两个:1.如果时间把控的好,即使功能有点问题,也是有时间来修复,相反即使程序代码质量再高,到了完成的时间节点没有完成,那就是灾难性的。2.代码质量是通过时间的...

2024-09-02 22:13:38 46

转载 这个来自华为的测试“女侠”,太强了

关注、星标公众号,直达精彩内容如何成为一名测试“女侠”?文 | 万秀娟2011年10月的某天,我背着包从实验室往宿舍走,两声清脆的短信提示音划破了夜的宁静。我掏出手机一看,是华为的校招录取通知,“恭喜”两个字映入眼帘——尘埃落定,我开启了华为的初体验。2012年7月盛夏,在摇摇晃晃的绿皮火车上,我体验了人生中的首次远行。下火车的那一瞬间,深圳的潮热空气毫不吝啬地拥抱了我。到百草园办理入住,紧接着就...

2024-08-31 22:12:43 286

转载 马上35,最后一次跳槽?

‍‍先说明,文中描述的人不是作者自己我是今天在下班吃饭的时候,一个很久不联系的朋友给我发消息,说,「我现在有一个不错的offer,犹豫要不要去」。作为一个文字记录博主,我有必要发出来大家一起参谋下一家是个大家熟知的企业,可以用宇宙来形容它的企业,而且这个企业的工牌非常值钱。这朋友是做底层软件开发的,工作了11年,明年就要到人生的关键节点——「35岁危机」。在这家企业干了很多年,曾经做过几个风光亮眼...

2024-08-29 22:08:34 109

转载 一个嵌入式系统的精髓

关注、星标公众号,直达精彩内容这个是在网上看到的一篇文档,作者的目的是设计一个简单的嵌入式操作系统,只实现一个基本任务调度器的功能。正如作者所说,虽然不能称为操作系统,但已体现了小型嵌入式操作系统的精髓。对于我们来说是很好的学习资料,可以从中一窥操作系统的面目,今天分享给大家。多任务机制其实在单一CPU 的情况下,是不存在真正的多任务机制的,存在的只有不同的任务轮流使用CPU,所以本质上还是单任务...

2024-08-28 22:12:55 129

转载 ​​嵌入式中回调函数为什么这么好用?

关注、星标公众号,直达精彩内容一、什么是回调函数1.1、回调函数的定义和基本概念回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。回调函数通常用于事件处理、异步编程和处理各种操作系统和框架的API。基本概念:回调:指被传入到另一个函数的函数。异步编程:指在代码执行时不会阻塞程序运行的方式。事件驱动:指程序的执行是由外部事件触发而不是顺序执行的方式。1.2、回调函...

2024-08-27 22:12:15 87

转载 《黑悟空》是用什么编程语言开发的?

关注、星标公众号,直达精彩内容最近这个“黑神话·悟空”真是火的一塌糊涂,这款被誉为中国第一款3A制作的单机游戏,属实是火出圈儿了,连央视、外交部都纷纷点赞了。话说,你知道黑神话·悟空这款游戏是用什么编程语言开发的吗?答案主要是C++(也用到C#和其他语言)根据游戏开发公司游戏科学官网的显示,《黑神话:悟空》游戏使用的是虚幻引擎(Unreal Engine):而这个引擎的底层源码主要使用的就是C++...

2024-08-24 22:14:42 249

转载 VSCode超棒的摸鱼插件,上班体验感起飞了

关注、星标公众号,直达精彩内容现在使用VsCode编码的人越来越多,凭借着免费、开源、轻量、跨平台的特点收货了一大批忠实粉丝。以其可支持扩展程序(通过安装扩展程序,VSCode可以支持更多新的语言、界面主题、测试器,以及更多的增值服务),而备受广大开发者追捧。除了开发插件外,有哪些可以上班摸鱼的插件呢?这里给大家写一个渔夫指南,汇总10个在VSCode中可以“摸鱼”的好玩插件。如果你知道还有更好玩...

2024-08-22 22:15:00 159

转载 黑悟空员工被疯狂挖角,游戏专业及就业好吗

关注、星标公众号,直达精彩内容《黑神话:悟空》爆火后,制作组的核心员工遭遇了疯狂的“挖角”。有的员工直接改名“不找工作”、“猎头勿扰”……即便如此,许多员工还是被其他游戏公司高薪挖走。那游戏行业真的很缺人才吗?2023年,我国游戏市场实际销售收入达3,029.64亿元,同比增长13.95%。中国游戏市场占全球游戏市场总收入的 27.5%,超过全球游戏市场总收入的四分之一,是全球最大的单一游戏市场。...

2024-08-21 22:12:13 111

转载 C语言printf()函数也有安全隐患

关注、星标公众号,直达精彩内容程序员都知道,也都会使用printf函数,但你知道它也有“安全隐患”吗?下面就来举例我说说:1问题描述打印输出的数据并不是理论值,如下图(右边):2进一步描述问题请细致注意看下面代码,有如以下奇怪的现象:int a=5;floatx=a; //这里转换是没有问题的。%f打印x是 5.000000printf("%d\n",a);printf("%f\...

2024-08-20 22:12:51 103

转载 谈不上惊艳,但行业TOP,谈谈对稚晖君的人形机器的看法

关注、星标公众号,直达精彩内容一年一秀,稚晖君的第二代人形机器人来了。灵巧小手,正在麻将桌上叱咤风云:不对不对,让我们先看看整体气质:然后是常规家务,能看出来也是非常熟练:在大模型风靡的 2024 年,如果说 AI 领域什么最火,「具身智能」这个方向必定位列其中。视线放到国内,「智元机器人」这家具身智能公司备受瞩目。自 2023 年 2 月成立以来,「智元机器人」已马不停蹄地完成了 6 轮融资,迅...

2024-08-19 22:16:34 92

转载 嵌入式中的自动初始化机制

关注、星标公众号,直达精彩内容通常我们写程序都是按照这个套路,一个函数一个函数按照顺序逻辑一个一个的执行下去。如果逻辑非常复杂,涉及的模块比较多,那么这种顺序执行的代码就会比较臃肿,各模块耦合非常紧密。Linux kernel 中,有各种外设驱动,想按照一个顺序逻辑执行下去,几乎是不可能的。而kenrel 代码能有这么大的代码量,大而不乱,把各层次,各模块有效的分离,而大量的代码又有逻辑的组织在一...

2024-08-14 22:15:10 117

转载 嵌入式软件开发真正实用的建议

关注、星标公众号,直达精彩内容一、嵌入式开发中值得注意的几个问题?入职了新公司,最近几天在逐渐熟悉工作环境。总体的感觉还是可以的,硬件配置方面,工位很宽敞、双显示器,这大大地提高了我的工作效率。软件开发的氛围也很不错:第一点是有严格地进行代码版本控制,版本控制对于我们软件方面的工作来说是非常重要的,否则一旦代码丢失,对于个人层面,那就做了很多无用功,对于公司层面,可能会错过产品上市的最佳时期。第二...

2024-08-12 22:22:04 115

转载 buffers与cached 就是这个区别

关注、星标公众号,直达精彩内容free 命令是Linux系统上查看内存使用状况最常用的工具,然而很少有人能说清楚 “buffers” 与 “cached” 之间的区别:我们先抛出结论,如果你对研究过程感兴趣可以继续阅读后面的段落:buffers表示块设备(block device)所占用的缓存页,包括:直接读写块设备、以及文件系统元数据(metadata),比如SuperBlock所使用的缓存页...

2024-08-08 22:13:41 102

转载 嵌入式底层开发,就看能掌握多少了

关注、星标公众号,直达精彩内容来源:《计算机科学精粹》为解决各种问题,人们发明了不计其数的机器。嵌入式设备种类繁多,从嵌入火星漫游机器人的计算机到为操纵核潜艇导航系统的系统,不一而足。冯• 诺伊曼在1945 年提出第一种计算模型,无论笔记本电脑还是电话,几乎所有计算机都遵循与这种模型相同的工作原理。那么你们了解计算机是如何工作的吗?本文将讨论这些内容:◎ 理解计算机体系结构的基础知识◎ 选择编译器...

2024-08-07 22:13:10 108

转载 嵌入式C保护结构体的方式

关注、星标公众号,直达精彩内容掩码结构体宏的实现,本质上就是使用一个掩码数组 chMask 把结构体保护起来。用法可以结合大佬的PLOOC使用示例及其基于C语言的面向对象编程-傻孩子.pdf(本公众号聊天界面回复:基于C语言的面向对象编程)来一起看:https://github.com/GorgonMeducer/PLOOC同样,也可以结合使用不完全类型(Incomplete Types)来保护结...

2024-08-06 22:16:09 78

转载 用这款工具分析单片机跑RTOS的运行情况

关注、星标公众号,直达精彩内容来源 |瑞萨嵌入式小百科相信很多小伙伴都听说过,或者用过SystemView这款工具。它是一个可以在线调试嵌入式系统的工具,它可以分析RTOS有哪些中断、任务执行了,以及这些中断、任务执行的先后关系。还可以查看一些内核对象持有和释放的时间点,比如信号量、互斥量、事件、消息队列等,这在开发和处理具有多个线程和事件的复杂系统时尤其有效。本文以瑞萨RA6M4单片机 + R...

2024-08-01 22:14:21 124

转载 递归调用被这13道题整明白了

关注、星标公众号,直达精彩内容1.汉诺塔:请输入盘子数,输出盘子移动的操作步骤。#include <stdio.h>voidmove(charfrom,charto) { printf("%c to %c\n",from,to);}voidhanoi(intn,chara,charb,charc) { if(n==1) ...

2024-07-31 22:14:25 97

转载 不容忽视的嵌入式软件兼容性问题

关注、星标公众号,直达精彩内容嵌入式项目中,软件是一个不断迭代的过程,需要考虑各种兼容性。之前我们的项目,因为这方面考虑得比较少,导致项目中后期开发起来很被动。项目系统总体设计阶段,应尽可能地考虑到未来可以遇见的情况,覆盖到尽可能多的业务扩展。项目虽然分阶段开发,各个阶段完成的功能都不一样,总体设计要指向最终的需求。数据兼容性1、协议制定制定的协议要满足整个项目所有数据的交互。比如:这里的 ID ...

2024-07-30 22:09:16 84

转载 嵌入式系统内存终于搞明白了

关注、星标公众号,直达精彩内容内存内存是计算机中用于存储和读取数据的设备,它由一系列连续的存储单元组成,每个存储单元都有一个唯一的地址。内存可以分为主存和辅助存储器两种类型。主存是计算机中直接与CPU进行数据交换的部分,通常是指随机访问存储器(RAM,Random Access Memory)。辅助存储器则是用于长期存储数据的设备,如机械硬盘、固态硬盘(SSD,solid-state drive)...

2024-07-29 22:10:21 198

转载 利剑级别的C语言工具代码示例

关注、星标公众号,直达精彩内容嵌入式开发中常用的C语言工具代码确实很重要。以下是一些利剑级别的C语言工具代码示例,以及它们的简要讲解。1、循环队列(Circular Buffer)typedef struct { int buffer[SIZE]; int head; int tail; int count;} CircularBuffer;void push...

2024-07-25 22:13:43 95

转载 内存常见划分区域,怎么快速记住?

关注、星标公众号,直达精彩内容看到有小伙伴在讨论关于单片机内存的话题,今天就结合STM32给大家描述一下常见的划分区域。在一个STM32程序代码中,从内存高地址到内存低地址,依次分布着栈区、堆区、全局区(静态区)、常量区、代码区,其中全局区中高地址分布着.bss段,低地址分布着.data段。总的分布如下所示:内存高地址栈区堆区.bss段.data段常量区内存低地址代码区一、栈区(stack)临时创...

2024-07-24 22:14:13 113

转载 终于是搞懂DMA原理了

关注、星标公众号,直达精彩内容DMA的基本介绍什么是DMA (DMA的基本定义)DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,CPU无时不刻的在处理着大量的事务,但有些事情却没有那...

2024-07-23 22:16:56 672

转载 看来大部分公司的嵌入式软件只有debug版本

关注、星标公众号,直达精彩内容大部分开发工具或者IDE中都为你创建的工程配置为debug和release两个版本,字面上很好理解,一个用于调试debug,一个用于发布release,那么是不是很多伙计都是debug版本用到老?那么今天聊聊release的必要性吧。1两个版本的通用解读在大型嵌入式应用软件开发中,如linux应用程序,这两个版本类型主要针对软件开发在不同阶段的构建过程的一些优化和设置...

2024-07-20 22:11:31 73

转载 嵌入式工程师常用的软件工具推荐(全)

关注、星标公众号,直达精彩内容常言道:工欲善其事,必先利其器。作为一名合格的嵌入式工程师,日常可能需要接触和处理各种奇奇怪怪的问题,这时候一款高适配性的工具将会令工作效率大大提升。作者根据个人的实际使用情况与粉丝的客观感受,为大家推荐几款嵌入式开发常用的软件,如下图示:Part1Visual Studio CodeVS Code是一个由微软开发且跨平台的轻量级代码编辑器,全称为Visual S...

2024-07-19 22:13:20 376

转载 MCU中断延迟时间测试

本次测试程序配置SysTick计数模式为向上计数,且选择HCLK作为时基,当计数器值与比较寄存器值相同时,会触发中断,此时SysTick计数器会重新从0开始计数,在中断第一时间读取SysTick计数器的值,然后减去汇编指令的执行周期,剩余就是中断的延迟响应时间。通常MCU程序在SRAM运行的时候,是标准的零等待时间,但程序放到FLASH运行的时候,系统设置不同主频的时候,所对应的等待周期是不一样的,比如STM32F103,当系统主频在0-24MHz的时候,0等待周期;//计数器复位,设置初始值为0。

2024-07-18 22:04:10 33

转载 一家不应被忘却的芯片公司

关注、星标公众号,直达精彩内容来源:内容由半导体行业观察(ID:icbank)编译自techspot大多数人无疑都熟悉英特尔、AMD、高通、IBM、德州仪器,甚至可能是威盛,但还有另一家前身芯片制造商您应该了解:Cyrix。在近十年的大部分时间里,Cyrix 以实惠的价格将个人计算带给了数百万人。然而,该公司最终因其最佳产品和芯片无法运行热门游戏而倒闭,随后又与一家更大的合作伙伴进行了灾难性的合并...

2024-07-16 22:08:31 78

转载 UWB芯片,是生是死的挑战~

关注、星标公众号,直达精彩内容来源:内容由半导体行业观察(ID:icbank)编译自smartphonemagazine创新的 UWB 芯片技术正在改变消费电子产品格局。UWB 芯片设计的突破性进展将彻底改变消费电子行业,标志着向增强产品集成度和功能性迈出了重要一步。传统芯片技术的时代已经一去不复返,因为新的 UWB 芯片有望在各种应用中提供无与伦比的性能和多功能性。超越传统界限与传统芯片不同,尖...

2024-07-14 22:10:36 58

原创 年底13薪真的分摊到月薪了

关注、星标公众号,直达精彩内容中午问了几个在腾讯的朋友,都说调薪是真的。据了解,这次调整涉及到两个方面,均为基于员工的具体诉求针对性调整。将服务奖均摊到每月月薪,增强月度现金流;将易居计划补贴纳入月薪,确保相关员工收入持续稳定。对员工而言,此次调整的好处有两个方面服务奖和租房补贴纳入月薪后,会直接提高员工的月收入水平,及时到账的现金多了,方便大家更好地根据个人需求进行资金安排;间接带来一系列长期利...

2024-07-11 22:11:57 395

转载 分享一个开源的智能手表项目

关注、星标公众号,直达精彩内容这是一个非常完整的智能手表开源项目,功能齐全,且资料开源,如果你是:自己平时喜欢diy的工程师,想要提升开发技能的学生,马上要做毕设的大四学生,这个手表很值得一做,别错过了~~所有开源的资料以及原文链接见文末。先来看下这个手表的功能:首先,是一个可以佩戴的手表可以充当紧凑的无线访问设备,控制所有物联网设备还具有可交换的 MAC 地址、扫描 WiFi 网络的能力内置距离...

2024-07-10 22:11:26 209

转载 嵌入式软件如何提高可移植性?

关注、星标公众号,直达精彩内容对于有经验的老司机来说,写代码都会注重代码的可移植性,目的除了方便他人之外,主要还是方便自己,避免自己给自己留下坑。这里就给大家分享一下嵌入式代码增强可移植性的一些要点。1、分层设计,隔离平台相关的代码。就像可测试性一样,可移植性也要从设计抓起。一般来说,最上层和最下层都不具有良好的可移植性。最上层是GUI,大多数GUI都不是跨平台的,如Win32 SDK和MFC。最...

2024-07-09 22:13:48 69

转载 积累了100多个嵌入式软硬件开源项目

关注、星标公众号,直达精彩内容一、OS鸿蒙OS:一款面向全场景的开源分布式操作系统。RT-Thread:一款小而美的物联网操作系统。TencentOS tiny:一款面向物联网领域开发的实时操作系统。freertos:一个轻量级的操作系统。µC/OS :一个功能齐全的嵌入式操作系统。mbed-os :ARM自己打造、主打IoT的一整套软件解决方案 。BabyOS:专为MCU项目开发提速的代码框架 ...

2024-07-08 22:08:12 65

状态机的C语言经典实现

关于状态机,基础的知识点可以自行理解,讲解的很多,这里主要是想写一个有限状态机FSM通用的写法,目的在于更好理解,移植,节省代码阅读与调试时间,体现出编程之美。

2020-12-08

SPSS-RFM分析建模操作手册与数据

做RFM分析的时候要知道RFM分析的数据格式有两种:   一种是交易数据,也就是每次交易占用一行,关键变量是客户ID、交易日期和交易金额;   另一种是客户数据,就是每个客户占用一行,关键变量是客户ID、交易金额、交易次数和最近交易日期。 为了保证数据的准确性,建议采用交易数据格式进行分析,实际上交易数据是可以整理成为客户数据的,而客户数据是无法还原为交易数据的

2018-08-31

modus通信协议C 语言实现

Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动

2018-08-11

Ymodem协议C语言实现

XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。

2018-08-11

空空如也

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

TA关注的人

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