自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 mcu需要完善的文章

1,mcu得低功耗管理。

2024-05-24 21:24:28 255

原创 adc原理,功能详细介绍

一,adc是什么adc是将模拟信号数字化,一段的模拟信号多次采样,转化成数字量二,adc得工作流程采样,转化三,adc的重要特征采样率,多少位(刻度),参考电压,支持多少路常规组,注入组,转化时间四,adc寄存器的一些常规设计和使用五,adc的应用电流采集,电压采集,音频采集 下一步细化 gd32 stm32电流采集和电压采集

2024-05-24 21:22:56 241

原创 嵌入式软件面试经验总结

uart驱动问了,有哪些接口,为什么要一个线程来接受uart数据,为什么不直接在中断里面做,如果有一个高优先级的任务打断了uart任务,会不会接受不过来,数据丢失。考察宏观的产品设计能力,所以回去吧pwm,uart驱动看下,怎么设计的,接口,封装化思想。追锋面试,问了uart驱动怎么设计,spi驱动怎么设计,pwm驱动怎么设计。freertos怎么移植,步骤是什么。用到了哪些freertos的接口。

2024-05-18 11:11:12 204

原创 mcu调试器调试方法讲解

原理:内核ip支持高级调试模块,在断点时,会暂停内核和系统,并读取内核状态和系统状态(数据值,寄存器值,调用关系),并支持恢复内核运行和系统程序运行;JTAG有20pin和10pin的,SWD 4个pin就可以,所以SWD占用更少的引脚。第三方调试器可以是jlink,可以是stlink,可以是国假自主实现的一些调试器,硬件调试接口跟cpu有关。2,watch 查看内存,查看变量地址,怎么知道变量地址,或者直接变量右击add。1,断点调试:代码断点,条件断点,数据断点,trace调试。

2024-05-13 11:19:46 481

原创 MCU复位分析方法

mcu复位的原因一般有,内存溢出,数组溢出,堆栈溢出导致程序跑飞,最终无法完成喂狗,导致异常重启;单步运行,有时候无法找到定位的点就重启了,或者注释了一句人畜无害的话,就不重启了,但是没有找到实际的bug;这里要注意的是reset_temp要定义成全局变量,由于我所有串口都占用了不能输出调试信息,所以要定义成全局变量,使用IDE查看变量的值。可以在主函数的开头加一个断点,程序复位的时候就能立刻看出来了。参考https://www.jianshu.com/p/e155f35d6883。

2024-04-30 18:04:01 270

原创 IAR调试技巧整理

参考如下链接。

2024-04-30 11:18:40 87

原创 MCU任务调度

3,对于低优先级,运动次数不多的任务,可以增加他的休眠时间,给出更多的更多的时间片出来。5,对于长耗时的任务,优化算法和数据结构,减少对内存的使用和计算量,可以提高系统效率。4,对于响应比较频繁而且快小的任务,可以尝试使用中断方式。1,首先长耗时的任务,可能需要分割成多个短一些的任务。2,耗时长一点的任务,可以增加以下时间片时间;时间片,抢占方式,但是有些任务会长耗时;多任务开发时,怎么管理任务的调度。

2024-04-29 10:37:57 113

原创 单片机isp与iap的区别

https://blog.csdn.net/qq_44712722/article/details/130036134?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171411389816800188562481%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=171411389816800188562481&biz_id=0&utm_medi

2024-04-26 14:50:25 110

原创 信号量的原理及使用场景

信号量

2024-04-01 11:31:13 124

原创 git 常用命令管理

git使用

2024-03-29 18:02:42 92

原创 嵌入式软件开发职业发展规划和策略

策略是指怎么去分配配速,什么时段采用什么样的速度,什么时候跟跑,什么时候吃补给,这个是可控已知的;技术是指你跑步硬核能力,这个是你的核心技能,这个是可控已知的;马拉松比赛结果受:技术,策略,运气三个重要重要因素影响。运气是指今天的天气,今天的身体状态,这个不太可控。

2024-03-11 10:20:18 236

原创 嵌入式软件开发常见面试题整理

1,死锁的原因有哪些,怎么防止。

2024-03-07 17:49:06 320

原创 mcu启动过程 bootroom

建立中断向量表:中断向量表作为中断源的识别标志,可以形成相应的中断入口地址,或者中断服务程序的入口地址的偏移量和段基值。初始化堆栈:堆栈的作用就是保护现场(上下文),函数调用或中断发生时,将当前执行地址压栈,调用完再返回执行此次的地址。关闭看门狗:看门狗用来检测应用程序异常跑飞而复位CPU,在初始化阶段,没有“喂狗“的动作,有可能导致CPU 不断的复位,此处需要关闭看门狗。初始化堆栈指针:包括C库所需要的内存空间、程序执行的所需资源、C库初始化。初始化时钟:初始化内核时钟,主时钟和各个外设的时钟。

2024-03-07 17:19:00 592

原创 linux打补丁

有新增删除文件场景下的打补丁。打补丁的命令常见用法。

2024-03-06 14:26:20 81

原创 线程间通信常见方法及使用场景(linux,rtos)

线程间通信常见方法

2024-02-29 10:40:51 213

原创 makfile 常见知识整理

makefile 常见知识整理

2024-02-23 14:35:31 101

原创 i2c协议详解,i2c应用简单入门

c,没有绝对的主,所有都可以是主,所有都可以是从,同一时间只能有一个是主(基于谁先发出 开始信号)1,硬件i2c,是基于芯片ip实现,通过寄存器配置方式实现对i2c设备的通信。d,传输速率大概为400k以内,最大可挂载100个左右的通信设备。各类传感器,触摸屏,以及一些私有模块,通过类i2c协议通信。2,软件i2c,是使用两个gpio来模拟i2c电平信号。b,收发只能单次进行,是半双工通信;a,一根data线,一根时钟线;4,i2c在linux中的应用。5,硬i2c和软i2c。

2023-10-07 16:55:55 44

原创 杰理mcu 超时函数整理 freertos

/需要震动多少次 (usec/1000000L) / 1/(clk_get(“lsb”)/4) = usec/1000000L * clk_get(“lsb”)/4。// (usec/1000000L)划算成秒 1/(主频clk_get(“lsb”)/4(四分频)) = 震动一次的秒数。3,user_udelay(u32 usec) //基于硬件定时器的计时延时,为非阻塞,会引起系统调度。//阻塞函数,不会引起系统调度。1,os_time_dly(),//为非阻塞函数,会引起系统调度。

2023-09-14 15:23:05 502

原创 mcu 链接原理作用及ld文件介绍

链接文件的作用1,设置堆空间大小,栈空间大小,然后根据应用的请求设置栈的位置2,如果使用了外部存储,则设置外部存储的位置和大小3,合并各个.obj文件的section,合并符号表,进行符号解析4,符号地址重定位;linker_flash.ld:Flash和SRAM内存分配,为Flash构建目标分配代码段和数据段;linker_ram.ld:SRAM内存分配,为RAM构建目标分配代码段和数据段。可以利用.ld文件将函数和变量放置到自定义的地址中。

2023-09-14 12:02:10 296

原创 mcu Ram空间分配及flash空间分配方法

sdk_ld.c。

2023-09-14 09:31:04 308

原创 spi原理结合项目驱动讲解

mcu spi驱动讲解

2023-01-05 09:44:13 62

空空如也

空空如也

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

TA关注的人

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