본문 바로가기

임베디드.일렉트로닉스/STM32   ( 131 )


STM32. GPIO 속도 향상. 개요. STM32의 GPIO 속도 향상 위한 3가지 조치별 실측.1. STM32CubeMX에서 GPIO 설정시 속도를 Very High 로 설정. - GPIO출력함수 HAL_GPIO_WritePin 이용.2. 상기1의 상태에서 GPIO출력을 레지스터 직접 접근하여 출력.3. 상기2의 상태에서 컴파일러 옵션에서 시간최적화. 상기 1,2,3 각각에 대해서 외부소자 SPI_CS 제어용으로 STM32의 PB4 를 할당하였고, 출력속도 비교. 결론 : 1대비 2,3 동시 적용시 출력속도 증가 정도는 1대비 최대 5%정도. 시험환경타겟칩 : STM32L476RET 80MHz 구동.보드 : http://igotit.tistory.com/686컴파일러 : KEIL MDK-ARM v5.2STM32CubeMX STM32L.. 2016. 7. 15.
STM32. UART 특성 시험. 개요 STM32 UART 특성 시험. 시험환경. MCU : STM32L476 . 보드 : http://igotit.tistory.com/686 2개.system clock : 80MHz.USART2 설정. - baud rate : 10Mbps. - stop bit 1bit, data bit 8bit, parity no. STM32Cube 펌웨어라이브러리 버전 : FW_L4 V1.5.1 2016. 6. 28.
STM32. CubeMX 다른프로젝트 복사해서 만들기. 개요 STM32CubeMX 를 이용하여 프로젝트 생성시 이미 만들어둔 프로젝트를 복사해서 새프로젝트 만드는 법. 상황예. 이미 만들어둔 프로젝트 명 D1F98 이 있는데 이것과 거의 동일한 설정인 D1F107 을 만들어야 하는 경우, New Project 로 생성하는 경우 핀설정등 전부 새로 작업 해야한다. D1F98 을 복사해서 만들면 새로작업할 필요없다. 상세-STM32CubeMX 다른 프로젝트 복사해서 만들기. 단계1. 프로젝트 폴더 만들기. 새로만들 프로젝트명이 D1F107 작업폴더에서 D1F107 폴더를 새로 만든다. 아래그림의 붉박. 단계2. 이미만들어진 프로젝트의 STM32CubeMX 프로젝트 파일 복사하고 이름 변경. 본 예에서는 상기 그림의 파박폴더내에 있는 D1F98.ioc 파일을 폴더.. 2016. 6. 28.
STM32. USB HID 구현. STM32Cube + Keil 기반. 주소: https://www.youtube.com/watch?v=KwRQxGUrbN0&nohtml5=False STM32Cube + EWARM 기반. 주소: https://www.youtube.com/watch?v=xufZyQf4O7Y 2023.07.15 추가. 위 영상에서 STM32 에서 USB 호스트로 데이터 송신하는 부분 상세 -영상 : 3:46 에 보면 함수 USBD_CUSTOM_HID_SendReport 호출하여 데이터 송신함. 연관 상위 정리 http://igotit.tistory.com/244 의 STM32 STM32. nRF52. ESP32. EFM8. EFM32. PSoC 활용 정리. STM32. nRF52. ESP32. EFM8. EFM32. PSo.. 2016. 4. 14.
STM32. DfuSe Demo 사용법. 개요 STM32 의 USB DFU 유틸리티 DfuSe 에서 제공되는 DfuSe Demo 프로그램 사용법 정리. DfuSe V3.0.4 기준. 사전지식. 1. DfuSe 개요및 설치. http://igotit.tistory.com/464 DfuSe Demo 사용법. DfuSe Demo 프로그램 실행. DfuSe 3.0.4 설치하면 시작 프로그램에 등록된 것 중 DfuSeDemo 클릭하여 실행. DfuSe Demo 실행화면. - 프로그램 실행 첫화면 , 아래 파박에는 STM32칩의 DFU 모드일때만 자동으로 보인다. 관련 : STM32 가 DFU 모드상태에서 PC에서 USB 인식 상태 -> http://igotit.tistory.com/645 Upload Action 사용법. 기능 : upload 란 타겟칩.. 2016. 4. 12.
STM32. DfuSe 3.0.4 Bug 해결된 DfuFileMgr.exe, STDFUFiles.dll DfuSe 3.0.4 의 "DFU file manager" 버그 해결. DfuSe 3.0.4 의 DFU file manager는 2개의 버그가 있으며, 오류있는 코드 수정하여 정상화된 실행파일 만들었음. - 제조사 STM에서 버그 있는 상태에서 1년이 지나도록 정상화된 버전을 배포 하질 않아서, 직접 코드 수정함. - 개발툴 : Visual C++ 2015. 타겟플랫폼 : x86 (32bit). 32비트 응용프로그램은 32비트/64비트 환경에서 모두 정상실행됨. 해결된 버그. 1. hex file 열지 못하는 문제 해결되었음. 2. dfu 파일 저장시 사용자가 지정한 폴더에 정상적으로 저장되게 하였음. 상기 2개 문제외에도 DfuSe 유틸리티 들이 정상작동하지 못하는 심각한 오류들이 많은데 위 2개의 버.. 2016. 4. 12.
STM32. SPI DMA 사용법. 개요 STM32 (STM32L4x6) 에서 SPI 활용시 DMA 기반으로 통신처리하는 방법. 전체 구현흐름. 1. STM32CubeMX 의 SPI 설정에서 DMA 사용가능하게 설정. 2. 상기1에서 프로젝트 생성하여 (본 예에서는 KEIL MDK-ARM 용 프로젝트 생성함.) 3. 상기 2의 펌웨어 코드에서 SPI DMA 읽기/쓰기 처리 코드 추가. 상세 STM32CubeMX 에서 SPI DMA 설정. SPI 설정창의 탭 "DMA Settings" 에서 RX 용 TX 용 2개모두 등록한다. - 2개 모두 등록함이 중요하다. 실제 코드에서 TX는 사용하지 않고 RX만 사용하는 경우에도 설정에서 2개 모두 등록해야 RX 만 사용하는 경우에도 정상 작동한다. 위와 같이 DMA를 선택하게 되면 DMA1 Chan.. 2016. 3. 29.
STM32. L4x6 SPI 개요. 개요. STM32L4x6 계열 MCU SPI 주요특징. STM32L4x6 의 SPI Block Diagram. - FIFO 내장 : RxFIFO, TxFIFO 각각 32비트(4바이트) 용량. DMA 가능.- data size : 4bit ~ 16bit 선택가능. - SPI Motorola 모드(통상사용하는것), TI 모드 선택 가능. - Hardware CRC 선택가능 ; Tx mode에서 마지막 바이트에 CRC값 기록, 수신시 자동 CRC체크 가능.- 그외 일반 SPI 특성과 동일. from : pdf. STM32L4x6 Reference Manual 페이지 1283 부터. 상세 - SPI 데이터 송수신 RxFIFO, TxFIFO 1. 모든 SPI data 는 내장된 FIFO 를 경유 하게 되어있다. .. 2016. 3. 23.
STM32. 리셋핀 NRST 풀업저항. 개요 STM32 리셋 핀 NRST 특성과 핀 제어 방법. STM32L, STM32F 의 경우, 아래와 같이 소자 내부에 풀업저항 (40k옴) 고정적으로 연결된 상태이다. 1. 설계하는 회로에서 STM32 리셋 하지 않는 경우엔 NRST 핀에 외부 풀업저항 달 필요없고, 개방 시켜둬도 됨. 2. 소자외부에서 별도 스위치를 이용하여 리셋하려는 경우엔 위 회로처럼 처리. 3. 타 MCU의 핀 출력을 이용하여 STM32 를 리셋하려는 경우는 타 MCU 측의 핀 상태를 open-drain 으로 한다. STM32의 NRST 핀에 인가되는 전압에 따른 STM32측의 로직 H, L 기준전압. Low : 0.3 x Vddio 보다 작은 전압이 인가된 경우. High : 0.7 x Vddio 보다 큰 전압이 인가된 경우... 2016. 3. 17.
STM32. I2C 사용하기. 개요 STM32 에서 I2C 사용하기 위하여 CubeMX에서의 설정 . I2C 활용하는 전체순서. 1. CubeMX에서 I2C사용하도록 설정하고, 이를 프로젝트 (예 : KEIL)에 반영하고, 2. 프로젝트(예 : KEIL )에서 I2C 관련 함수 호출. 연관. I2C 기본 지식 : http://igotit.tistory.com/328 CubeMX에서 I2C 사용 설정 CubeMX 프로그램에서 Pinout탭에서 I2C1 에서 I2C 선택한다(아래 붉박), 그럼 I2C SDA, SCL 핀이 자동으로 지정된다(아래 파박). I2C 설정하기. 탭 "Configuration" 에서 I2C1 클릭하여, 탭 "Parameter Settings" 에서 I2C통신속도 선택하여 아래 붉박은 Standard Mode 를 .. 2016. 3. 10.
STM32L476 보드. D1P123R1 품번 : D1P123R1 외형. 치수. 핀맵. P1. 핀번호 기능할당.(STM32L4) 핀번호 기능할당. (STM32L4) 1 - 2 PC13 3 PB4 GPIO 4 PC12 SPI3 MOSI 5 PB0 GPIO 6 PC11 SPI3 MISO 7 PB1 GPIO 8 PC10 SPI3 SCK 9 PB2 GPIO 10 PA9 USART1 TX 11 - 12 PA10 USART1 RX 13 - 14 - 15 GND 16 GND 17 USB DM 18 USB DP 19 USB VBUS(+5V) 20 - P2. 핀번호 기능할당. (STM32L4) 핀번호 기능할당. (STM32L4) 1 PA5 SPI1 SCK 2 PC7 GPIO:SPICS7 3 PA6 SPI1 MISO 4 PA7 SPI1 MOSI 5 PB5 GPI.. 2016. 3. 5.
STM32. SPI 사용 설정. 개요. STM32CubeMX 이용하여 SPI 사용가능하게 설정하는 과정 상세. 타켓칩 : STM32F407VGT STM32F407VGT 에는 3개의 SPI를 사용가능하며, 본 글에서는 SPI2 의 마스터 설정으로 사용하는 예를 보임. 상세. 1. STM32CubeMX에서 SPI2 를 Full-duplex Master 로 선택. 주의사항. - 체크박스에 보면 Hardware NSS Signal 이란 것이 있는데, 타겟 SPI Slave 가 1개 일때 H/W Chip Select 기능으로 사용할때 선택한다. 펌웨어상에서 별도처리하지 않아도 데이터 프레임 단위로 NSS핀으로 Low 출력이 나온다. SPI Slave로 설정했을때는 SPI Master 로부터 Chip Select 입력 받는 목적으로 SPI NSS.. 2016. 2. 1.
STM32. JTAG/SWD 핀 설정. 개요. STM32 를 디버깅, 프로그램 라이팅 목적으로 STM32 칩에 JTAG, SWD 핀 할당하는 경우 STM32CubeMX에서의 설정. 연결 가능 디버거/프로그래머 예. 1. ST-LINK V2 : http://igotit.tistory.com/268 2. ULINK2 : http://igotit.tistory.com/303 3. ULINK Pro : http://igotit.tistory.com/302 상기 JTAG 커넥터와 STM32의 결선방법 : http://igotit.tistory.com/304 상세. STM32CubeMX에서 탭 Pintout 에서 트리노드 SYS에서 선택가능. 위 콤보박스에서 JTAG (5 pins) 를 선택한 경우(아래그림), 오른쪽 칩의 5개핀들에 기능 할당되었다. .. 2016. 2. 1.
STM32 외부 크리스탈 연결 설정. 개요 STM32 에 외부 크리스탈 연결하기 위한 STM32CubeMX에서의 설정 사항. - STM32는 내장 오실레이터가 있어서, 외부 크리스탈 연결하지 않아도 칩 구동은 가능하나 외부크리스탈을 별도로 연결해야하는 경우 STM32CubeMX에서의 설정. 외부크리스탈 연결 설정하지 않은 STM32CubeMX의 Clock Configuration 에서 보이는 오실레이터 부. 핀 설정에서 RCC를 선택하지 않은 경우엔 아래 붉박처럼 디스에이블 되어있다. 칩 내부의 LSI RC 32kHz 와 HSI RC 16MHz 클럭으로 구동된다. 타겟칩 예 : STM32L476RGT6 . http://igotit.tisotry.com/453 외부크리스탈 설정. CubeMX 프로그램의 탭 Pinout 에서 트리 노드 RCC .. 2016. 2. 1.
STM32CubeMX 프로젝트 저장방법.(일관성 있는 프로젝트 폴더 관리 목적) 개요 STM32CubeMX 프로그램에서 프로젝트 저장시 일관된 방식. 문제상황 - 프로그램의 일관성 없는 저장기능. 예로 프로젝트명을 myProject 로 하고 싶다고 했을 때(즉, STM32CubeMX 의 프로젝트 이름도 myProject, KEIL 등의 IDE에서의 프로젝트명도 myProject ) STM32CubeMX 프로그램에서 제공하는 프로젝트 저장 기능이 아래 처럼 2곳에서 접근가능한데, 1. 메뉴->File -> "Save Project" 혹은 "Save Project As.." 를 이용한 프로젝트 저장. 2. 메뉴->Projects->Settings... 를 이용한 프로젝트 저장. 상기1의 방식으로 저장하게 되면 프로젝트 폴더 생성 사용자가 지정한 폴더 하위에 STM32CubeMX 프로젝트.. 2016. 2. 1.
STM32 DFU 모드에서 PC측 USB 장치드라이버. STM32 DFU 모드에서 PC측 USB 장치 드라이버 STM32의 핀 상태를 DFU(Device Firmware Upgrade) 모드로 하여 PC에 연결하면 별도의 드라이버 설치 파일 요구되지 않고 운영체제에서 자동 설치(윈도우 10 에서 확인됨.)된다. STM32 DFU USB 연결초기 장치 드라이버 자동 설치화면. - 윈도우 10인 경우. 드라이브 설치소요시간 : 약 10초이내 완료됨. 장치관리자에서 보이는 STM32 DFU 장치. 드라이버 확인. 본 글이 포함된 상위 정리장소 : http://igotit.tistory.com/244 의 STM32 ///645. 2016. 1. 31.
STM32 DMA 개념잡기. STM32F4 의 DMA F4시리즈의 어플리케이션 노트중, http://www.st.com/stonline/stappl/resourceSelector/app?page=fullResourceSelector&doctype=application_note&SeriesID=1577 1. DMA -> http://www.st.com/web/en/resource/technical/document/application_note/DM00046011.pdf (응용노트라기 보다는 상세설명)2. STM32CubeMX로 제공되는 DMA 라이브러리의 설명문 : http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00105879.. 2015. 12. 1.
STM32 FreeRTOS 사용가능 프로젝트 생성방법. 개요 STM32 개발시 FreeRTOS를 사용가능하게 하는 STM32CubeMX에서의 셋팅. 방법 1. STM32CubeMX 신규프로젝트 생성. STM32CubeMX 실행하고 신규 프로젝트 생성한다 2. Pinout탭에서 FreeRTOS 선택한다. Configuration 탭을 보면 MiddleWare 에 FreeRTOS가 들어와있다. FreeRTOS의 옵션 설정은 FreeRTOS클릭하여 설정가능하다. 지금은 그냥 기본 옵션으로 두자. 3. 자동코드 생성. 기타 다른 GPIO등 설정하고 나서 자동코드생성하자. 우리는 KEIL MDK-ARM용으로 생성한다. 자동생성된 프로젝트를 KEIL MDK-ARM에서 연 모습. FreeRTOS 없는 상태에서 생성된것 대비 추가된것들. 1. 프로젝트 소스에 붉박에 해당하.. 2015. 12. 1.


 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5