STM32 ( 105 ) STM32CubeMX. SPI SPI 설정법. - STM32CubeMX 버전 5.0.1 SPI 기본설정방법. SPI DMA 설정방법. SPI Chip Select 핀 설정예. - 일반적인 GPIO Out 설정과 동일. 연관 SPI mode 4종. CPOL, CPHA SPI Mode 4종. SPI master 와 SPI Slave 의 모드가 동일해야 정상 SPI 통신 가능함. ( -동시에 SPI 클럭도 칩마다 최고 속도가 다르며 최고속도 이하에서만 정상통신 가능) SPI 통신 규격의 CPOL(0, 1) , CPHA(0,.. igotit.tistory.com STM32. SPI 읽기 쓰기. 동작특성. 개요. STM32 의 SPI 이용하여 Keil MDK-ARM 에서 읽기 쓰기 간단한 코드와 쓰기 , 읽기 동작 특성 스코프로 확인. SPI.. 2020. 1. 20. STM32. 힙 , 스택 사이즈 설정 . KEIL. SW4STM32. CubeMX 개요 STM32 에서 사용가능한 힙 과 스택 메모리 사이즈 설정하기. 사용하는 IDE 에 따라서 힙 , 스택 사이즈 설정되는 곳이 다르다. - KEIL MDK-ARM 에서는 파일 startup_stm32xxx.s 에서 힙과 스택 최대 사이즈 지정한다. - SW4STM32 에서는 파일 STM32xxx_FLASH.ld 에서 힙과 스택 최대 사이즈 지정한다. 설정된 최대 힙사이즈 이하에서만 메모리 동적할당 가능하다. 초과하는 경우 malloc 반환값이 null 로 메모리 할당 실패한다. 코드내에서의 스택 메모리 할당량이 지정된 스택사이즈 초과하는 경우에는 컴파일 단계에서 알 수 있기에 조치하기 편리하나, 코드내에서 동적 할당되는 경우에는 컴파일 단계에서 알 수 없기에 동적 할당 할때마다 malloc 함수의 반.. 2019. 12. 29. STM32. EXTI (Extented Interrupts and events controller) 본 글 설명의 STM32 칩시리즈 : STM32L4+ - 다른 시리즈의 STM32도 개념은 유사. EXTI - event/interrupt 가능 총수량 : 39 - - cinfigurable line 수 : 26 - - direct line 수 : 9 - 각 line 별로 개별적으로 mask 가능. - Configurable line - - 상승, 하강에지 설정가능. - GPIO 에 할당가능한 EXTI 라인 : 0~15 (총 16개) Interrupt 와 event - Interrupt : 코드상에서 인터럽트 핸들러 함수 실행되게 하는것. 즉 CPU 관여되는 처리. - event : 페리페랄 하드웨어상으로 직접 신호 전송되어 CPU 관여없이(즉, 핸들러 코드없이) 처리되게하는것. EXTI Block Di.. 2019. 12. 22. STM32. SysTick . System tick timer 인터럽트 사용방법. 개요 STM32 코딩시 간단하게 일정 시간격으로 인터럽트 발생시키는 방법 전체 절차. 1. STM32CubeMX 에서 System tick timer 에서 IRQ Handler 코드 생성 하도록 선택.2. IDE (SW4STM32 , KEIL MDK-ARM 등) 에서 IRQ Handler 함수 사용자 구현. 즉, 별도의 타이머 페리페랄 활성화 하지 않아도 간단하게 구현가능함. STM32CubeMX 에서 System tick timer 설정. 아래 동영상 처럼 STM32CubeMX 에서 NVIC 설정부에 있는 Time base : System tick timer 체크된 상태에서 코드 생성하면 자동으로 관련 코드 만들어져 있다. 인터럽트 핸들러 코드 구현상기 STM32CubeMX .. 2019. 12. 15. STM32L4R/S (STM32L4+ 계열) . 부트로더 STM32L4R/Sxxx (STM32L4+ 계열) 부트로더. - 부트로더 관련 전체 정보 있는 곳 page 336 of AN2606 : STM32 microcontroller system memory boot mode 부트로더 관련 주요 숙지 사항. RCC- USART, I2C, USB bootloader 작동위하여 HSI(내장 클럭소스) 가 enable 되고 system clock 는 60MHz 로 설정된다. - CAN interface 가 선택된 경우에는 HSE(외부클럭소스) 필수 요구되며 외부크리스탈 주파수는 24, 20, 18,16,12,9,8,6,4MHz 중 어느 하나여야한다. 부트로더 버전 현재(2019년 12월 7일 ) 최신버전은 9.5. 부트로더 작동 시퀀스 USB DFU- .. 2019. 12. 7. STM32. SPI 읽기 쓰기. 동작특성. 개요. STM32 의 SPI 이용하여 Keil MDK-ARM 에서 읽기 쓰기 간단한 코드와 쓰기 , 읽기 동작 특성 스코프로 확인. SPI설정 : 상세보기 -> http://igotit.tistory.com/653 클럭 10.5MHz, 데이터 8비트. SPI 통신 상황. 본 STM32 는 디스커버리 보드 (http://igotit.tistory.com/156) 이용하였고, SPI slave 는 아래 붉은색 보드인 cc3100 개발보드 (http://igotit.tistory.com/294). SPI Read, Write 코드 동작특성 스코프 확인. SPI Read 함수. Colored By Color Scripter™ 1 2 3 4 5 6 7 8 9 10 11 12 13 #define L_SPI2CS G.. 2019. 11. 11. SimpleLink . STM32 (이클립스 GCC ) 에 포팅하기 주의사항 : 본 글의 이클립스 관련. 본 글이 첫 작성된 시점은 2014년 8월 14일 이며, 그 당시엔 이클립스에서 STM32 개발환경 구축하기도 하였기에 이클립스 포팅예를 보이고 있다. 현재(2019년 11월)는 무료 활용가능한 SW4STM32 (Software Workbench for STM32) 가 배포되고 있고 이것 역시 이클립스 기반한 것에 STM32 개발환경이 완전히 셋팅된 패키지가 배포되므로 본글의 이클립스 대신 SW4STM32 활용 적극 추천. SW4STM32 설치정보 SW4STM32. System Workbench for STM32. 무료 IDE.설치법. SW4STM32 개요. 명칭 : SW4STM32 , System Workbench for STM32 - STM32 펌웨어 개발 가능한.. 2019. 11. 11. STM32L4R5VI. STM32L4+. LQFP100. STM32L4R5VI - STM32L4+ 시리즈 중 100핀 LQFP 14x14x1.4mm 패키지. - flash : 2Mbytes , 코드 사이즈 걱정없이 방대한 코드 작업 해도 됨. - SRAM : 640 kbytes 2019. 10. 14. STM32. Bootloader 개요 STM32 Bootloader 관련 리소스들 . AN2606 : STM32 microcontroller system memory boot mode . pdf AN3155 : USART protocol used in the STM32 bootloader. pdf UM0462 : STM32 Flash loader demonstrator. site link - Visual Studio 2012 C++ 소스코드도 같이 제공됨. USB DFU- 부트로더 중에 USB DFU 매우 편리하며 STM32 를 PC 로 USB 연결한 경우 아래 그림처럼 인식된다. USART Connection Timing STM32 칩 마다 최소시간이 다름. from AN2606 pdf page232 STM32L.. 2019. 10. 13. STM32. bootloader version 확인 방법. 개요 STM32 MCU 부트로더 버전 확인 방법 정리. 설명 : STM32 칩들은 부트로더 가 기록된 상태에서 공장출하된다. 그런데 부트로더도 S/W의 일종이며 오류 있는 경우 신규 버전이 적용 된 칩이 생산된다. 즉 부트로더 버전에 따라서는 심각한 오류 있는 것도 있다. 본인 개발중인 STM32 칩의 부트로더 기능이 비정상 작동을 보일때 버전부터 확인해봐야 함. STM32. bootloader version 확인 방법. 단계1. STM32 칩의 부트로더 버전 기록된 메모리 주소 알아내기 STM32 의 부트로더 버전 정보는 플레시 메모리의 지정된 특정 주소에 기록되어있다. STM32 칩 별로 부트로더 버전이 기록된 주소는 다르며 제조사에서 배포한 문서 AN2606 의 페이지 25 부터 보이는 테이블에서 .. 2019. 10. 13. ST-Link/V2 펌웨어 업데이트하기 ST32CubeProgrammer 에서 ST-LINK V2 펌웨어 업데이트 하기. ST32CubeProgrammer STM32CubeProgrammer.개요.설치. STM32 programming tools. all in one STM32CubeProgrammer 개요 - STM32 메모리(Flash, RAM, OTP, external memory) 읽기 쓰기 - 연결수단 - - ST-LINK/V2 ( JTAG, SWD ) - - bootloader (UART, USB DFU, I2C, SPI , CAN ) - STM32WB 시리즈 칩 의 OTA.. igotit.tistory.com ST-LINK/V2 ST-LINK V2.-STM32, STM8 Debugging and Programming Tool. 구.. 2019. 10. 13. STM32CubeProgrammer.개요.설치. STM32 programming tools. all in one STM32CubeProgrammer 개요 - STM32 메모리(Flash, RAM, OTP, external memory) 읽기 쓰기 - 연결수단 - - ST-LINK/V2 ( JTAG, SWD ) - - bootloader (UART, USB DFU, I2C, SPI , CAN )- STM32WB 시리즈 칩 의 OTA programming - STM32 모든 칩에서 사용가능. - - (비교 : ST-Link utility S/W 는 일부 칩에서만 사용가능 예 STM32L4 에서는 사용가능하나 STM32L4+ 에서는 사용불가) STM32CubeProgrammer 다운로드 , 설치 설치파일 다운로드 주소 : https://www.st.com/en/development-tools/stm32cube.. 2019. 10. 13. STM32. GPIO Open Drain, High, no pull up, no pull down STM32 GPIO 핀 Open Drain 설정 - STM32CubeMX 에서 STM32 설정시, 특정 GPIO 핀을 open drain 이면서, 상태 high, no internal pull up, no internal pull down 설정하기. 초기상태 Low 보다는 High 로 해야 핀에 연결되는것의 상태가 무엇이든 안전함. - open drain 은 핀 설정을 output 으로 했을때 open drain 설정가능하며 input 으로 했을때는 opne drain 설정안된다. - 아래 동영상에 특정핀을 open drain 이면서, 상태 high, no internal pull up, no internal pull down 설정하는 과정 전체 첫등록 : 2019년 9월 25일 최종수정 : 본 글 단축.. 2019. 9. 25. ST-LINK V2.-STM32, STM8 Debugging and Programming Tool. ST-LINK V2 판매처 - 알리에서 구입가능. 지속 안정 판매중. https://www.aliexpress.com/af/st%2525252dlink-v2.html?catId=0&initiative_id=SB_20230704195717&SearchText=st-link+v2&spm=a2g0o.productlist.1000002.0&aff_fcid=abafc1a5036c49e399d69c226afa5297-1688529605550-07352-_DlGaaOV&tt=CPS_NORMAL&aff_fsk=_DlGaaOV&aff_platform=portals-tool&sk=_DlGaaOV&aff_trace_key=abafc1a5036c49e399d69c226afa5297-1688529605550-07352-_DlG.. 2019. 9. 8. STM32L4R/S. Reset. NRST STM32L4R/S Reset, NRST - NRST 핀은 칩 내부적으로 풀업저항 달려있다. - 외부에서 NRST 핀에 Low 상태 최소 20usec 이상 유지하면 칩 리셋된다. from : RM0432. STM32L4Rxxx and STM32L4Sxxx 페이지 216~ 연관 STM32. 리셋핀 NRST 풀업저항. 개요 STM32 리셋 핀 NRST 특성과 핀 제어 방법. STM32L, STM32F 의 경우, 아래와 같이 소자 내부에 풀업저항 (40k옴) 고정적으로 연결된 상태이다. 1. 설계하는 회로에서 STM32 리셋 하지 않는 경우엔 NRST 핀 igotit.tistory.com 상위 정리 https://igotit.tistory.com/244 의 STM32 STM32. nRF52. ESP32. EF.. 2019. 9. 2. STM32CubeMX. USB Custom HID USB Custom HID. STM32CubeMX 5.0.1 2019년 9월 1일 추가. STM32CubeMX 5.3 에서 타겟칩 STM32L4R5VG 의 USB Custom HID 설정하는예. 연관 상위정리 https://igotit.tistory.com/244 의 STM32 STM32. nRF52. ESP32. EFM8. EFM32. PSoC 활용 정리. STM32. nRF52. ESP32. EFM8. EFM32. PSoC 총정리 제조사 칩 주요특징 실리콘랩 8bit MCU EFM8 시리즈 32bit EFM32 시리즈 EFM8 싸다. STM STM32 . 최고 항상 만족. Cypress pSoC pSoC6 은 기대해볼만. NORDIC nRF52 블투 무선솔루 igotit.tistory.com 첫등록 .. 2019. 9. 1. STM32CubeMX. Clock Configuration Clock Configuration. STM32CubeMX 5.0.1 항목1. Input frequency : 외부연결된 크리스탈의 주파수 MHz 단위로 기록. 항목2. PLL Source MUX : HSE 선택. 항목3. PLLM : /6 선택. 항목4. PLL 의 *N : x 40 선택.항목5. PLL 의 /R : /2 선택. 항목6. System Clock Mux : PLLCLK 선택. 상기 항목들 설정하는 과정 전체 동영상. 2019년 9월 1일 추가. STM32CubeMX 5.3 에서 STM32L4R5VG (최대 120MHz 가능 )를 대상칩으로 하여 클럭설정하는예. 본 글 포함된 상위 정리글 https://igotit.tistory.com/244 의 STM32 첫등록 : 2019년 2월 13일.. 2019. 9. 1. STM32CubeMX. 외부크리스탈 핀 할당. 개요 STM32CubeMX 에서 외부 크리스탈 핀 할당. - STM32CubeMX 버전 5.0.1 외부크리스탈 핀 할당. STM32CubeMX 5.0.1 2019년 9월1일 추가. STM32CubeMX 버전 5.3 에서 타겟칩 STM32L4R5VG 예. 크리스탈 주파수 24MHz 인 경우 핀 할당하고 Clock Configuration 에서 외부클럭 사용하는 것으로 설정하는것까지. 본 글 포함된 상위 정리글 https://igotit.tistory.com/244 의 STM32 첫등록 : 2019년 2월 13일최종수정 : 2019년 9월 1일 본 글 단축주소 : https://igotit.tistory.com/2074 2019. 9. 1. 이전 1 2 3 4 5 6 다음