cortex-m

    2热度

    1回答

    我最近使用了一个板(LPCXpresso 5411x)做一些计算,我们试图减少周期,只要我们能够节省我们的特定需求的运行时间,所以我需要对cortex-m4指令的成本周期进行一些研究。我发现很多奇怪的东西(不能用我在互联网上找到的东西解释) 我用DWT-> CYCCNT来计算我想测试的函数所消耗的周期数。 int start_cycle, end_cycle; __asm volatile (

    2热度

    3回答

    我有一个随机数发生器,它在恒定时间内运行。 原型此功能如下: uint8_t rand(); 我希望能够做的就是创建一个随机返回一个uint8_t使得输出为0,最大值之间的函数,其中最大的是最大数量要退回。这种功能的原型将是: uint8_t randi(uint8_t max); 有算法在线做这个和堆栈溢出。例如,https://stackoverflow.com/a/6852396/1

    0热度

    1回答

    我试图配置我的SAMD21时钟以尽可能快地进行。因此,我使用内部8 MHz振荡器为通用时钟发生器1(预分频器为8)供电,以生成一个通用时钟来馈送数字锁相环,然后反馈给通用时钟发生器0(我的主时钟)应该为CPU提供时钟,但微型运行速度非常缓慢,我在哪里犯了一个错误? 我遵循本指南http://borkedlabs.com/2014/08/21/asf-samd21-dpll-for-internal

    0热度

    1回答

    我刚开始学习的ARM Cortex-M4,它拥有先进的功能,如DSP指令,...... uint32_t my_rearrange(uint32_t value){ uint32_t value_high = (value & 0xffff0000)>>16; uint32_t value_low = (value & 0x0000ffff); return (val

    1热度

    2回答

    我正在使用带有MCU G ++编译器的STM32开发板&链接器:arm-none-eabi-g++。然而,这似乎与STL不兼容: #include <list> int main (void) { std::list<int> list; list.push_back(1); list.sort(); return 0; } 链接器的错误信息

    2热度

    1回答

    我正在使用ARM Cortex-M7(ATMEL处理器)惠普Chan's FAT File System Module,并且在写入非乘法字节数量为SECTOR_SIZE_DEFAULT(512字节)的文件时遇到问题。 经过一个循环,我用不同长度的字节(不是多个SECTOR_SIZE_DEFAULT)使用f_write()函数写入文件,但有些字符出现错误。 这里就是写作发生的主要部分: f_op

    1热度

    1回答

    最近我一直在试图对我的STM32F4-Discovery评估板进行FFT计算,然后将它发送到PC。我研究过我的问题 - 我认为我在制造商提供的FFT功能上做了一些错误。 我正在使用CMSIS-DSP库。 现在我已经用代码生成了样本(如果这样做正确,我将通过麦克风进行采样)。 我使用arm_rfft_fast_f32我的数据将是在未来的花车,但结果我得到了我的输出数组是疯了(我认为) - 我得到0以

    1热度

    1回答

    我正在开发Atmel应用程序SAME70Q21微处理器。该MCU具有ARM Coretex-M7内核。 爱特梅尔在这个特殊的MCU变体中实现了ARM TCM(紧耦合存储器)。 Atmel似乎将TCM分为“ITCM”(指令TCM)和“DTCM”(数据TCM)两部分。我正在使用DTCM进行快速存储,通常来自中断。但是,ITCM目前实际上已关闭,但TCM的配置系统仍分配了32K的数据。 我在想,因为我没

    0热度

    1回答

    我目前正在开发一个系统,该系统包括向通过UART连接到Atmel SAML21 Xplained Pro电路板的传感器设备发送请求字符串。我正在测试Arduino板作为“传感器设备”,但最终它将用于Rotronic HC-2传感器。 的过程是这样的: MCU sends string { 99RDD} over UART to sensor -> delay of up to 500ms ->

    3热度

    1回答

    ARM Cortex-M内核文档说,执行了异常输入堆栈分帧。这会导致寄存器R0,R1,R2,R3,R12,LR,PC,xPSR被压入当前堆栈。 我的问题是为什么这种方式只推送这些寄存器而不是所有的上下文?例如,如果某些数据在R5寄存器中,则在异常处理程序使用该寄存器的情况下将被覆盖。 异常处理程序的编译函数本身会推送一些寄存器(以及其他常规函数,因为异常处理函数没有区别),但经过很多调试后,我发现