ARM Cortex-M 코어 설명서에 예외 항목이있을 때 스택 프레이밍이 수행된다고 나와 있습니다. 이로 인해 레지스터 R0, R1, R2, R3, R12, LR, PC, xPSR이 현재 스택으로 푸시됩니다. 제 질문은이 방법이 모든 컨텍스트가 아닌 레지스터 만 밀어 넣는 이유입니다. 예를 들어, 일부 데이터가 R5 레지스터에있는 경우 예외 핸들러가 해당
난 일정한 시간에 실행되는 난수 생성기가 있습니다. 다음과 같이 함수의 프로토 타입은 다음과 같습니다 uint8_t rand();
은 내가 할 수 있기를 원하는 것은 최대가 어디 무작위로 출력이 0과 최대 사이에 같은 있다는 uint8_t을 반환하는 함수를 만드는 것입니다 반환되는 최대 수. 이 함수의 프로토 타입은 다음과 같습니다. uint8_t ra
ARM Cortex-M0 +에서 작업 중입니다. 대기 전력 소비를 측정하려면 CPU를 딥 슬립 모드에 두어야합니다. Keil uLink 디버거를 사용하여 펌웨어를로드합니다. 그러나 디버거를 연결하면 CPU가 잠자기 중지됩니다. 펌웨어를로드/실행 한 후 디버거 포트를 비활성화 할 수 있습니까? 어떻게해야합니까?
ARM Cortex-M4 (Thumb)에서 오류 처리기를 실행하면 오류가 발생하기 직전에 CPU 레지스터의 스냅 샷이 생성됩니다. 이 정보로 스택 포인터를 찾을 수 있습니다. 자, 내가 원하는 것은 그것이 통과 한 모든 기능을 역 추적하는 것입니다. 여기서 볼 수있는 유일한 문제는 프레임 포인터가 없다는 것이므로 어떤 서브 루틴이 LR을 무한히 저장 한 곳
난 그냥 DSP 명령과 같은 기능을 고급 한 ARM 코어 텍스 M4를 배우고 시작하고, ... uint32_t my_rearrange(uint32_t value){
uint32_t value_high = (value & 0xffff0000)>>16;
uint32_t value_low = (value & 0x0000ffff);
re
MCU G ++ 컴파일러 & 인 STM32 dev 보드를 사용하고 있습니다. 링커 : arm-none-eabi-g++. 그러나, STL와 호환되지 것 같다 #include <list>
int main (void)
{
std::list<int> list;
list.push_back(1);
list.sort();
r
최근에 나는 STM32F4-Discovery 평가 보드에서 FFT 계산을 수행하고 PC로 보내려고했습니다. 나는 내 문제를 들여다 보았다. 나는 제조업체가 제공하는 FFT 기능에 문제가 있다고 생각한다. CMSIS-DSP 라이브러리를 사용하고 있습니다. 지금은 코드로 샘플을 생성 해 왔습니다 (마이크로 샘플링을 수행하면 문제가 해결됩니다). 내 데이터로 a
Cortex-M 시리즈 MCU의 기능은 인터럽트가 구성된 저전력 모드 (슬립 또는 딥 슬립 또는 다른 MCU 특정 모드)에서 깨어날 수 있지만 장애인? 저전력 모드로 들어가는 메커니즘은 WFI 명령을 실행 중입니다. 내가 STM과 Renesas에서 사용한 MCU는 인터럽트가 올바르게 구성되어 있고 cpsid 명령을 통해 모든 인터럽트가 비활성화 된 경우에도
긴 - 시간 사용자, 여기에 처음으로 포스터. 비슷한 질문을했지만 아무것도 찾을 수 없었습니다. Keil μVision의 C로 작성된 Cortex-M3의 일부 기존 코드를 통해 작업하고 있습니다. ADC에서 값을 기록하는 함수에서 비트를 다시 볼트로 변환하는 데 배율 인수가 사용됩니다. 내 질문은 헤더 파일에 정의 된 배율, 중심으로 돌아 가지 : #def