
ARM Cortex-M及RT-Thread 系列
文章平均质量分 93
主要介绍ARM Cortex-M 系列,如 Cortex-M7, Cortex-M33及 RT-Thread 相关内容
主公讲 ARM
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【ARM Cache 与 MMU/MPU 系列文章 3 – Cache 与 MPU 是什么关系?】
MPU 全称"Memory Protection Unit",中文叫“存储保护单元”,它是 Cortex-M 处理器内部的一个模块(注意:并不是所有 Cortex-M 版本都支持 MPU,并且在一些支持 MPU 的 Cortex-M 版本上,MPU 也是可选组件)。MPU 介于 Core 和 Bus matrix 中间。原创 2022-11-07 14:32:11 · 1797 阅读 · 0 评论 -
【ARM Coresight 系列文章 14 - Cortex-M7 DWT 详细介绍】
Cortex-M7 CoreSight 系统框图。原创 2022-11-09 16:50:26 · 1960 阅读 · 0 评论 -
【ARM Cortex-M 系列 2.3 -- Cortex-M7 Debug event 详细介绍】
当一个调试事件导致处理器停滞或生成异常时,这些位被设置为1,并且之后通过写1来清除(write-one-to-clear)。在ARM Cortex-M7架构中关于调试事件行为,特别是关于HardFault和锁定(Lockup)情况的触发机制,主要涉及当处理器在以下情况下执行。在ARM Cortex-M7架构中,调试事件(Debug Event)是由于调试原因而触发的事件。:如果启用了停滞调试(Halting Debug),一个调试事件会使处理器在调试状态下停滞。一个导致进入调试状态的调试事件会将。原创 2024-05-14 22:23:56 · 1305 阅读 · 0 评论 -
【ARM Cortex-M 系列 2.2 -- Cortex-M7 单步调试原理及实现详细介绍】
在ARMv7-M架构中,通过使用单步调试(Halting Debug Stepping),调试器能够从调试状态退出,执行单条指令,然后重新进入调试状态。这是一种在精确调试软件时十分有用的功能,它允许开发者逐条检查指令的执行情况。原创 2024-05-13 22:50:40 · 1459 阅读 · 0 评论 -
【ARM Cortex-M 系列 2.1 -- Cortex-M7 Debug system registers】
当处理器执行加载(load)或存储(store)指令时,可能会遇到“阻塞”(stalled)的情况。在ARMv7架构中,调试功能通过一系列的系统控制块(System Control Block, SCB)寄存器来提供。提供了一种机制,通过它调试器可以请求处理器进入调试状态,而不需要等待具体的断点触发。它在软件进行写入时将被忽略,软件不能设置或清除它。配置为1后,外部 debugger 可以通过配置该bit来屏蔽ysTick 和 外部其它中断。调试内核寄存器选择器寄存器上的寄存器读/写可用。原创 2024-05-13 21:54:33 · 1715 阅读 · 0 评论 -
【ARMv8M Cortex-M33 系列 5 -- RT-Thread .rti_fn 段简介】
是链接器指令的一部分,它告诉链接器保留指定的节(section),即使这些节中的符号在程序中未被直接引用。开发者可以将特定的初始化函数放入这个段中,这样做的好处是,系统可以在启动时自动按顺序调用它们,而无需显式地在代码中调用初始化函数。RT-Thread 的启动过程中包括了一系列的初始化步骤,这些初始化函数被分配到特定的代码段中,以便操作系统在启动时按照预定的顺序执行它们。排序能确保初始化函数按照特定的顺序被执行,这在某些情况下可能很重要,例如,当一些初始化函数必须在其他函数之前运行时。原创 2024-01-22 20:44:07 · 590 阅读 · 0 评论 -
【ARM Cortex-M 系列 1.1 -- Cortex-M33 与 M4 差异 详细介绍】
在这种情况下,Cortex-M33 的 TrustZone 技术可以提供一个安全的执行环境,以确保敏感的数据和控制逻辑受到保护,不受恶意软件的影响。ARM Cortex-M33 和 Cortex-M4 都是 ARM 公司设计的32位RISC微处理器核心,它们属于 ARM Cortex-M 系列,专为微控制器和嵌入式系统设计。在移植 RT-Thread 到 瑞萨RA4M2(Cortex-M33)上时,遇到了hardfault 问题,最后使用了Cortex-M4中的调度相关的函数后,OS 可以正常调度了。原创 2024-01-20 11:10:43 · 6849 阅读 · 0 评论 -
【ARMv8M Cortex-M33 系列 3 -- RT-Thread renesas/ra4m2-eco 移植编译篇】
是一个宏定义,用于启用特定版本的 POSIX 兼容性特性。POSIX(Portable Operating System Interface)是一个旨在促进 UNIX 操作系统兼容性的标准集合,它定义了一系列跨不同 UNIX 系统的应用程序编程接口(API)。在 C 语言源文件中定义宏可以告诉编译器程序打算使用哪个版本的 POSIX 标准。这个宏的值是一个长整数,指定了希望遵循的 POSIX 标准的版本年份。200809L上面这行代码指示编译器启用 2008 年发布的 POSIX 标准中定义的特性。原创 2023-12-22 15:23:15 · 1628 阅读 · 0 评论 -
【ARM Cortex-M 系列 4 番外篇 -- 常用 benchmark 介绍】
Geekbench是一个广泛使用的跨平台处理器基准测试工具,由Primate Labs开发。它可以对单核和多核性能进行全面的测量和评估,为用户提供一个快速而准确的衡量和比较计算设备(如桌面,笔记本电脑,手机,平板电脑等)性能的方法。以下是Geekbench的主要特性:跨平台:Geekbench可在各种设备和操作系统上运行,包括Windows,Mac,Linux,iOS,Android等。单核和多核性能测试:Geekbench可以同时测试处理器的单核和多核性能,从而提供全面的处理器性能评估。原创 2023-10-24 10:51:07 · 1642 阅读 · 0 评论 -
【ARM Cortex-M 系列 2.1 -- RT-Thread Cortex-M7 异常处理及 hardfault 处理分析】
RT-Thread 系统异常及入门及渐进3 -- Cortex-M7 异常处理及hardfault 处理流程原创 2022-11-10 10:57:55 · 4231 阅读 · 2 评论 -
【ARM Cortex-M 系列 3 番外篇 -- ARMv6, ARMv7, ARMv8, ARMv9 架构差异及精简指令集 与 复杂指令集 介绍】
属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。指令集:CISC的指令集更复杂,包含大量的复杂和专门的指令,例如,一条指令可能就能完成数据的加载、运算和存储等多个操作。而RISC的每条指令设计为在一个时钟周期内完成,这样可以简化硬件设计,提高指令的执行效率。浮点和 SIMD 支持:ARMv8 改进了浮点和 SIMD 的支持,它包括新的浮点运算指令和为多媒体和数据处理优化的新 SIMD 指令。,例如,它支持更多的物理地址和更大的虚拟地址空间。,提高了在虚拟环境中运行应用的性能。原创 2023-07-18 22:34:13 · 4451 阅读 · 0 评论 -
【ARM Cortex-M 系列 1 -- Cortex-M0, M3, M4, M7, M33, M35P 差异】
Cortex-M0 是 ARM 公司推出的一款微控制器(MCU)核心。这个核心是基于ARMv6-M架构设计的,只支持 56 条指令的小指令集,大部分指令是 16 位指令, 是 ARM Cortex-M 系列中的入门级产品。Cortex-M0 的设计目标是提供一种低成本、低功耗的解决方案,适用于简单的微控制器应用。它的特点包括:小型和低功耗:Cortex-M0 的硬件设计非常紧凑,消耗的功率也非常低,这使得它非常适合在功率和空间受限的应用中使用。简单的指令集:Cortex-M0 使用的是。原创 2023-07-18 22:05:23 · 26170 阅读 · 0 评论 -
【ARM Cortex-M 系列 2 -- CPU 之 Cortex-M7 介绍】
而即使在不支持中断嵌套,即中断是没有优先级的,中断是不允许被中断的,所以,如果当前系统正在处理一个中断,而此时另一个中断到来了,系统也是不会立即响应的,而只是等处理完当前的中断之后,才会处理后来的中断。一般的CPU进入中断后都会去进行压栈操作,因为栈就是函数的现场,保护了栈内容,中断退出的时候只需要恢复栈数据就可以恢复到程序执行的状态了。在允许中断嵌套的实时操作系统中,中断也是基于优先级的,允许高优先级中断抢断正在处理的低优先级中断,所以,如果当前正在处理更高优先级的中断,即使此时有低优。原创 2022-11-14 10:40:08 · 15656 阅读 · 2 评论