전체 글 53

EEPROM 사용시 주의사항 (AT24Cxx)

EEPROM에 데이터 저장하는 코드 구현 중 살짝 곤란했던 사항 정리 (요즘은 MCU Flash 에 바로 저장하니 EEPROM 사용할 일이 크게 없긴 했음.) 1. Write(저장) 1) 예전에는 데이터가 몇 바이트 안되서 그냥 주소 적용하고 btye 저장했는데, 이번에는 한번에 64byte 이상 저장하면서 Page Wirte를 통해 저장함. 2) 이게 처음 16byte 만 저장되고 이후 저장이 안되는 문제 가 있었음. 3) 확인하니 해당 EEPROM 은 최대 16byte 단위로 Page Write만 지원됨. (EEPROM 종류마다 약간씩 다름.. 265byte 단위로 저장되는 것도 있음) 4) 연속해서 16byte씩 나누어 저장하니 안됨 5) 16byte 저장하고 Ack 확인하던가, 3~4ms 대기(지..

Firmware 2024.01.07

알리 1채널 릴레이 지연 보드 1ch Relay Delay Module board

https://ko.aliexpress.com/item/1005006072984572.html?spm=a2g0o.order_detail.order_detail_item.11.2d2a5ccdTolJZ3&gatewayAdapt=glo2kor 1926.0₩ 10% OFF|릴레이 모듈 스위치 트리거 시간 지연 회로 타이머, 사이클 조정 가능, 6 30V, 신제품 Smarter Shopping, Better Living! Aliexpress.com ko.aliexpress.com 알리에서 1채널 릴레이 보드 구매함. 개발 할때 단순히 일정시간 on, off 만 적용하여 테스트할때 사용할 예정 https://www.youtube.com/watch?v=X4ArD_2aD5k https://www.youtube.com/..

기타 2023.11.15

CAN 속도 별 전송 frame 개수

2.0A 표준 , 2.0B 확장 프레임 2종류가 있는데, 전송 데이터 8byte 기준 1ms 당 전송 횟수는 하기와 같음 data 8byte (64bit) Mbps bps byte 1ms byte Cnt ext. frame (2.0B) std. frame (2.0A) 1 1000000 125000 125 7.668711656 9.057971014 0.5 500000 62500 62.5 3.834355828 4.528985507 0.25 250000 31250 31.25 1.917177914 2.264492754 0.125 125000 15625 15.625 0.958588957 1.132246377 1Mbps 기준, 1ms 에 ext. 기준 7.6회 전송할수 있음. 기타 여러 조건 감안하여 7회 라고 봐..

Firmware 2023.11.06

WAVGAT DAPLINK stm32 오프라인 다운로더

https://ko.aliexpress.com/item/1005003843969242.html?spm=a2g0o.cart.0.0.650f56baSkxFUG&mp=1&gatewayAdapt=glo2kor https://ko.aliexpress.com/item/1005003843969242.html?gatewayAdapt=glo2kor&mp=1&spm=a2g0o.cart.0.0.650f56baSkxFUG AliExpress.com에 오신것을 환영합니다 로그아웃 회원가입 로그인 내 주문 내 코인 메시지 센터 결제 위시리스트 내 쿠폰 ko.aliexpress.com stm32 다운로더 장치이다. 다운로더 장치에 전원 연결 후 내부 메모리에 hex 파일 저장 후 stm32 장치에 펌웨어 다운로드 가능하다. (예전..

Firmware/STM32 2023.07.18

Cube IDE 에 OpenOCD 연결. / stm32 blue pill

Cube IDE에서 st-link로 실시간 디버깅시 ST MCU가 아니라고 하면서 정지됨. 정품 MCU 사용하면 되지만 시중(중국)에서 stm32f103 정품 부착된 제품 구하기가 쉽지 않음. st-link로 연결하는것은 불가능한것 같고, 시중에 OpenOCD로는 가능할것으로 보여 확인해봄. 저렴한 DAP LINK라는 디버거로 시도. 연결하면 COM포트, HID USB 입력 장치가 추가됨. openOCD 프로그램 다운.. https://gnutoolchains.com/arm-eabi/openocd/ Download OpenOCD for Windows Download pre-built OpenOCD for Windows OpenOCD is an open-source tool that allows debug..

Firmware/STM32 2023.03.19

CH32V307VCT6 테스트 / WCH-Link

CH32V07VCT6 STM32F307 클론 같은데.. 이건 RISC-V라 라이센스 비용이 안들어가서 싸게 만들수 있나.. 가격이 엄청 저렴함. 성능은 테스트 해봐야 하는데..사양은 기존stm32과 비슷함. USB, CAN, SDIO, 이더넷도 되고 가격은. 알리에서..3~4천원정도 하는것 같다. https://ko.aliexpress.com/item/1005004941906861.html?spm=a2g0o.cart.0.0.210156baLWOuNL&mp=1&gatewayAdapt=glo2kor 954.0₩ 30% OFF|CH32V307RCT6 CH32V307VCT6 CH32V203C8T6 CH32V103R8T6 CH32V103C8T6 CH32V208WBU6 CH32V305RBT6 CH32V203F8P6..

Firmware 2023.03.18

stm32f401 Virtual COM port / USB CDC 테스트

stm32f103 과 다르게 CUBE-IDE 로 코드 수정없이 바로 된다. 포트 PA11, PA12 클럭 48M 디바이스 선택 버추얼 포트 선택 500ms 마다 전송 /* USER CODE BEGIN Includes */ #include #include "usbd_cdc_if.h" /* USER CODE END Includes */ CDC_Transmit_FS("abcd\r\n", 6); HAL_Delay(500); stm32F4는 풀업 저항이 내장되어 필요없음. R27 직렬저항 은 0옴으로 적용. D+와 D- 차동배선으로 적용. # 초반에 USB 인식 실패되어 확인해보니 D+, D- 가 서로 바뀌어 배선됨.. PA12를 D-, PA11을 D+에 연결함 ㅎㅎ

Firmware/STM32 2023.03.16

stm32f103 Virtual COM port (USB CDC) / CAN bus

시중에 돌아다니는 STM32 블루필이라는 아두이노 보드로 테스트.. 1. Cube IDE에서 ST-link로 (가짜?라고) 실시간 디버깅이 안됨. hex 만들어 cube 프로그래머로 다운은 가능.. => keil 은 가짜도 다운 잘 되는 것 같음..밑에 keil버전. # cmsis dap (open ocd)로는 디버깅 가능함. https://luckydream.tistory.com/523 Cube IDE 에 OpenOCD 연결. / stm32 blue pill Cube IDE에서 st-link로 실시간 디버깅시 ST MCU가 아니라고 하면서 정지됨. 정품 MCU 사용하면 되지만 시중(중국)에서 stm32f103 정품 부착된 제품 구하기가 쉽지 않음. st-link로 연결하는것은 불가능한것 luckydre..

Firmware/STM32 2023.03.12

stm32 SDIO SD 카드 테스트 / FR_NOT_READY

STM32F401 로 Cube-IDE 테스트 포트 설정 클럭은 84M 로 하면 최대 42M로만 설정됨. 인터럽트 설정 DMA 설정 USE LFN 만 Enable SD 카드 확인 입력 포트 설정안하면 위에 같이 경고창 나옴. ================== 추가사항 ===== STM32F4 펌웨어 버그가 있는것 같다. 1.26.2 에서 잘 동작하는데.. 1.27.1로 업데이트 하고 SD 카드 마운트 하면 FR_NOT_READY 를 리턴한다. 이것 때문에 H/W 디버깅만 계속하고..하루종일 개고생함...참나... HAL 라이브러리 비교하면서 원인 찾으려다..시간이 없어서...나중에 확인해봐야 겠다.. 여기 유사한 내용 있음..이런..ㅡㅡ; https://community.st.com/s/question/0..

Firmware/STM32 2023.01.15

이중 포인터 콜백함수

다른 c파일의 파라메터 넘기기 위해 사용. #include #include // ========= ex.c ========== uint8_t buf[32] ={0x11,0x12, 0x33,}; void (*p_func)(uint8_t); void porcess(uint16_t cmd,uint8_t data ) { if(cmd ==1 ) data += 1; else data -= 1; if(p_func != NULL) { // 원래 함수에 추가적인 기능을 콜백함수로 등록 p_func(data); } } void setCallback(void (*p_func_para)(uint8_t) ) { p_func = p_func_para; } void pp_test (uint8_t **pp_buf1, uint8_t ..

SW/C 2022.11.20

큐브 모니터 사용법 STM32CubeMonitor

st에서 나온 비주얼 디버깅 프로그램 https://www.st.com/en/development-tools/stm32cubemonitor.html STM32CubeMonitor - STMicroelectronics STM32CubeMonitor - Monitoring tool to test STM32 applications at run-time, STM32CMonPwr, STM32CubeMon-Win, STM32CMonUCPD, STM32CMonRF, STM32CubeMon-Mac, STM32CubeMon-Lin, STMicroelectronics www.st.com stlink 프로브 설정 1. myPorbe_Out 설정 in 설정. myVariables 에서 다운로드 파일(axf) 선택. 다운로드 ..

Firmware/STM32 2022.06.16