自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SCB_Type RCC寄存器解析 ---RCC

位[9:8] SW 系统时钟切换 00 (HSI)微控制器时钟输出(MCO)功能允许将时钟信号输出到外部 MCO 引脚。位[18:16] PPRE1 APB1 预分频器 0 (不分频)位[11:10] SWS 系统时钟切换状态 00 (HSI)位0 HSIEN 内部高速时钟使能 1 (使能)位3 HSERDY 外部高速时钟就绪 0 (未就绪)位1 HSIRDY 内部高速时钟就绪 1 (就绪)位24 CSSEN 时钟安全系统使能 0 (禁用)

2025-12-21 13:10:26 389

原创 SCB_Type CPACR 寄存器解析 ---fpu

CP11, CP10 协处理器 11 和 10 控制。00 拒绝访问 任何访问都会产生 UsageFault。CPacr[9:0] 协处理器 0-9 控制。11 完全访问 特权和非特权模式都可以访问。01 特权访问 只有特权模式可以访问。10 保留 不要使用。值 含义 说明。控制浮点单元 (FPU) 访问。位域 名称 宽度 功能。访问权限编码(每2位)

2025-12-21 12:34:21 315

原创 mcu内存划分

_heap_base 和 __heap_limit: 被 C 运行时库用于内存分配。0x00001500: 十六进制数,转换为十进制是 5376 字节(5.25KB)Stack_Size: 使用前面定义的 0x00001500 字节。Heap_Size: 使用前面定义的 0x00000300 字节。__heap_limit: 特殊标签,表示堆的结束地址。Stack_Size: 符号名称,将被赋值为后面的值。__heap_base: 特殊标签,表示堆的起始地址。AREA: 定义一个新的段(section)

2025-12-20 16:10:50 329

原创 Bit-Banding

它将特定的内存区域(称为“位带区”,Bit-Band Region)的每一个位,都映射到另一个独立的地址区域(称为“位带别名区”,Bit-Band Alias Region)的一个完整 32 位字上。如果在“读”和“写”之间发生中断,并且中断服务程序也修改了同一个 GPIO 寄存器,那么中断返回后,之前“读”到的值就是过时的,执行“写”操作时会覆盖掉中断服务程序所做的修改。CPU 内核在内部以一条不可中断的指令完成整个“读-改-写”过程,确保了操作的“唯一性”。3. 为什么说这是“原子的读-改-写操作”?

2025-11-26 22:57:28 365

原创 SCB -- System Control Block ---- AIRCR寄存器

SCB​ 是Cortex-M处理器内核的一个标准模块,提供了系统级的控制和配置功能,包括:中断和异常配置系统异常控制电源管理调试配置系统控制信息。

2025-11-24 22:51:17 222

原创 git 操作

git fetch --allgit checkout -b dev_bug_fix_wdk origin/maingit push -u origin dev_bug_fix_wdk

2025-09-08 13:56:19 228

原创 项目编译 --- 基于cmake ninja编译 rtos项目

编译完成后,会生成elf文件,使用fromelf.exe最终得到bin文件。1 cmake 指定ninja编译方式,生成build.ninja文件。项目中多个elf目标生成,最终生成bin文件以及压缩文件等。具体log在 百度网盘 log/asr log。使用elf文件进行升级。

2025-08-24 17:02:24 206

原创 cmake调试

{CMAKE_CURRENT_LIST_LINE}] 调试信息666666666666666666666666666666666666666666666666666”) # 格式为[文件路径:行号]

2025-08-24 12:40:51 424

原创 initdata段使用方式

属于程序中的特殊数据段,用于存放初始化数据在程序启动时由加载器自动加载到内存一般都是引导程序结构体。

2025-08-15 21:30:59 311

原创 debug --- gdbtui

是GNU调试器(GDB)的文本用户界面模式,它通过终端分屏显示调试信息,提供比纯命令行更直观的调试体验。

2025-08-15 13:20:53 231

原创 运算放大器 -内部增益模式

项目中使用1 采集电压 gpio输入2 电压放大。

2025-08-15 10:34:02 166

原创 电机异常停止运行机制

4 cmp输出引脚会到timer中,如果是0会关闭pwm定时器。自然而然电机不会驱动了。测量电阻两侧电压,U=IR,R一定,当U/R 大于 过流保护的电流,触发电机停止运行。3 cmp进行比较 DAC和运算放大器输出的值。2 测量电阻两侧电压,使用运算放大器进行放大。运算放大器: mcu内部,用于电压放大。电阻两侧测量的是哪个线路的电压?1 配置DAC基准值电压。DAC:用于基值比较。

2025-08-14 12:37:31 287

原创 stm32 + BQ7692003PWR + MP9486AGN + AMS1117-3.3供电系统

STM32 单片机BQ7692003PWR 稳健耐用型模拟前端 (AFE) 器件通常用作针对下一代高功率系统的完整电池组监控和保护解决方案的一部分MP9486AGN 降压器,输出稳定5.5vAMS1117-3.3 降压器,输出稳定3.3v。

2025-08-09 14:42:43 294

原创 MQTT - 环境安装

mosquitto。

2025-08-08 22:26:59 978

原创 CMSIS标准接口规范 --- Cortex-M

提供与芯片厂商无关的统一软件接口,通过封装底层硬件差异,使开发者能编写可移植的代码,例如,不同厂商的Cortex-M4芯片通过CMSIS-Core层提供一致的寄存器访问方式。‌CMSIS-Core‌:定义处理器内核与外设的标准访问接口,包括SCB(系统控制块)和NVIC(嵌套向量中断控制器)的寄存器映射。说白了就是ARM搞了标准,让做芯片厂商按照这个标准做了一套API,上层基于API开发,后续移植方便。CMSIS-Driver‌:标准化外设驱动层,如GPIO、UART的初始化函数。

2025-08-03 12:59:38 248

原创 TPS5430降压器

1 如何得到恒定电压?通过高增益误差放大器和补偿网络将反馈电压( VSENSE 引脚电压) 与恒定电压基准进行比较, 以生成误差电压。然后, 通过 PWM 比较器将误差电压与斜坡电压进行比较。通过这种方式, 误差电压幅度转换为脉冲宽度, 即占空比。最后, PWM 输出馈送到栅极驱动电路, 以控制高侧 MOSFET 的导通时间。注意反馈电压就是R2的电压值。思考?1 是否可以做到可变输出电压大小?需要使用可变电阻进行设计。

2025-08-01 19:44:14 615

原创 keil安装

使用国民技术N32G435系列微控制器产品采用高性能32位ARM Cortex™-M4F内核设备,编译软件需要使用keil。

2025-07-31 19:24:11 163

原创 嵌入式项目入手步骤

【代码】嵌入式项目入手步骤。

2025-07-30 19:52:40 217

原创 vscode环境安装

vscode环境安装。

2025-07-30 16:51:53 169

原创 lwip发送数据 pbuf 构造过程以及析构过程 - UDP

pbuf申请机制,应用层使用内存池 REF机制申请pbuf,指向了应用层数据,传输层使用ram动态申请内存,存放udp+ip+mac头部,ip层如果不分段共用传输层内存。底层发送,分段,需要申请ip层内存+REF内存引用应用数据,发送数据。

2025-07-28 20:30:39 516

原创 内核同步机制 - atomic_t

atomic_t是Linux内核提供的原子整型数据类型,用于确保多线程/多核环境下对整数的操作(如增减、读写)具有不可分割性,避免竞态条件‌。

2025-07-28 20:12:02 233

原创 tcpip上行数据包接收机制

本文分析了基于lwIP协议栈在Linux系统中的数据处理机制。主要探讨了三种数据包接收方式:1) 驱动接收数据后传递给网络层;2) 内部应用发送数据至内部网卡;3) 标记为组播回环的组播数据包。重点解析了内部处理流程,包括netif_loop_output函数通过pbuf内存分配和数据拷贝,以及netif_poll函数调用ip_input进入协议栈的过程。文章还提出了两个关键问题:为什么上行数据需要通过tcpip线程处理(保证同步性),以及下行数据的处理差异。最后预告了未来将分析mbox源码实现。

2025-07-13 17:34:52 326

原创 autosar架构以及具链

AUTOSAR 就是Automotive Open System ARchitecture的简称,中文翻译汽车开放系统架构使用软件做配置可以生成系统框架的代码一套工具链,我们基于这套架构进行开发。

2025-07-12 17:36:15 597

原创 autosar入门思考

摘要:随着新能源和机器人产业兴起,AUTOSAR、C++、Rust、电机和电源控制成为关键技术需求。AUTOSAR在车载领域应用广泛,需系统学习架构和核心组件;C++是机器人开发基础;Rust因安全性渐受青睐;电机和电源控制是人形机器人的核心技术。建议通过权威资料和项目实践快速掌握这些未来关键技术。(135字)

2025-07-12 16:36:16 139

原创 AES128-CBC

aes-128 cbc模式算法源码分析使用的结构体31 struct aes_key_st { 32 # ifdef AES_LONG 33 unsigned long rd_key[4 * (AES_MAXNR + 1)]; 34 # else 35 unsigned int rd_key[4 * (AES_MAXNR + 1)]; 36 # endif 37 int rounds; 38 }; 39 typedef struct aes_key_st

2020-11-19 09:50:12 753 1

原创 修改linux默认登录账号是root

需求:修改linux默认登录账号是root理论知识:系统启动登录主要由两个进程来完成getty : 获取用户名 , 检查用户是否合法 , 传递用户名给login进程login : 接受getty进程穿过来的用户名, 提示输入密码,检查密码是否正确。getty功能: 1 打开指定的tty 2 提示用户登录 3 获取登录用户名和密码 4 把用户名穿递给login命令 login功能: 1 检查是不是超级用户 2 提示用户输入密码 3 检查密码并检查是否quiet登录 4

2020-10-23 20:43:44 2742

原创 git merge 是出现Merge remote-tracking branch 'ups/master'

git merge 是出现Merge remote-tracking branch ‘ups/master’环境: 从远程仓库克隆到本地后, 远程仓库有人提交,本地仓库commit了1次, 目标:把本地仓库push到远程仓库 做法:1,git fetch xxx 2,git merge xxx/master 3,git pushQ&A 问题 : git...

2019-09-01 14:18:31 67149 8

空空如也

空空如也

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

TA关注的人

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