- 博客(32)
- 收藏
- 关注
原创 嵌入式面试-1114
SPI我在录音笔,仪表项目里面都用的多,比如 录音笔里面对接Flash芯片存音频,仪表里对接LCD屏幕,SPI FLash,它的特点很明显:快,稳定 ,全双工,快是因为同步通信 ,有独立 的时钟线,sclk, 发送方控制节奏,接收方跟着采样,我用过最快的速率是20MHz,比I2c快多了,稳定 是因为抗干扰强,比如 电动车仪表里面的电磁干扰大,SPI的差分时钟能减少干扰,全桑葚就是能同时收发数据,比如一边给LCD发显示数据,,一边从Flash读配置,不耽误事。2:网络协议七层模型的了解及实际使用的协议。
2025-11-17 20:05:58
334
原创 嵌入式面试1113
静态变量 static修饰,局部 全局都可, 局部静态:仅限所在函数,全局静态,仅限当前.c文件 程序启动时创建,程序结束时销毁,全程存活 全局、静态存储区。tcp报文头就像是快递单,源端口,目的端口是寄件人,收件人电话,序列号 确认号,是快递编号,控制位是操作类型,比如寄件 确认收到 ,窗口大小是收件人能接收的快递数量上限。程序崩溃,比如段错误,用gdb ./test启动后,run触发崩溃,bt 查看调用 栈,就能知道是哪个函数,哪一行出的问题。,避免建立无效连接,用打电话类比。
2025-11-14 09:14:11
157
原创 嵌入式开发-1111
上电开始,然后初始化时钟和外设,显示环境参数,开始等待接收控制命令,查看是否接收到了控制命令,没有接收到,读到环境参数,参数是否改变,没有改变,再次等待接收控制命令,如果改变了,就更新参数 ,然后显示环境参数。内存管理理解:C语言内存分栈,堆,全局,静态存储区,常量区,栈存局部变量,函数参数,系统自动管理;排查代码,是循环条件错误 ,修改循环边界后问题解决。裸机式即程序是顺序执行的,在一个大循环中,不断的轮询执行程序,完成功能,在一般的嵌入式应用中,任务小,数据小的项目使用这种结构即可。
2025-11-11 15:41:53
221
原创 嵌入式面试1104
3:拆解功能点:把模块功能拆成小块(比如传感器的初始化,启动测量——读数据-休眠),并逐个研究每个步骤的细节(比如读数据时寄存器地址是什么,返回值怎么解析 ),用调试工具(示波器看波型,print打印数据)验证。2:建立连接:扫描者想和广播者通信时,发送连接请求,双方协商好通信信道,间隔(多久发一次数据)等参数,建立稳定连接(主从关系,主设备控制通信节奏)。任务状态:任务就绪(等CPU),运行(用CPU),阻塞(等延时,信号量),挂起(暂停)四种状态,调度器只从”就绪态“任务里面选下一个运行的任务。
2025-11-04 11:13:35
565
原创 嵌入式面试1103
我是一名有8年嵌入式开发经验的工程师,主要聚集于单片机固件开发和实时系统应用,熟悉c C++ 和freeRtos,常和stm32 arm架构的芯片打交道,工作中做过底层驱动比如 串口,spi, dma,也搭建过系统框架,比如多任务调试,设备状态管理,习惯从硬件特性出发设计软件,注重 代码的可维护性和系统的稳定性,平时喜欢钻研芯片手册 和调试工具,解决过不少内存溢出,中断冲突这类的底层问题。
2025-11-03 17:12:09
601
原创 嵌入式开发面试题目-1031
我是一名专注于嵌入式开发的工程师,有8年相关经验,主要做MCU固件开发,外设驱动和系统调试这些工作。平时常用 C语言,对RTOS,串口,DMA这些硬件接口比较熟悉,做事习惯从实际需求出发 ,注重代码的稳定性和资源利用率。
2025-10-31 12:14:32
432
原创 嵌入式面试
我是一位有8年嵌入式 软件开发经验的工程师,主要专注于嵌入式系统开发,C/C++应用开发等,擅长从需求分析到代码实现,性能优化的全流程工作,平时 习惯通过调试工具和代码审查把控质量,注重 内存和资源 的高效利用,在rtos开发,端侧应用优化等方面有实际项目经验,团队协作 中喜欢主动沟通,确保技术 方案贴合业务 需求。
2025-10-30 11:59:13
366
原创 A2DP协议
A2DP advanced Audio Distribution Profile 高级音频分发配置文件 ,是蓝牙协议 栈中的一个重要协议 ,主要用于实现蓝牙设备之间高质量音频流的无线传输,例如将手机,电脑等市属国的音频通过蓝牙传输到蓝牙耳机,音箱等设备。
2025-10-10 11:31:42
326
原创 zephyr 看门狗机制
上层的喂狗逻辑-》zephyr WDT标准API (wdt_feed)->驱动层实现 wdt_acts_feed->硬件操作 写WD_CTL寄存器。源码中的wdg_acts_feed是硬件喂狗的底层实现,但它不会自动 执行,必须由上层代码通过Zephyr标准接口调用 ,才能触发 喂狗动作。TASK_WDT_BACKGROUND_CHANNEL:虚拟通道 ,用于在没有任务超时的时候定期喂硬件看门狗。wdg_acts_feed 喂狗核心 操作(写wdt控制寄存器的WD_CTL_CLR位清零计数器)
2025-09-29 20:44:02
420
原创 LAYER_INITCALL宏
宏的最后=func 表示,将初始化函数func的地址 ,赋值给_zinitcall_##layer##_##func 这个函数指针变量,最终效果是把func的地址 存到了section指定的段中。用LAYER_INITCALL注册的函数,若模块被裁剪,如spi_driver.c没有加入 编译,对应的段会自动消失 ,不会影响其它初始化流程,传统手动调用 会导致 编译错误(未定义函数)func 要注册的初始化函数,如硬件驱动初始化,系统服务启动函数 spidriverInit SPI驱动初始化。
2025-09-28 19:05:23
762
原创 单片机之间的双向通信
执行现程序的过程中,出现某些急需处理的异常情况或特殊请求,cpu暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动 返回到现行程序的断点处,继续执行原程序。甲单片机通过按键可以控制乙单片机的LED灯,而乙单片机通过可以让连接甲单片机的数码管数字自增加一。通信双方必须要有相同 的波特率,通过发送中断标志 和接受中断标志 空缺发送帮接受的进行。
2025-04-27 20:48:04
542
原创 对open harmony 子系统 一个单元测试用例的详细分析
F代表测试夹具相关的测试,通常用于有测试夹具 的场景 ,测试夹具指的是在多个测试用例中共享的测试环境设置,在这段代码中EventFilterHandlerTest 类就是测试夹具。将filter1,filter2,filter3 依次添加到handler对象的filters_容器中,filters_容器是EventFilterHandler类中的用于存储所有 输入事件过滤器的成员变量,通常是一个std::vector类型的容器。以下是对这行代码中各个部分的详细解释。
2025-04-13 21:42:26
835
原创 open harmony多模组子系统分析
multimodalinput是open harmony的核心输入子系统,负责统一管理触摸屏,键盘,鼠标,手势,传感器等多种 输入源,提供标准化事件分发机制。其核心 目标是通过统一的事件处理框架,实现跨设备,多模态输入的无缝协同。今天我们学习下整个多模组子系统的工作流程,输入事件到应用的传递路径,整个过程涉及从设备驱动到事件处理,再到 分发给应用程序 的整个流程。最终我们总结一下 整个模块的设计思路 ,比如分层 架构,各层之间的接口调用 ,模块如何支持多种 输入设备(如触摸屏,键盘,鼠标等)。
2025-04-13 19:33:18
1109
原创 每日一学 | 2025大华面试题目
现代计算机的内存通常按字节编址,但在访问数据时,并非以单个字节为单位 进行读写,而是以一定的块大小 如4字节,8字节等进行操作,内存对齐就是让数据的存储地址满足特定的对齐要求,通常是数据类型大小 的整数倍。例如,一个int型数据若存储在4字节对齐的地址 上,cpu可以在一次读取操作中获取该数据,若没有对齐 ,可能需要两次读取操作,并进行额外的合并处理。通过预编译,可以对源程序进行初步的处理和转换,为后续的编译过程提供理规范,更易于处理的输入,有助于提高编译效率和代码的可维护性,可移植性。
2025-03-20 09:29:54
452
原创 每日一学:面试题目
主设备在SCL的时钟同步下,将7位的从设备地址 和1位读写控制位读为1,写为0,依次发送到SDA线上,从设备接收到地址 后,会将自己的地址 与接收到的地址 进行比较 ,若匹配则通过拉低SDA线来发送应答信号ACK。若多个线程同时 访问和修改共享资源 ,可能会导致数据不一致 或其它错误,例如,一个线程正在 修改一个全局变量,另一个线程同时读取此变量,就可能 读到不一致的数据。硬件连接:对于TTL串口,将设备的TX与另一设备的的RX相连,RX与另一设备的TX相连,GND连接在一起,VCC连接在一块。
2025-03-19 11:02:53
418
原创 每日一学:面试题目
不过 ,freeRTOS通过一些 机制来实现任务间的保护和资源 管理 ,例如使用互斥信号量来保护共享资源 ,防止任务之间的非法 访问 ,但是这与传统操作系统基于硬件特权级别的用户态和岩代大郎态的区分 是不同 的概念。(1)资源竞争:多个线程同时竞争有限的资源 ,如锁,文件句柄等,当线程A获取了资源 1,线程B获取了资源 2,而此时线程A又需要资源2,线程B需要资源 1,就会发生 死锁。功能:负责处理物理介质上的信号传输,包括电缆,光纤,无线等物理设备的电气,机械特性等,如规定信号的电压,频率,传输速率等。
2025-03-18 10:46:48
469
原创 零功耗下的定时唤醒功能
在没有任务的时候,微控制器进入极低功耗模式(微控制器关机或进入深度睡眠模式)。通过定时器唤醒,执行短暂任务后,进入低功耗模式。
2025-03-10 14:20:43
661
原创 stm32上超声波测距模块的应用
使用stm32单片机配合hc_sr04超声波传感器来精确的测量距离,通过合理的硬件和软件编程,能够有效的捕获超声波的往返时间,并将其转换为距离。
2025-02-26 11:36:59
447
原创 wifi问题排查进展
wifi创建了一个index 12,正确的应该是把rai3 修改为ra11 但是确错误的把rai1 变成 了ra11了。bosa收发光是通过 apd 光电转换器来进行光电转换的,并进行放大作用,来进行收发光,对通信有着重要作用。上层传下来的是ra11 index就是11+16 =27,找不到正确 的对应关系 就转发失败了。1:底层与上层应该有这样 的一套关系对应,重命名也应该是把rai0修改为ra8。port_id 与dev_name对应 起来,否则就有问题。
2024-09-06 18:00:11
212
原创 近期工程问题总结
一个标记用于2.4G口报文入口 标记,同时 vxlan也用了这个标记,我们其它标记报文从哪个 入口 进来是通过 其它方法实现的,vxlan用的话,就把桥转发入口 处的的打标去掉,保证vxlan打标生效。最终的解决办法 就是当前是单播业务 ,在drop点上,只有组播的时候 都会生效,当前是点播,所以没有影响。查看软转发 硬转, 硬转的学习过程,对比好的和坏的,差异,用比较工具比较。ipoe的是组播mac 组播ip 那么这个业务就叫组播。01 第一个字节的最低位是0的mac 为单播。
2024-08-22 20:33:38
259
原创 子网关下机顶盒无法播放的问题
4.256.45 接口上面 ,这个接口没有绑定桥 vlan绑定也可以看出来 ,现象是padi报文 发出来 ,但是没有回应。【如果子的gemport tx 不增加,问题在子上,如果子的gemport tx增加,下一步看主网关的gemport rx统计】相同主网关下,连其它 正常 业务OK的 子网关,这个统计 是否增加?如果 误码跟着子走,先确认 子的光功率是否正常,再让硬件测一下 子网关的 眼图。先看子的单播gemport id,以及 gemport tx是否增加。子的发包统计上,没有问题。
2024-06-26 11:47:39
377
原创 wireshark
wireshark 统计——会话,里面可以分析流量 ,地址 A到地址B (mac地址)可以看到A到B一共有多少个包,多少的字节,持续多长时间。
2024-06-05 09:13:36
431
原创 ppp 拨号过程
ncp 网络层协议 ,网络层参数协商 下发地址 dns。lcp 认证阶段 建立 配置 检测数据链路连接。chap协商阶段:协商通过就会传输数据。发现阶段:在以太网上建立ppp会话。
2024-05-23 15:45:14
321
原创 记一次排查问题方法——双平面
通过 看fdb表,可以看看上行下行学到的vlan是否是一样的,出问题的时候 eth口学习到的vlan是0,与下行的43不一样,导致 报文 洪泛,没有走加速,所以cpu占用率高,导致 播放卡顿。下面stbmac里面有机顶盒的mac说明 里面的option60字段,根据里面的字段来判断是点播还是组播。这个是我们在pon口抓取的报文,另外可以查看配置是否配置进去 ,通过 cat命令查看。机顶盒上有双mac,一个mac用于组播,一个用于点播,问题现象就是点播播放卡顿,下面是机顶盒的mac信息。
2024-05-13 09:36:35
315
原创 养成好习惯
项目经常会遇到一些 紧急的情况,问题环境不在自己身边,在其它城市,遇到测试人员水平不佳 ,表达能力不行,故意谎报问题现象,操作失误,理解用例有误,经常说明天要验收,研发代表催人,项目经理 催,用产品经理压人,吓唬你。pua之类 的话语,这个时候要冷静,别人说什么都不要让自己不淡定,思路清晰,看看问题怎么解决,一步一步的去想,去看问题。做笔记 ,演草本,板书,每天的计划,都很重要。想抗压,就要有好的身体,腰肌劳损,脊椎病,经常是因为还好的坐姿势导致 的。方向二:多运动,多喝水,保持好的坐姿。
2024-05-10 14:25:58
245
原创 测试同事报乌龙问题
欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入MarkdownText-to-HTMLAuthorsJohnLuke。
2024-05-10 10:15:23
1005
原创 没有网络的一小时(8:00-9:00)
没有网络的三个小时(7:00-10:00)晚上睡觉前看了一下微信,确认各个工作群里面有没有领导的消息没有回复。OK,一切都那么的完美,看到几条@其它同事的消息,心里还想着,这要是发生在自己身上,自己是不是就睡不好觉了。不管了,反正没有自己的事情就好了。第二天,早上6点准时醒来,生物钟就是这么完美。醒来第一件事情就是关闹钟,坐起来,看会书,然后上个卫生间,洗漱一下,接着就跟强迫症似的,打开微信,...
2020-04-19 22:37:19
351
原创 关于职场工作
初入职场已经快两年了,总结了几点如下,请参考,因为都是自己亲身经历,所以我都是有血的教训的。职场中不是说你碰到的每个人你都喜欢的,肯定会遇到许多你不喜欢的人,你可能觉得他们说话非常的矫情,好像非常的牛逼,非常的骄傲,非常的理直气壮。但是作为一个职场新人的话,该有的谦虚还是要有的,不管老员工说的对不对,他们毕竟有自己的经验。不对的地方自己私下里改正一下就好了。没有必要争什么一切的理直气壮都是建...
2019-05-14 23:11:47
6667
原创 DHCP release报文16进制 解析
以这张图为例,我们分析一下DHCP这种最基本报文的结构和实现过程以下是dhcp release报文的16进制分析方法,主要是为了人为的构造报文方便而分析的,请参考,主要是针对一开始比较害怕看那种的16进制的东西。后来看懂了,也就那么一回事。Frame 67: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) on in...
2019-05-12 15:54:09
4583
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1