После того как на руках появилась плата, появился вопрос о программировании и отладке мк в Gentoo Linux.
Для начала создадим директорию где у нас будет лежать все необходимые файлы.
и перейдем в нее
nis@jane ~ $ cd stm32
nis@jane ~/stm32 $
теперь нам необходимо скачать linux версию st-link
nis@jane ~/stm32 $ git clone git://github.com/burjui/stlink.git -b server-restart
Cloning into stlink...
remote: Counting objects: 3340, done.
remote: Compressing objects: 100% (1126/1126), done.
remote: Total 3340 (delta 2150), reused 3314 (delta 2130)
Receiving objects: 100% (3340/3340), 12.55 MiB | 426 KiB/s, done.
Resolving deltas: 100% (2150/2150), done.
после скачивания исходных кодов из git-репозитария перейдем в директорию stlink и соберем необходимые исполнаяемые файлы.
nis@jane ~/stm32 $ cd stlink
nis@jane ~/stm32/stlink $ make
после сборки нам необходимо разместить файлы по своим местам чтобы было удобно с ними работать(для этих операций понадобятся права суперпользователя):
1) Скопируем правила для udev и перезагрузим его текущие настройки
jane stlink # cp 49-stlinkv* /etc/udev/rules.d/
jane stlink # udevadm control --reload-rules
2) Скопируем в папку /usr/bin необходимые для работы исполняемые файлы
3) Так как stm32vldiscovery при подключении к компу притворяется scsi диском то это тоже надо отключить ( это справедливо только если у вас usb-storage является отдельным модулем а не вкомпилен в ядро)
jane stlink # cp stlink_v1.modprobe.conf /etc/modprobe.d/
jane stlink # modprobe -r usb-storage && modprobe usb-storage
В случае если у нас usb-storage отдельный модуль то при подключении stm32vldiscovery мы должны получить следующие сообщения в dmesg
[ 1126.107112] usb-storage 5-1:1.0: usb_probe_interface
[ 1126.107117] usb-storage 5-1:1.0: usb_probe_interface - got id
[ 1126.107332] usb-storage 5-1:1.0: device ignored
На этом подготовка закончена.
В качестве пробы можно запустить st-util с ключем -1 для того чтобы указать что используется st-link первой версии(внимание плата должна быть подключена к компьютеру)
nis@jane ~/stm32/stlink $ st-util -1
2012-01-26T15:33:51 INFO src/stlink-sg.c: Current mode unusable, trying to get back to a useful state...
2012-01-26T15:33:51 WARN src/stlink-sg.c: received tag 0 but expected 3
2012-01-26T15:33:51 INFO src/stlink-common.c: Loading device parameters....
2012-01-26T15:33:51 INFO src/stlink-common.c: Device connected is: F1 Medium-density Value Line device
2012-01-26T15:33:51 INFO src/stlink-common.c: SRAM size: 0x2000 bytes (8 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes
2012-01-26T15:33:51 INFO src/stlink-sg.c: Successfully opened a stlink v1 debugger
Chip ID is 10016420, Core ID is 1ba01477.
KARL - should read back as 0x03, not 60 02 00 00
init watchpoints
Listening at *:4242...
^C
На плате загорятся еще один красны светодиод отладки. Все на этом мы закончили подготовку к написанию программ под этот мк, GCC мы будем использовать уже ранее собранный.
Основой для этой статьи послужил материал сайта robocraft.ru
Для начала создадим директорию где у нас будет лежать все необходимые файлы.
nis@jane ~ $ mkdir stm32
и перейдем в нее
nis@jane ~ $ cd stm32
nis@jane ~/stm32 $
теперь нам необходимо скачать linux версию st-link
nis@jane ~/stm32 $ git clone git://github.com/burjui/stlink.git -b server-restart
Cloning into stlink...
remote: Counting objects: 3340, done.
remote: Compressing objects: 100% (1126/1126), done.
remote: Total 3340 (delta 2150), reused 3314 (delta 2130)
Receiving objects: 100% (3340/3340), 12.55 MiB | 426 KiB/s, done.
Resolving deltas: 100% (2150/2150), done.
после скачивания исходных кодов из git-репозитария перейдем в директорию stlink и соберем необходимые исполнаяемые файлы.
nis@jane ~/stm32 $ cd stlink
nis@jane ~/stm32/stlink $ make
после сборки нам необходимо разместить файлы по своим местам чтобы было удобно с ними работать(для этих операций понадобятся права суперпользователя):
1) Скопируем правила для udev и перезагрузим его текущие настройки
jane stlink # cp 49-stlinkv* /etc/udev/rules.d/
jane stlink # udevadm control --reload-rules
2) Скопируем в папку /usr/bin необходимые для работы исполняемые файлы
jane stlink # cp gdbserver/st-util /usr/bin
jane stlink # cp flash/flash /usr/bin/st-flash3) Так как stm32vldiscovery при подключении к компу притворяется scsi диском то это тоже надо отключить ( это справедливо только если у вас usb-storage является отдельным модулем а не вкомпилен в ядро)
jane stlink # cp stlink_v1.modprobe.conf /etc/modprobe.d/
jane stlink # modprobe -r usb-storage && modprobe usb-storage
В случае если у нас usb-storage отдельный модуль то при подключении stm32vldiscovery мы должны получить следующие сообщения в dmesg
[ 1126.107112] usb-storage 5-1:1.0: usb_probe_interface
[ 1126.107117] usb-storage 5-1:1.0: usb_probe_interface - got id
[ 1126.107332] usb-storage 5-1:1.0: device ignored
На этом подготовка закончена.
В качестве пробы можно запустить st-util с ключем -1 для того чтобы указать что используется st-link первой версии(внимание плата должна быть подключена к компьютеру)
nis@jane ~/stm32/stlink $ st-util -1
2012-01-26T15:33:51 INFO src/stlink-sg.c: Current mode unusable, trying to get back to a useful state...
2012-01-26T15:33:51 WARN src/stlink-sg.c: received tag 0 but expected 3
2012-01-26T15:33:51 INFO src/stlink-common.c: Loading device parameters....
2012-01-26T15:33:51 INFO src/stlink-common.c: Device connected is: F1 Medium-density Value Line device
2012-01-26T15:33:51 INFO src/stlink-common.c: SRAM size: 0x2000 bytes (8 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes
2012-01-26T15:33:51 INFO src/stlink-sg.c: Successfully opened a stlink v1 debugger
Chip ID is 10016420, Core ID is 1ba01477.
KARL - should read back as 0x03, not 60 02 00 00
init watchpoints
Listening at *:4242...
^C
На плате загорятся еще один красны светодиод отладки. Все на этом мы закончили подготовку к написанию программ под этот мк, GCC мы будем использовать уже ранее собранный.
Основой для этой статьи послужил материал сайта robocraft.ru
Комментариев нет:
Отправить комментарий