Перейти к содержанию
    

STM32F103RBT6 не прошивается

Собственно сабж. На двух одинаковых платах. При попытке прошить ULINK2'ом сыплет кучу

Contents missmatch at: 08000000H  (Flash=FFH  Required=68H) !
Contents missmatch at: 08000001H  (Flash=FFH  Required=3EH) !
Contents missmatch at: 08000002H  (Flash=FFH  Required=00H) !
Contents missmatch at: 08000003H  (Flash=FFH  Required=20H) !
Contents missmatch at: 08000004H  (Flash=FFH  Required=E9H) !

Цеплялся через загрузчик и все стирал - не помогло.

 

З.Ы. Рядом лежит плата с STM32F103VET6 - все нормально пишет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Была несколько похожая проблема с аналогичными чипами - не прошивались J-Link'ом. Но после первой прошивки Wiggler'ом в дальнейшем все работало (в смысле J-Link).

 

З.Ы.: Утилита JLinkSTM32 от Segger (Flash unlock) не помогала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я когда через openocd работаю, надо сперва разлочить чип

stm32x unlock 0

а только потом стирать или шить его

stm32x mass_erase 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за советы. На работе только ulink. Дома j-link. Wiggler'а нигде нет. И с openocd не работал. Она под винды есть? :)

 

З.Ы. встречался с подобной проблемой сам7, с ними вопрос решался коротенькой программой, скомпиленой и выполненной из ОЗУ. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за советы. На работе только ulink. Дома j-link. Wiggler'а нигде нет. И с openocd не работал. Она под винды есть? :)

 

J-Link вроде работает с openocd. Простейший путь такой:

1. Идём вот сюда;

2. Качаем вот этот архив. Там пример для stm32, но это не главное, главное - там есть проверенная (и мной в том числе) сборка OpenOcd;

3. Извлекаем из архива папку OpenOcd, например, в C:\tools\OpenOcd;

4. Пишем батник prog.bat:

@echo off
set PATH=C:\tools\OpenOcd\bin;%PATH%
set INTERFACE=jlink.cfg
set TARGET=stm32f10x_128k_eval.cfg
@openocd -d0 -f interface/%INTERFACE% -f target/%TARGET% -c init -c targets -c "halt" -c "flash write_image erase %1" -c "verify_image %1" -c "reset run" -c shutdown

 

И запускаем prog.bat file.elf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И запускаем prog.bat file.elf

Error: No valid jtag interface found (jlink)
Error: compiled-in jtag interfaces:
Error: 0: parport
Error: 1: ft2232

 

Не хватает модуля для J-Link?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Error: compiled-in jtag interfaces:

Error: 0: parport

Error: 1: ft2232[/code]

 

Упс. Похоже что да. Юникс-вей, блин:)

 

Причём они теперь решили, что нельзя распространять бинарники, линкующиеся с проприетарными библиотеками, такими как ftd2xx.dll или jlink-овская dll. Остался только единственный вариант - собирать самому. Ну или можно klen-а попросить:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дома попробую сам собрать.

 

З.Ы. а вот j-flash нормально прошил и проверифаил. Но это извращение. Да и отладки никакой. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дома попробую сам собрать.

 

А нельзя ли, если получится, заодно и поддержку rlink включить? Ну и поделиться результатом, конечно:) А то валяется у меня Primer2, хочется скрестить его с openocd.

 

З.Ы. а вот j-flash нормально прошил и проверифаил. Но это извращение. Да и отладки никакой. :(

Так вроде есть J-Link GDB Server? И, по идее, теперь и uLink должен заработать, если конечно j-flash не включает защиту обратно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А нельзя ли, если получится, заодно и поддержку rlink включить? Ну и поделиться результатом, конечно :) А то валяется у меня Primer2, хочется скрестить его с openocd.

Так вроде есть J-Link GDB Server? И, по идее, теперь и uLink должен заработать, если конечно j-flash не включает защиту обратно.

Я, конечно, попробую. Но боюсь одним вечером разбирательства с OpenOcd не закончатся.

А чем может помочь J-Link GDB Server? Keil через него работать не умеет.

З.Ы. и через RDI он работать отказывается. :( А ведь при работе через RDI используется как раз segger'овский прошивальщик, который нормально все шьёт.

 

Если предварительно стереть чип J-Flash'ем то один раз прошивается нормально :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашёл бинарники под винду: вот. Вроде не ругается на слово jlink.

На rlink тоже не ругается, но нормально не работает, не видит таргета:)

 

А чем может помочь J-Link GDB Server? Keil через него работать не умеет.

 

А, кейл. Ну тогда ой:)

 

Если предварительно стереть чип J-Flash'ем то один раз прошивается нормально :)

 

Чудеса:)

 

----

А, сообразил. В Primer2 rlink работает в SWD режиме, openocd его не поддерживает. Так что моя мечта пока несбыточна:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то у меня последний OpenOCD даже под Debian не собирается. Не хватает ему usb.h (непонятно какого).

 

В процесе поиска других путей решения проблемы. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то у меня последний OpenOCD даже под Debian не собирается. Не хватает ему usb.h (непонятно какого).

 

А бинарники по ссылке выше? Не работают? Или надо под линукс?

 

Что касаемо usb.h- это надо поставить libusb.

 

В процесе поиска других путей решения проблемы. :)

 

Кстати, может где-нибудь на форуме кейла это уже обсуждалось? Вряд ли это уникальная проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А бинарники по ссылке выше? Не работают? Или надо под линукс?

Что касаемо usb.h- это надо поставить libusb.

Не работают (или я не разобрался). Пишет, что не может найти jlink интерфейс. Под него нужны нестандартные дрова?

Под линухом libusb стоит. Но тем не менее. :(

 

Кстати, может где-нибудь на форуме кейла это уже обсуждалось? Вряд ли это уникальная проблема.

Искал. У них эта проблема решается стиранием области Flash Options. У меня не решается. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не работают (или я не разобрался). Пишет, что не может найти jlink интерфейс. Под него нужны нестандартные дрова?

Не знаю. Под rlink там есть отдельные дрова. Под jlink - не видать. Возможно поддержку родных jlink-дров убрали, а своё ещё не написали. Вообще этот openocd - самый сумбурный проект из всех, что я видел.

Под линухом libusb стоит. Но тем не менее. :(

Так надо наверное -devel или что-то в этом духе:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...