cortex-m3

    2热度

    2回答

    我有以下的C函数 int main_compare (int nbytes, char *pmem1, char *pmem2){ for(nbytes--; nbytes>=0; nbytes--) { if(*(pmem1+nbytes) - *(pmem2+nbytes) != 0) { return 0; } } ret

    5热度

    3回答

    我很好奇 - 在定义常量时,ARM程序集中的.equ和.word指令有什么区别?

    1热度

    1回答

    我在为ST微电子STM32F103编写的应用程序的问题(ARM的Cortex-M3 R1P1)。 RTOS是uC/OS-III;开发环境是IAR EWARM v。6.44;它也使用ST标准外设库v.1.0.1。 该应用程序是不是新的;它至少在发展和现场至少一年。它使用两个UART,I2C和一个或两个定时器。最近我决定审查中断优先级分配,并且我重新安排了优先级作为审查的一部分(事情似乎工作得很好)。

    1热度

    2回答

    我为我的ARM Cortex-M3操作系统使用了exokernel模型。当一个任务想从UART读取时,它会调用一个库函数,如果没有数据,它会进行SVC调用来阻塞任务(这会导致内核将该任务置于该IRQ的等待队列中,并启用IRQ )。当中断发生时,等待它的所有任务都被移动到可运行队列,并且中断再次被禁止。 当我有一个固定的任务数组时,这个模型工作正常,但现在我已经移动到链表以允许更多类型的等待队列(例

    0热度

    1回答

    我想用IAP(在应用程序编程中)将一个函数的代码从内存空间中的一个点复制到另一个(我知道这没有任何用处,但这对于一个我正在研究的项目)。 代码的复制似乎可以顺利进行,但是当我调用复制的函数时,它总是会导致硬错误。我正在复制的函数没有任何其他函数或数据的引用(这是一个简单的返回函数),所以不存在相对地址错误的问题。 我已经给出了我的代码以及我得到的输出。 #include "mbed.h" #in

    2热度

    1回答

    我目前正在使用Cortex-M3微控制器上的汇编程序进行一些操作。我不确定这是否重要,但在这里你去。 我需要写入一个值到内存中的某个地址。这里是我的尝试: LDR R4, =__cs3_interrupt_vector_cortex_m STR R4, [=VTOR] 但好像我需要相对于PC寄存器VTOR地址引用。问题是如果有一种方法不引用相对地址,并让它自动执行(以便它基本上看起来像我

    4热度

    1回答

    有没有人已经在cortexM3节点上实现了zeroMQ作为可靠的消息解决方案?我试图了解是否有可能并且有一个内存占用这个想法。也许我会有freeRTOS操作系统。 感谢您的意见和建议。 Nicola

    0热度

    1回答

    我已经研究了dsPIC33系列的FFT运算,实现了INT16原产小数型Q15和Q31 INT32。 我现在在恩智浦Cortex-M3的使用的数学学习,我已经调查有关数据类型的文件,但没有找到参考(包括CMSIS)来定义什么是int32_t实际上是。 我的问题:这是一个int32_t(原生)分数类型(?Q31),如果不是它们是什么。 是否有被使用,详细的CMSIS或NXP定义的数据类型(简单)演讲资

    1热度

    2回答

    背景: 我正在使用没有OS的cortex-M3 ARM内核。 我的主循环等待来自中断处理程序的标志,然后执行函数doBigTask()。在一个单独的中断处理程序中,我想执行另一个函数doSmallTask(),但由于此函数也非常重要,我仍然希望处理其他I/O相关的中断。 我的问题: 是否有任何问题简单地从doSmallTask()内允许中断?例如,在中断已被禁止之后退出中断处理程序是否有任何复杂性

    1热度

    2回答

    我读到Cortex-M3中只有拇指指针,无论何时写入PC,我们都必须确保目标地址LSB为1以确保处理器保持在拇指模式下。另外,当我们使用'BX reg'时,reg值必须有LSB = 1来启用拇指模式。 我们在cortex-m3中使用'B标签'的情况如何?由于16位/ 32位指令与偶数地址对齐,因此此“标签”将具有LSB = 0的值。 'B标签'不等于'PC:=标签'吗? 'B标签'和'BL标签'特