STM32 디스커버리 보드가 있으며 Linux에서 프로그래밍 할 수 있기를 원합니다.
가장 쉬운 방법은 무엇입니까?
STM32 디스커버리 보드가 있으며 Linux에서 프로그래밍 할 수 있기를 원합니다.
가장 쉬운 방법은 무엇입니까?
답변:
STM32 Discovery 보드 (또는 ST-Link 프로그래머를 사용하는 STM32)를 프로그래밍하고 디버깅하는 쉬운 방법은 'stlink'프로젝트 https://github.com/texane/stlink 를 사용하는 것입니다 (그러나 OpenOCD도 인기가있는 것으로 보입니다)
ST Nucleo 보드는 USB 플래시 장치로도 표시되므로 stlink
파일을 복사하기 만하면됩니다.
http://gpio.kaltpost.de/?page_id=131 및 http://torrentula.to.funpic.de/2012/03/22/ 와 같이 Linux에서 STM32 발견을위한 개발 방법에 대한 좋은 페이지가 있습니다. setting-up-the-stm32f4-arm-development-toolchain / 및 http://jethomson.wordpress.com/2011/11/17/getting-started-with-the-stm32f4discovery-in-linux/
그러나 마지막 링크가 가장 유용하다는 것을 알았습니다. ST의 STM32 프로젝트를있는 그대로 빌드하는 방법을 보여줍니다. 유일한 변경 사항은 완벽한 솔루션 인 것처럼 보이는 Makefile을 추가하는 것입니다.
최신 버전의 Ubuntu에는 ARM 컴파일러를 포함하는 패키지를 설치할 수 있습니다.
sudo apt-get install gcc-arm-none-eabi
프로세서는 모두 약간 다릅니다. STM32F0..4는 모두 다른 컴파일러 플래그가 필요하며 링커 스크립트는 각각 약간 씩 다릅니다 (실제로는 RAM 및 플래시 크기가 변경 되었음에도 불구하고).
편집 : 정말 빨리 시작 하려면 http://www.espruino.com 을 참조하십시오 . STM32 자체에서 실행되는 JavaScript 인터프리터이므로 일단 'stlink'가 설치되면 보드에 플래시 할 수 있으므로 해당 사이트에서 이미지를 다운로드하여 플래시 한 다음 터미널 응용 프로그램과 연결하고 프로그래밍을 시작하십시오.
GUI를 사용하는 대신 텍스트 편집기 및 Makefile에 더 익숙하다면 다음을 수행 할 수 있습니다.
프로젝트를 보드로 가져옵니다. 어느 쪽이든 사용
텍스트 편집기로 코드를 작성하고 명령 행 도구를 사용하십시오. 이 튜토리얼 은 많은 팁을 제공합니다.
즐겨
Eclipse , GCC 및 OpenOCD 는 하나의 툴체인입니다. EMCU-IT 에서 권장하며 여기에 추가 정보가 있습니다 . 이 페이지는 FreeRTOS.org 와 같은 RTOS를 사용하는 것이 좋습니다 . 그러나 그것은 당신에게 달려 있습니다.
Linux에서 STM32 예제를 컴파일하는 데 도움이 필요하면 여기로 이동하십시오 . 이 링크는 호출 할 수있는 예제의 makefile을 가리 킵니다.
git clone git://github.com/snowcap-electronics/stm32-examples.git
cd stm32-examples
wget http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32_f105-07_f2xx_usb-host-device_lib.zip
unzip stm32_f105-07_f2xx_usb-host-device_lib.zip
몇 가지 사소한 코드 수정 사항도 문서화되어 있지만 대부분의 프로젝트는
make CROSS_COMPILE=/path/to/arm-2011.03/bin/arm-none-eabi-
https://github.com/JorgeAparicio/bareCortexM에서 성공했습니다 (링크 된 블로그 게시물 참조). 필자는 코드에 디버깅 문을 삽입하거나 칩 내부에서 무슨 일이 일어나고 있는지 추측하는 대신 코드를 한 단계 씩 실행하거나 장치 메모리를 탐색 할 수 있다는 것을 알고 있습니다.
bareCortexM 프로젝트는 OS가없는 C ++에서 Cortex M 시리즈, 특히 STM32로 개발하기위한 Eclipse 템플릿입니다. openocd, gcc를 사용하도록 구성되었으며 일부 디스커버리 보드를 포함하여 여러 대상으로 플래시 및 디버깅하는 스크립트가 있습니다. 지침을 따르고 권장되는 Eclipse 플러그인을 설치함으로써 우분투에서 STM32VLDISCOVERY를 사용할 수있었습니다.
권장대로 Eclipse 템플릿을 STM32 하드웨어 용 동일한 작성자의 libstm32pp C ++ 템플릿 라이브러리와 결합했습니다. libstm32pp는 CMSIS에 대한 놀라 울 정도로 완전히 교체하고 같은 것을 말할 수있는 프로그래밍 모델로 자주 비판 STM32 드라이버를 제공 PB10::setMode(gpio::cr::GP_OPEN_DRAIN_2MHZ)
하고 PINB::setLow()
나 PINB::setHigh()
때문에 C ++ 템플릿에 대한 모든 대부분의 컴파일 된 인라인. 설정이 매우 좋습니다.
다음은 Linux 또는 다른 OS에서 STM32F0 디스커버리 보드를 사용하는 빠른 시작을위한 작지만 혁신적인 템플릿 프로젝트입니다.
https://github.com/dobromyslov/stm32f0-chibios-template
이 프로젝트는 무료 및 오픈 소스 실시간 운영 체제 인 ChibiOS를 사용하므로 처음부터 완전히 구현 한 것은 아닙니다.
platformio을 고려하십시오 . 명령 줄에 익숙하다면 platformio가 개발 프로세스를 상당히 쉽게 해줍니다. pio init
프로젝트를 설정하는 데 사용할 수 있습니다. pio run
컴파일하기 위해 툴체인을 활용합니다. pio run --target upload
장치에 코드를 보냅니다. Platformio는 필요에 따라 툴체인 구성 요소, 라이브러리 등을 다운로드합니다.