리눅스에서 STM32F4 Discovery 보드에 플래시 프로그래밍이 가능하도록

SWD 드라이버를 아래 링크에서 소스를 받아 컴파일 할수 있다.

git clone git://github.com/texane/stlink.git

Type the following commands:

  • cd stlink
    

     to navigate into the stlink directory and then:

  • /autogen.sh
    
  • ./configure
    
  • make


lsusb 로 VID 0483, PID 3748 을 확인 할 수 있다. (Bus 003 Device 005: ID 0483:3748 STMicroelectronics ST-LINK/V2)

st-util 명령으로 동작 확인.

  • $ st-util 
    2016-01-26T21:19:10 INFO src/stlink-usb.c: -- exit_dfu_mode
    2016-01-26T21:19:10 INFO src/stlink-common.c: Loading device parameters....
    2016-01-26T21:19:10 INFO src/stlink-common.c: Device connected is: F4 device, id 0x10016413
    2016-01-26T21:19:10 INFO src/stlink-common.c: SRAM size: 0x30000 bytes (192 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes
    2016-01-26T21:19:10 INFO gdbserver/gdb-server.c: Chip ID is 00000413, Core ID is  2ba01477.
    2016-01-26T21:19:10 INFO gdbserver/gdb-server.c: Target voltage is 2905 mV.
    2016-01-26T21:19:10 INFO gdbserver/gdb-server.c: Listening at *:4242...
    




PyPi의 모듈로 RPi.GPIO가 기본 설치가 되어 있다.

https://pypi.python.org/pypi/RPi.GPIO

만약, 모듈이 설치 되어 있지 않다면, 아래 패키지로 설치.

$ sudo apt-get install python-rpi.gpio python3-rpi.gpio


gpio 관련 peripheral register를 직접 제어하는 방식으로

/dev/mem 접근을 위해 root권한을 필요하다.


예제 링크: http://sourceforge.net/p/raspberry-gpio-python/wiki/Examples/

Expansion header pin map : http://elinux.org/RPi_Low-level_peripherals


40핀이 아닌 RPi Original 용 26핀 확장 보드를 구매해서, 커넥터 연결할때 27,28핀을 옆으로 휘어야 했다. 40핀 확장보드를 샀어야 했다.

테스트 동영상 : https://youtu.be/zc-Y3Qv9oy0


아래 링크를 참고하여 빌드.

https://www.raspberrypi.org/documentation/linux/kernel/building.md

RPi2에서 native compiler로 빌드를 했는데, -j4 옵션을 주어도 약 3시간이 걸렸다.

cross-compiling이 현재는 정석. (i7 데스크탑으로 5분...)


LOCALVERSION으로 별도의 버전 명 표기 :

$ make LOCALVERSION=+mybuild -j8 zImage modules dtbs

modules_install 시, 아래 처럼 별도 버전의 path로 커널 모듈이 인스톨 된다.

$ make INSTALL_MOD_PATH=../mnt/ext4 modules_install

$ ls ../mnt/ext4/lib/modules/ 

4.1.6-v7+

4.1.6-v7+mybuild



+ Recent posts