목록Arm (15)
Brise
원리부터 실무까지 쉽고 명확한 ARM프로그래밍(Cortex-A9 중심으로) "서평이벤트에 당첨되어 생능출판사로부터 책을 제공받아 작성된 리뷰입니다." ARM 어플리케이션 프로세서를 알아가기 위한 좋은 첫걸음 최근 ARM 기반의 리눅스를 구동 가능한 어플리케이션 프로세서의 구성이 거의 임베디드 프로세서 기반의 시스템 구성과 비슷하게 만드는 경우가 있습니다. 수 MB의 램만을 가지고도 리눅스를 동작 시킬 수 있습니다. 이런 이유로 점점 어플리케이션 프로세서인 Cortex-A 시리즈에 관심을 가지던 차에 좋은 기회가 있어 책을 읽게 되었습니다. 사실 시중에는 Cortex-A 시리즈를 다루는 책은 없다고 봐도 무방합니다. 있다고 해도 ARM 설계 아키텍쳐를 주로 설명하며 Cortex-A 내용이 곁다리로 들어간 ..
2017/04/28 - [STM32CubeMX] STM32F429-disc0 엔코더값 입력받기(quadrature encoder pulse) -1 이전 예제에서 이어 이 예제에서는 엔코더가 감지한 실제 각도를 액정에 출력해보겠습니다. 또한, 엔코더에 있는 Index 엔코더를 이용하여 한바퀴의 시작이 어느 부분인지 확인할 수 있도록 해보겠습니다. 설정 방식은 이전의 설정에 새로운 엔코더 모드로 동작하는 타이머를 동작시켜 실행합니다. 수도 코드는 다음과 같습니다. 1. 엔코더값 감지2. 각도 산출3. 바퀴값이 바뀐경우 --> 산출된 각도를 갱신4. 각도를 디스플레이 구현 코드는 다음과 같습니다.버퍼링을 하면 좀 더 깔끔히 나오겠지만, 굳이 예제에 할필요는 없을 것 같네요;; 123456789101112131..
이 예제는 다음 유튜브 동영상을 참고하여 만들었습니다. 먼저 이전 글에 있던 STM32CubeMX 프로젝트 파일을 불러옵니다. 2017/04/27 - [STM32CubeMX] STM32F429-DISC0 LCD 출력하기 STM32F429-DISC0보드의 경우 LCD와 SDRAM이 많은 핀을 차지하여 TIM2를 이용하여 encoder모드로 설정합니다. Configuration 탭에서 TIM2를 설정합니다. Counter Period의 값을 설정하여 타이머 카운터의 최대값을 설정할 수 있습니다. (최대 값을 넘으면 0으로 다시 바뀝니다.) 테스트용 유저 생성 코드는 다음과 같습니다. 1234567891011121314151617181920212223242526272829303132333435363738394..
위 동영상을 따라 만든 STM32F429보드용 STCubeMX 프로젝트 파일입니다. 설정한 내용은 다음과 같습니다. 위와 같이 설정하고 프로젝트 코드를 생성하면(필자의 경우 TrueStudio) 설정한 폴더에 코드가 생성됩니다.. 생성된 코드는 비록 우리가 Discovery보드로 설정을 했더라도, Discovery 보드에서 사용할 수 있는 BSP코드들을 자동으로 포함해주지 않습니다. 때문에 수동으로 BSP관련 코드들을 넣어주어야 합니다. 이를 위하여 펌웨어를 저장한 폴더로 접근합니다. STM32CubeMX에서는 기본적으로 사용자의 폴더 아래에 펌웨어를 저장합니다.(C:\Users\${사용자 이름}\STM32Cube\Repository\STM32Cube_FW_F4_V1.16.0) 펌웨어 폴더는 다음과 같습..
STM32F429-DISCO를 사용하기 위하여 프로젝트를 생성하는 방법은 크게 2가지가 있는데 첫번째는 STCubeMX를 이용하여 프로젝트를 생성하는 방법이고 두번째는 HAL Firmware의 템플릿을 직접 이용하는 방법이다. 전자의 경우는 BSP를 사용할 수 없다는 단점이 있고, 후자의 경우에는 파일이 링크 형태로 되어 있어 옮기기 힘들다는 단점이 있다. BSP를 사용하는 프로젝트를 만들기 위해서는 STCubeMX로 생성한 프로젝트 폴더에 BSP와 필요 HAL소스 코드를 추가하여 사용하는 방법이 가장 간단하다. 첨부파일은 위와 같이 STCubeMX로 생성한 프로젝트에 BSP와 HAL 소스코드 및 필요 유틸리티를 더하고 LTDC 예제를 씌운 프로젝트의 압축 파일이다. HAL라이브러리와 BSP를 사용하면 ..
이 포스팅을 따라하기에 앞서, SW4STM32를 설치하고 STM32F4 Firmware를 다운로드 하여야 한다. SW4STM32 설치하기 : (링크) STM32F4 Firmware 다운로드하기 : (링크) SW4STM32(이하 개발환경)을 실행한다. File à Import à Existing Projects into Workspace를 클릭한다. 압축을 푼 Firmware폴더에서 원하는 프로젝트 폴더를 선택한다. (이 경우에는 STM32Cube_FW_F4_V1.8.0\Projects\STM32F429I-Discovery\Examples\BSP\SW4STM32\STM32F429I-Discovery) 불러오기 원하는 프로젝트를 선택 한 뒤 Finish를 누른다. (프로젝트 파일들이 링크되어 있으므로, Co..
-- http://forum.falinux.com/zbxe/index.php?mid=lecture_tip&search_target=nick_name&search_keyword=%EA%B5%AC%EC%84%B1%ED%98%84 --
-- ST사에서는 stm32f 시리즈와 l시리즈를 위한 공통적인 라이브러리를 지원한다. 이 라이브러리는 st보드들을 개발하기 위한 IDE에 전반적으로 사용된다. 즉, API를 콜하는 방법은 약간 다르지만 소스코드 자체는 동일하다. ** 참고로 2014년부터 CMSIS의 라이브러리의 구조가 약간 바뀌었다. HAL라이브러리로. 이러한 CMSIS 펌웨어 라이브러리를 이용하여 사용자가 직업 코딩을 할 수도 있지만, 친절하게도, ST사에서는 STCubeMX라는 툴을 이용하여 간단하게 Pin과 Clock Configuration을 할 수 있도록 도와주고 있다. 이 툴을 이용하면, pin과 clock초기화를 GUI를 이용하여 생성하고 자동생성된 코드를 프로젝트에서 바로 불러와 프로젝트를 빠르게 만들 수 있다. 또한,..