본문 바로가기

전체 글

(41)
Vector table STM32 제품군별 벡터 테이블 차이벡터 테이블은 인터럽트와 예외 핸들러의 주소를 저장하는 메모리 구조로, ARM Cortex-M 코어의 NVIC(Nested Vectored Interrupt Controller)에 의해 사용됩니다. STM32 제품군별 차이는 코어 아키텍처와 메모리 구성에 따라 발생합니다. VTOR(Vector Table Offset Register) 지원 여부STM32F0 (Cortex-M0):특징: Cortex-M0 코어는 VTOR 레지스터를 지원하지 않음. 벡터 테이블은 기본적으로 플래시 메모리(0x00000000)에 고정되거나, RAM으로 복사하여 사용해야 함제약: 동적 재배치가 불가능하며, 링커 스크립트와 메모리 매핑으로 관리STM32F1, F4, H7 (Cortex-M3, M..
ESP32-BLE-Raspberry pi STM32 보드에 없는 통신 기능을 이용하기 위해 ESP32 C3 를 SPI로 연결. 동작: 1. STM32 보드는 DHT22에서 주기적으로 온습도 정보를 읽는다.2. ESP32 보드로 온습도 값을 전송한다.3. CAN으로 주기적으로 값을 Raspberry pi 보드에 전송한다.4. LCD 에 온습도 값을 출력한다.5. ESP32 보드는 BLE에 연결된 기기(Raspberry pi)가 있으면 요청에 따라 온습도 값을 전송한다. DHT22Taskvoid StartDHT22Task(void *argument){ for(;;) { DHT_GetData(&dht22Data); xQueueSend(dht22Queue, &dht22Data, pdMS_TO_TICKS(100)); xQu..
linux drop_caches permission denied 리눅스의 캐시를 해제하기 위해 사용하는 명령어.# page cachesync && echo 1 > /proc/sys/vm/drop_caches# dentries and inodes cachesync && echo 2 > /proc/sys/vm/drop_caches# page cache, dentries and inodes cachesync && echo 3 > /proc/sys/vm/drop_caches 루트 권한이 필요하니 sudo 사용. 그런데 permission denied 가 발생하면? "sudo echo X"는 echo 명령을 루트로 실행하지만, "> /proc/sys/vm/drop_caches"는 일반 사용자 권한으로 셸에서 처리되며, "/proc/sys/vm/drop_caches"에 쓰기 권..