cortex-m3相关内容

如何调试 STM32 设备中的意外复位?

我正在使用 STM32F107 芯片在 C 语言中进行一些开发,并且在某些时候,当我调用特定函数时,设备开始重置.我没有调试器,我的调试只是通过串行端口的纯文本. 我使用了其他一些微控制器,在这些微控制器中我能够访问寄存器以查看重置的原因,但我似乎找不到该设备的等价物.我知道 Cortex-M3 的硬件异常,但我不知道其中一个是否被触发,因为当我在这些处理程序中时,我似乎无法通过 usart ..
发布时间:2022-01-25 12:47:22 其他开发

Eclipse GDB“初始化"和“跑";使用 OpenOCD 设置 ARM LPC1768?

我终于想通了 如何让代码在 这个 LPC1768 迷你板,但是现在我正在尝试进行调试. 我使用的工具链是:Yagarto + Eclipse (Indigo)(带 GDB 硬件调试器)+ OpenOCD.我的 JTAG 接口是:Bus Blaster V2 板. 我找到了一个 指南,它介绍了类似的设置,但它适用于不同的JTAG接口所以不是很有用.还有这篇文章关于LPC1768 示例,但 ..
发布时间:2022-01-17 14:14:03 Java开发

在 Cortex-M3 CPU 上通过 printf 进行输出调试,在 BKPT 指令处停止 + 关于 JTAG 和 sw 端口的混淆

我的板上的 JTAG 连接器上有一个 Keil ULINK2 USB 仿真器盒,它与板载 Cortex-M3 CPU(TI/Stellaris/LuminaryMicro LM3S 系列)配合良好.似乎 JTAG 和 SWJ-DP 端口在这些 CPU 上共享相同的引脚(以及板上的连接器).一个似乎没有 ITM (printf) 功能,另一个则有. 以前的固件人一直使用 stdio 转 UAR ..
发布时间:2022-01-17 14:08:45 其他开发

ARM Cortex M3 如何在硬故障前确定程序计数器值?

我有一个使用 STM32F103 (ARM Cortex M3) 的嵌入式项目,它在发布模式下偶尔会出现硬故障.作为恢复的一部分,我想从硬故障之前检索 PC 值并将其存储在电池支持区域中以供以后调试. 如何确定发生硬故障时程序计数器的值?显然,PC 现在已设置为其在硬故障中断内的位置. 我应该去哪里看?有正常模式寄存器组的地址吗? 谢谢! 解决方案 Cortex-M3 使 ..
发布时间:2022-01-17 13:59:55 其他开发

ARM M4 每周期指令 (IPC) 计数器

我想计算在 ARM cortex-M4(或 cortex-M3)处理器上执行的每个周期的指令数. 需要的是:我要分析的代码的指令数(在运行时执行)和代码执行所需的周期数.p> 1 - 循环数 使用循环计数器非常简单直接. volatile unsigned int *DWT_CYCCNT ;volatile unsigned int *DWT_CONTROL ;volatile u ..
发布时间:2022-01-17 13:58:43 其他开发

ARM汇编中.equ和.word之间的区别?

我很好奇 - 在定义常量时,ARM 程序集中的 .equ 和 .word 指令有什么区别? 解决方案 .equ类似于C语言中的#define: #define bob 10.equ 鲍勃,10 .word 类似于 C 中的 unsigned int: 无符号整数;特德:.word 0 或者用一个值初始化: unsigned int alice = 42;爱丽丝:.word 42 ..
发布时间:2022-01-17 13:40:21 其他开发

手臂皮质 m3 显示器

嗨,我正在研究手臂控制器 lm3s8962,根据我的理解,我无法理解下面的代码,它正在检查字符是否来自数组,这是他使用 ascii 字符创建的{即在 while 循环中:while(*pcStr != 0) },我无法在“构建并显示字符缓冲区"行之后的代码中得到他在做什么,请任何人解释一下 voidRIT128x96x4StringDraw(const char *pcStr, unsigned ..
发布时间:2021-11-17 22:42:19 其他开发

使用 USB 引导加载程序时如何设置 ARM 用户应用程序起始地址?

刚刚拿起其中一个 ARM Cortex-M3 LPC1768 mini来自 eBay 的板.它基本上是一个分线板. 但是,根据随附的小文档,我确定它具有类似于 NXP LPC1700 辅助 USB 引导加载程序 (AN10866) 应用说明. 两个文档(应用笔记和板子文档)都表明用户程序将被构建为起始地址为 0x2000.因为 USB 引导加载程序已经在 0x0 并且占用了 8K. ..
发布时间:2021-11-17 22:32:21 其他开发

使用 USB 引导加载程序时如何设置 ARM 用户应用程序起始地址?

刚刚拿起其中一个 ARM Cortex-M3 LPC1768 mini来自 eBay 的板.它基本上是一个分线板. 但是,根据随附的小文档,我确定它具有类似于 NXP LPC1700 辅助 USB 引导加载程序 (AN10866) 应用说明. 两个文档(应用笔记和板子文档)都表明用户程序将被构建为起始地址为 0x2000.因为 USB 引导加载程序已经在 0x0 并且占用了 8K. ..
发布时间:2021-11-17 22:31:25 其他开发

如何确定一个字(4 个字节)是 16 位指令还是 32 位指令?

如何知道字中的字节代表的是 16 位指令还是 32 位指令? 我提到了ARM ARMv7M,我不清楚如何区分它是16位指令还是32位指令. 它说 如果被解码的半字的位 [15:11] 采用以下任一值,则该半字是 32 位指令的第一个半字: • 0b11101• 0b11110• 0b11111.否则,半字为 16 位指令 这是否意味着处理器总是获取半字,检查它们并决定它是 16 位还 ..
发布时间:2021-11-17 22:28:45 其他开发

LPC 1768 上的 IAP

我正在尝试使用 IAP(在应用程序编程中)将函数的代码从内存空间中的一个点复制到另一个点(我知道这没有任何用处,但这对于我的项目绝对至关重要)正在工作).代码的复制似乎很顺利,但是当我调用复制的函数时,它总是会导致硬故障.我复制的函数没有任何对其他函数或数据的引用(它是一个简单的返回函数),所以不存在相对地址错误的问题.我在下面给出了我的代码以及我得到的输出. #include "mbed.h" ..
发布时间:2021-11-17 22:24:12 其他开发

ARM Cortex M4 SVC_Handler“UsageFault"

我正在为个人迷你 ARM 内核项目创建上下文切换程序,上下文切换程序完全用汇编编写.问题是当我进行 SVC 调用 (svc 0) 时,我输入了 SVC_Handler,但是当我尝试执行下一条指令时,我输入了一个不同的处理程序(“UsageFault_Handler").故障发生在我可以弹出 SVC_Handler 中的任何寄存器之前. 这是我的 gdb 屏幕的寄存器转储(在我进入 SVC_H ..
发布时间:2021-11-17 22:23:48 其他开发

如何减少阶乘循环的执行时间和周期数?和/或代码大小?

基本上,我很难让执行时间低于现在,以及减少时钟周期和内存大小.有没有人知道我如何做到这一点?代码运行良好,我只是想稍微改变一下. 写了一个可以工作的代码,但又不想把代码弄乱,也不知道要做什么修改. ;使用简单循环计算阶乘值;设置异常地址拇指区域重置,代码,只读出口 __Vectors导出 Reset_Handler__向量DCD 0x00180000 ;栈顶DCD Reset_Handle ..

ARM Cortex-M3 从 RAM 初始状态启动

我有两个 ARM Cortex-M3 芯片:STMF103C8T6 和 STM32F103VET6. 设置为从RAM启动时,STMF103C8T6 PC寄存器的初始状态为0x20000108;0x200001e0 用于 STM32F103VET6. 我无法在数据表中找到有关这些地址的信息.为什么它们会以这种方式启动,我可以在哪里找到有关它的一些信息? 编辑: 澄清一下.当芯 ..
发布时间:2021-11-17 22:16:38 其他开发

ARM Cortex-M3 启动代码

我试图了解 Keil (realview v4) 附带的用于 STM32 微控制器的初始化代码是如何工作的.具体来说,我试图了解堆栈是如何初始化的. 在文档中 在 ARM 的网站上,它提到了 startup_xxx.s 中的一个例程,__user_initial_stack_heap,不应使用超过 88 字节的堆栈.你知道这个限制来自哪里吗? 似乎当重置处理程序调用 System_In ..
发布时间:2021-11-17 22:15:25 其他开发

为什么 Cortex-A 的重置处理程序位于 0x0 而不是 Cortex-M3

Cortex-M3 的初始堆栈指针值位于 0x0,重置处理程序位于 0x4 的原因是什么?这样做的设计理由是什么? 为什么 ARM 人员不能像他们为 Cortex-A 所做的那样将 0x0 留给重置处理程序,然后在重置处理程序中初始化 SP? 解决方案 我认为这个方案属于“这不是一个错误,它是一个功能"的旗帜. ARM 架构 M(微控制器)配置文件与 A 和 R 配置文件具有完 ..
发布时间:2021-11-17 22:15:08 其他开发