Cortex-M

2024/4/26 8:05:42

Cortex-M semihosting(半主机)使用 BKPT 0xAB 指令

Cortex-M,包括 ARMv6-M 和 ARMv7-M ,使用 BKPT 0xAB 指令作为半主机接口。如果发现程序死机,而且导致死机的指令是 BKPT 0xAB ,那么应当考虑程序中是否使用了半主机接口,半主机接口只能在调试状态下使用,正…

5V供电Cortex-M微控制器

5V供电Cortex-M微控制器 传统的微控制器(单片机)是5V供电系统,要想使用Cortex-M架构的微控制器替换这些传统器件,那最好是有5V供电的Cortex-M微控制器了,但现实情况是大部分Cortex-M架构的微控制器是3.3V供电的&#…

学习Cortex-M:三种关中断方式

1、关闭整个CPU的所有中断;2、关闭特定外设的所有中断;3、关闭特定外设的特定中断源。 http://blog.csdn.net/zoomdy/article/details/54954168 mingdu.zheng at gmail dot com 1、总开关 每个CPU有一个中断总开关。通过CPU中断控制寄存器实现。Corte…

Cortex-M0/M0+屏蔽优先级低于BASEPRI设定的中断

Cortex-M3/M4/M7有BASEPRI特殊功能寄存器可以屏蔽优先级低于BASEPRI设定值的中断,但Cortex-M0/M0没有BASEPRI寄存器,不过仍然可以实现相识的功能。 mingdu.zheng at gmail dot com http://blog.csdn.net/zoomdy/article/details/79316998 实现方法 虽…

对Cortex-M0/M0+难理解指令的解释

对部分需要加以注意或者不知道干嘛用的Cortex-M0/M0指令给予个人理解层面的解释。完整的指令集请参考《Cortex-M0/M0指令集》 mingdu.zheng at gmail dot com http://blog.csdn.net/zoomdy/article/details/79308903 可访问high registers的指令 绝大部分指令只能访问low re…

J-Link仿真Cortex-M架构eCos停留在swi 0的解决办法

mingdu.zheng <at> gmail <dot> comhttp://blog.csdn.net/zoomdy/article/details/17590097 解决办法 下载完程序之后在GDB中输入monitor reset对MCU进行复位即可解决问题&#xff0c;查看J-Link GDB Server的输出窗口是否有Resetting target字样&#xff0c;只有…

eCos启动过程详解,基于Cortex-M架构

eCos是开源免版税的抢占式实时操作系统。其最大亮点是可配置&#xff0c;与其配套的图形化配置工具提供组件管理、选项配置、自动化单元测试等。eCos核心组件包括硬件抽象层&#xff08;HAL&#xff09;、设备驱动&#xff08;IO&#xff09;、实时内核&#xff08;两种调度算法…

学习Cortex-M:结构体 vs 分散变量

学习Cortex-M&#xff1a;结构体 vs 分散变量 静态变量使用结构体表示的代码无论在space上还是speed上都要优于分散变量&#xff0c;应当尽量使用结构体。对于局部变量采用结构体还是分散变量并没有什么区别。 http://blog.csdn.net/zoomdy/article/details/54895708 mingdu.…

适用于Cortex-M的低功耗休眠轮询编程模式

利用Cortex-M的Send-Event-on-Pend特性实现休眠轮询编程模式&#xff0c;休眠轮询模式在保持程序设计简单性的同时降低了功耗。 mingdu.zheng at gmail dot com http://blog.csdn.net/zoomdy/article/details/79399478 轮询模式因为不涉及中断处理&#xff0c;因此在程序结构…

ARM Cortex-M 的 SP

文章目录 1、栈2、栈操作3、Cortex-M中的栈4、MDK中的SP操作流程5、Micro-Lib的SP差别1. 使用 Micro-Lib2. 未使用 Micro-Lib 在嵌入式开发中&#xff0c;堆栈是一个很基础&#xff0c;同时也是非常重要的名词&#xff0c;堆栈可分为堆 (Heap) 和栈 (Stack) 。 栈(Stack): 一种…

(失败)尝试将eCOS移植到stm32h743vi上

目录背景过程感受背景 我的学长在一家有名的AI公司上班&#xff0c;他们希望能将OpenCV移植到一款低成本的CPU上&#xff0c;但他们对于硬件完全不懂&#xff0c;于是学长希望我尝试一下&#xff08;虽然我那时也还不懂操作系统和CPU间的关系&#xff09;。选择stm32h743vi这个…

Cortex-M MMU内存管理单元和 Linux

一、Cortex-M的定位 二、内存管理单元 内存管理单元简称MMU&#xff0c;它负责虚拟地址到物理地址的映射&#xff0c;并提供硬件机制的内存访问权限检查。 在多用户、多进程的操作系统中&#xff0c;MMU使得各个用户进程都有独立的地址空间。 任何微控制器都存在一个程序能够…

Cortex-M入门

Cortex-M入门 还是要看书&#xff0c;看书才能系统性地掌握。手上得有块开发板&#xff0c;实践才能深刻理解。开发工具要用好&#xff0c;“工欲善其事&#xff0c;必先利其器”。 http://blog.csdn.net/zoomdy/article/details/54799787 mingdu.zheng at gmail dot com 还…

解决方法:IAR The selected device does not match the target device

IARST-Link调试STM32时&#xff0c;出现 Fatal error: The selected device does not match the target device 错误&#xff0c;并且无法调试。这是 IAR Embedded Workbench for ARM 7.80.3 的一个bug&#xff0c;从IAR下载补丁即可解决该问题。 根据帖子 http://www.stmcu.o…

支持Cortex-M处理器的objloader组件

objloader是eCos系统提供的用于支持模块动态加载的组件&#xff0c;经过移植后&#xff0c;现已支持Cortex-M处理器架构。 eCos官网&#xff1a;http://ecos.sourceware.org eCos中文技术网&#xff1a;http://www.52ecos.net eCos交流QQ群&#xff1a;144940146。http://blog.…

学习FreeRTOS(2):初始化阶段的中断状态

学习FreeRTOS(2)&#xff1a;初始化阶段的中断状态 分析FreeRTOS的Cortex-M4F移植版&#xff08;portable/GCC/ARM_CM4F&#xff09;在初始化阶段CPU中断状态的变化。复位后中断默认处于开启状态&#xff0c;当创建第一个任务时中断被关闭&#xff0c;开启调度器时重新开启中断…

开源Cortex-M模拟器QEMU的使用方法

开源Cortex-M模拟器QEMU的使用方法 QEMU是开源、跨平台、支持多种目标架构的模拟器&#xff0c;包括Cortex-M架构。开源Cortex-M模拟器QEMU支持两款开发板&#xff0c;分别为Stellaris LM3S811EVB和Stellaris LM3S6965EVB。 原文&#xff1a;http://blog.csdn.net/zoomdy/art…

运用结构体优化Cortex-M0/M0+程序

将全局变量组合成结构体&#xff0c;结构体成员变量的数目不超过32个&#xff0c;并按照大小排放&#xff0c;如此可以利用Cortex-M0/M0的指令集生成最优的代码。 mingdu.zheng at gmail dot com http://blog.csdn.net/zoomdy/article/details/79304324 将全局变量组合成结构…

J-Link调试STM32F7不能下载程序到ITCM接口的Flash

mingdu.zheng at gmail dot com http://blog.csdn.net/zoomdy/article/details/78708490 问题描述 STM32F7的Flash可以在两个地址空间可见&#xff0c;一是AXIM接口的0x08000000处&#xff0c;二是ITCM接口的0x00200000处。如果将Flash定位到0x08000000处&#xff0c;使用J-L…