реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Ошибки при загрузке (IAR ARM 6.30 + STM32), Вдруг начал выдавать ошибки при проверке загруженного кода
AndyBig
сообщение Feb 1 2013, 07:55
Сообщение #1


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Совершенно непонятная ошибка. После очередного изменения исходников дебаггер вдруг начал при проверке залитого кода ругаться на ошибки:
Цитата
Fri Feb 01, 2013 11:45:24: Warning:
Verify error at address 0x0801A080, target byte: 0xA5, byte in file: 0x15
Fri Feb 01, 2013 11:45:24: Warning:
Verify error at address 0x0801A081, target byte: 0x02, byte in file: 0xFC
...

Таких ошибок ровно 15 штук. Первая ошибка всегда указывает на адрес начала ROM + 0x1080
Погрешил на кристалл, взял другой, ситуация никак не изменилась. Пробовал уменьшать частоту SWD, тоже безрезультатно.
Изменил в файле .icf адрес начала ROM, ничего не поменялось кроме адресов ошибок - они так же сместились, опять начинаясь с +0x1080 от начала ROM.
Единственное изменение дает замена в файле FlashSTM32F10xxD.flash загрузчика с FlashSTM32F10xxxRAM48K.out на FlashSTM32F10xxxRAM64K.out - количество ошибок уменьшается с 15 до 7.

Никто с таким не сталкивался? Уже и не знаю куда рыть...
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Feb 1 2013, 10:41
Сообщение #2


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Разобрался. А то уже волосы стал потихоньку выдирать sm.gif
Присина оказалась в DMA, по которому у меня считываются результаты измерений двух каналов АЦП. Судя по всему DMA продолжал молотить даже после сброса контроллера и портил флэшлоадеру память.
Прописал свой скрипт, отключающий DMA и все наладилось.
Go to the top of the page
 
+Quote Post
ut1wpr
сообщение Feb 2 2013, 19:12
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 98
Регистрация: 20-06-05
Пользователь №: 6 150



Цитата(AndyBig @ Feb 1 2013, 13:41) *
Разобрался. А то уже волосы стал потихоньку выдирать sm.gif
Присина оказалась в DMA, по которому у меня считываются результаты измерений двух каналов АЦП. Судя по всему DMA продолжал молотить даже после сброса контроллера и портил флэшлоадеру память.
Прописал свой скрипт, отключающий DMA и все наладилось.
Впервые слышу, чтобы периферия МК по сбросу не сбрасывалась в power-on state. Может, кто-то еще этот феномен встречал?
Цитата
Судя по всему DMA продолжал молотить даже после сброса контроллера
По каким признакам вы сделали этот вывод?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 2 2013, 20:00
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (ut1wpr @ Feb 2 2013, 21:12) *
Впервые слышу, чтобы периферия МК по сбросу не сбрасывалась в power-on state.
Сбрасывается. А после отпускания сброса запускается пользовательская программа, которая успевает запустить DMA еще до того, как отладчик перехватит управление и остановит ее. Сталкивался с точно таким же поведением, хотя работал не с IAR, а с OpenOCD. Победил, добавв в скрипт отладчика команды остановки всех каналов DMA и запрет прерываний перед загрузкой прошивки.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ut1wpr
сообщение Feb 5 2013, 14:35
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 98
Регистрация: 20-06-05
Пользователь №: 6 150



Цитата(Сергей Борщ @ Feb 2 2013, 23:00) *
Сбрасывается. А после отпускания сброса запускается пользовательская программа, которая успевает запустить DMA еще до того, как отладчик перехватит управление и остановит ее. Сталкивался с точно таким же поведением, хотя работал не с IAR, а с OpenOCD. Победил, добавв в скрипт отладчика команды остановки всех каналов DMA и запрет прерываний перед загрузкой прошивки.

Дык это же совсем иное дело. Все понятно и логично. Все-таки сбрасывается. Но ведь это жуть! Останавливаться на точке входа в main, успев перед этим "втихую" нахулиганить. Вот и верь им после этого.
Go to the top of the page
 
+Quote Post
wmakc
сообщение Apr 26 2014, 05:10
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 2-03-10
Пользователь №: 55 768



Не подскажете, а какой вы скрипт использовали? У меня вроде бы похожая проблема.
Go to the top of the page
 
+Quote Post
Belikov_lp
сообщение May 18 2014, 03:40
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 16-03-14
Пользователь №: 80 948



Подскажите пожалуйста, не могу откомпелировать проект, перенесённый в другую область памяти на компе. начинает выдавать кучу ошибок. Может место дислокации библиотек поменялось?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016