- 博客(7)
- 收藏
- 关注
原创 嵌入式学习之ARM架构的异常与中断
:母亲专注看书,仅在小孩哭声(中断信号)时响应,类似CPU被外设主动打断执行流程。:母亲反复暂停看书去检查小孩状态,类似CPU不断查询外设状态,浪费资源。:多个中断同时发生时,按优先级处理(如火灾警报优先于门铃)。:通过母亲照顾小孩的类比,直观展示轮询与中断的效率差异。:如按键、定时器、数据接收完成(对应小孩哭声、门铃)。:由CPU执行指令触发(如除零错误、非法内存访问)。:处理中断的专用函数(如母亲照顾小孩的动作)。:由外部硬件触发(如按键、定时器)。:严重错误(如访问非法地址)。
2025-09-08 09:00:00
599
原创 嵌入式学习之新手村练级——UART操作
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种串行通信协议,广泛应用于嵌入式系统和各种外设连接中。它以其简单性、可靠性和低成本而闻名,只需三条线(TXD、RXD和GND)即可实现全双工通信。
2025-09-07 14:51:33
2576
原创 嵌入式学习之新手村练级——按键控制LED
为什么是0X3左移八位呢,想想看,0x3其实就是11,左移八位就是把9,8清零,其实他默认值就是00,但是为了安全起见我们还是将它清零。从原理图可以看出KEY0用的是PE4引脚,按下KEY0后,引脚可以检测到低电平。这里按键按下后会检测到低电平,相信你能看懂if else的逻辑了。我们使用KEY0来控制LED0,按下KEY0则灯亮,松开后熄灭。我们怎么设置这个引脚并且读取他的值呢?附上GPIOE基地址。
2025-09-04 22:14:06
236
原创 嵌入式学习之Bootloader(1)——知识入门
它是一段预先烧写在Flash固定位置(通常是起始地址)的小程序。它是设备上电后最先运行的代码,就像是设备的“开机自检程序”和“系统引导员”。
2025-09-03 16:40:55
1675
原创 嵌入式学习之深入浅出对比RISC与CISC
在ARM架构里,访问内存和访问某个外设的寄存器,对于CPU来说没有任何差别。这句话对于很多初次接触ARM架构的开发者来说,可能觉得理所当然。但对于从x86平台转过来的开发者,这却是一个需要重新理解的“新概念”。这个微妙的差异,背后隐藏着复杂指令集(CISC) 与精简指令集(RISC) 这两种主流CPU架构设计哲学的巨大分野。本文将从一个嵌入式开发中的常见场景出发,深入探讨RISC与CISC的核心区别,帮助我们更好地理解手中的芯片。内存与IO——ARM与x86的“世界观”差异。
2025-09-02 14:31:06
1170
原创 嵌入式学习之新手村练级——GPIO操作方法
群体是匿名的,也就是说无须负责,当一直约束着个体的责任感消失不见时,人便会肆无忌惮。——《乌合之众》本期使用的开发板为正点原子探索者STM32F407开发板。每一位嵌入式开发者的旅程,都始于一颗被点亮的LED。这看似简单的“Hello World”背后,实则是我们与微控制器(MCU)的第一次真正对话。
2025-09-01 01:15:29
1068
原创 STM32-Rt-Thread Nano入门学习——怎么确定栈的大小
我们观察反汇编可以得到,它分配了0x194的空间,对应十进制404,这时候可能会有疑问,数组明明是4*100字节的,怎么这个栈分配了404个字节,这个我也不知道是为什么,但是并不影响我们,有懂的大佬帮忙在评论区解释一下,不吝赐教。如果是B函数调用完再调用C函数,当B函数返回后,会重新分配C的栈,而不是在B栈空间后继续分配C的栈,因为B的栈已经回收了,这样才符合函数的入口分配栈,出口回收栈。这里面stack_size参数就是栈的大小,在嵌入式开发中,内存是宝贵资源,而任务栈大小的确定是内存管理的关键环节。
2025-08-31 08:00:00
2352
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅