Туториал Настройка программатора st-link v1 в ОС Linux

Тема в разделе "STM8/STM32", создана пользователем koteika, 16 сен 2014.

  1. koteika

    koteika В доску свой

    Сообщения:
    768
    Симпатии:
    118
    Род занятий:
    программирование
    Может кому пригодиться!

    В общем утилита st-flash не могла определить программатор st-link первой версии. В системе он определялся, а вот прошить или стереть контроллер было не возможно..

    Нашел в чем причина, для этого пришлось заново переустановить пакет st-link.

    Опишу процесс установки:

    Ставим следующие пакеты:
    Код:
    sudo apt-get install libusb-1.0-0-dev
    sudo apt-get install git
    sudo apt-get install  autoconf
    sudo apt-get install  automake
    sudo apt-get install  libtool
    Копируем st-link в любую папку
    Код:
    git clone git://github.com/burjui/stlink.git 
    Далее устанавливаем st-link
    Код:
    ./autogen.sh
    ./configure
    make
    sudo make install
    Ждем окончания установки..

    Даем права на запись:
    Код:
    sudo cp 49-stlinkv* /etc/udev/rules.d/
    sudo udevadm control --reload-rules
    Выключаем эмуляцию флешки:
    Код:
    sudo cp stlink_v1.modprobe.conf /etc/modprobe.d
    sudo modprobe -r usb-storage && sudo modprobe usb-storage
    Подключаем нашу отладочную плату, заходим в папку flash(утилита для прошивки мк)
    Выполняем команду make, получаем файл st-flash

    Запускаем st-flash:
    Код:
    $ ./st-flash
    invalid command line
    stlinkv1 command line: ./flash [--reset] {read|write} /dev/sgX path addr <size>
    stlinkv1 command line: ./flash /dev/sgX erase
    stlinkv2 command line: ./flash [--reset] {read|write} path addr <size>
    stlinkv2 command line: ./flash erase
                           use hex format for addr and <size>
    
    Видим список доступных команд..

    Для проверки правильности установки, я выполнил очистку мк:
    Код:
    $ ./st-flash erase
    2014-09-16T14:35:16 INFO src/stlink-usb.c: -- exit_dfu_mode
    2014-09-16T14:35:16 INFO src/stlink-common.c: Loading device parameters....
    2014-09-16T14:35:16 INFO src/stlink-common.c: Device connected is: F1 Medium-density Value Line device, id 0x10016420
    2014-09-16T14:35:16 INFO src/stlink-common.c: SRAM size: 0x2000 bytes (8 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes
    Mass erasing
    
    Как видим программатор определился, вывел информацию об мк установленном на плате. Количество памяти, id контроллера..

    Информация по установке компилятора, настройки IDE http://robocraft.ru/blog/ARM/653.html
    radioengineer нравится это.
     
    : stm32, linux, stlink
  2. koteika

    koteika В доску свой

    Сообщения:
    768
    Симпатии:
    118
    Род занятий:
    программирование
    Попробовал прошить микроконтроллер:
    Код:
    $ ./st-flash  write main.bin  0x08000000
    2014-09-17T19:27:16 INFO src/stlink-common.c: Loading device parameters....
    2014-09-17T19:27:16 INFO src/stlink-common.c: Device connected is: F1 Medium-density Value Line device, id 0x10016420
    2014-09-17T19:27:16 INFO src/stlink-common.c: SRAM size: 0x2000 bytes (8 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes
    2014-09-17T19:27:16 INFO src/stlink-common.c: Attempting to write 40 (0x28) bytes to stm32 address: 134217728 (0x8000000)
    Flash page at addr: 0x08000000 erased
    2014-09-17T19:27:16 INFO src/stlink-common.c: Finished erasing 1 pages of 1024 (0x400) bytes
    2014-09-17T19:27:16 INFO src/stlink-common.c: Starting Flash write for VL/F0/F3 core id
    2014-09-17T19:27:16 INFO src/stlink-common.c: Successfully loaded flash loader in sram
      0/0 pages written
    2014-09-17T19:27:16 INFO src/stlink-common.c: Starting verification of write complete
    2014-09-17T19:27:16 INFO src/stlink-common.c: Flash written and verified! jolly good!
    
  3. radioengineer

    radioengineer Администратор Команда форума

    Сообщения:
    3.595
    Симпатии:
    357
    Адрес:
    Алматы
    Немного запоздало, но нашел в документации на openocd следующую информацию:

Поделиться этой страницей