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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Трудности с прочтением flash памяти, Невидимая прошивка
Turbo_enot
сообщение Sep 19 2013, 09:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 2-08-13
Пользователь №: 77 769



Здравствуйте. Прошу помочь мне со следующей ситуацией: через IAR в MSP430F2101 заливается файл прошивки; задача: необходимо прочесть её из прошитого МК. Имеется GANG, однако, при чтении памяти он показывает, что она пустая, и прошивки там нет. При этом она там есть, так как устройство работает как надо. Есть парочка подводных камней, которые только ещё больше запутывают происходящее: У МК память на 1кБ + INFO 256b. GANG показывает, что прошивка весит 1,392b. Память контроллера 0xFC00 - 0xFFFF, в то время как GANG показывает, что прошивка 0xF000 - 0xF520. GANG отказывается шить МК прошивкой, превышающей память МК.
Вопрос: почему IAR прошивает???? и главное это ж ведь работает! И как всё же считать то, каким образом это осело на памяти МК??
Буду благодарен за любую помощь, подсказку, предположение, совет.
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 19 2013, 18:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



В каком формате ваша прошивка? Сюда ее в виде архивного файла выложить можете?
Go to the top of the page
 
+Quote Post
Turbo_enot
сообщение Sep 20 2013, 07:28
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 2-08-13
Пользователь №: 77 769



Цитата(rezident @ Sep 19 2013, 21:01) *
В каком формате ваша прошивка? Сюда ее в виде архивного файла выложить можете?


Формат a43. Возможно позже удастся. Хотите проверить самостоятельно? Заметил ещё одну вещь: Если поменять в ганге МК с 2101 на 2121 (памяти 4КБ), и прочесть внутреннюю память, которая начинается с 0xF000, то угадайте, что происходит - ганг показывает, что прошивка находится в этой самой памяти, начиная с её начала (у МК 2121 это 0xF000), по своему собственному адресу, который начинается там же. Я как бы обманываю ганг, говоря, что у меня не тот МК - ладно. Я ПРОШИВАЮ этой прошивкой 2101, говоря, что у меня 2121 - допустим. НО КАК ЖЕ ТАК? У моего МК 3 скрытых КБ памяти? Мне уже банально любопытно!

Сообщение отредактировал Turbo_enot - Sep 20 2013, 07:37
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 20 2013, 07:40
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Turbo_enot @ Sep 20 2013, 10:28) *
Если поменять в ганге МК с 2101 на 2121 (памяти 4КБ)

А сам он что определяет?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Turbo_enot
сообщение Sep 20 2013, 07:56
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 2-08-13
Пользователь №: 77 769



Цитата(MrYuran @ Sep 20 2013, 10:40) *
А сам он что определяет?


Сказать трудно... ганг вроде не определяет, нужно самостоятельно указывать устройство.
Go to the top of the page
 
+Quote Post
Turbo_enot
сообщение Sep 20 2013, 11:56
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 2-08-13
Пользователь №: 77 769



Начинаю думать, что у них все устройства с одинаково максимальным количеством памяти, но с разной маркировкой. biggrin.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 20 2013, 18:30
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Turbo_enot @ Sep 20 2013, 12:28) *
Формат a43. Возможно позже удастся. Хотите проверить самостоятельно?

a43 это же Intel-extended формат вроде? Тот же HEX по сути дела.
Откройте прошивку в notepad (Блокнот) или в другом текстовом редакторе, скопируйте и вставьте в свое сообщение первые 3-4 строки из текста прошивки. По hex-файлу можно определить с какого адреса должна грузиться прошивка. Ну либо сами изучите формат Intel HEX.
Go to the top of the page
 
+Quote Post
Turbo_enot
сообщение Sep 23 2013, 06:05
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 2-08-13
Пользователь №: 77 769



Цитата(rezident @ Sep 20 2013, 21:30) *
a43 это же Intel-extended формат вроде? Тот же HEX по сути дела.
Откройте прошивку в notepad (Блокнот) или в другом текстовом редакторе, скопируйте и вставьте в свое сообщение первые 3-4 строки из текста прошивки. По hex-файлу можно определить с какого адреса должна грузиться прошивка. Ну либо сами изучите формат Intel HEX.


Да, именно так. Я изучил её адреса, и поэтому выше писал о том, откуда она начинается.
Давайте так: вот прошивка, а вы мне ответьте, может ли она быть успешно записана в MSP430F2101. Мне очень интересно, что вы скажите. wink.gif

Сообщение отредактировал Turbo_enot - Sep 23 2013, 06:18
Прикрепленные файлы
Прикрепленный файл  Experimental.rar ( 1.45 килобайт ) Кол-во скачиваний: 22
 
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 23 2013, 12:03
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Turbo_enot @ Sep 23 2013, 11:05) *
Давайте так: вот прошивка, а вы мне ответьте, может ли она быть успешно записана в MSP430F2101. Мне очень интересно, что вы скажите. wink.gif

Да, действительно прошивка начинается с адреса 0xF000. И вроде как не должна помещаться в MSP430F2101. Может у вас тип TARGET в проекте неправильно выбран? Или в реальности стоит именно MSP430F2121 или даже MSP430F2131? Сигнатура у них может быть одинаковой и обмануть GANG нехитро.
Go to the top of the page
 
+Quote Post
Turbo_enot
сообщение Sep 23 2013, 12:25
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 2-08-13
Пользователь №: 77 769



Цитата(rezident @ Sep 23 2013, 15:03) *
Да, действительно прошивка начинается с адреса 0xF000. И вроде как не должна помещаться в MSP430F2101. Может у вас тип TARGET в проекте неправильно выбран? Или в реальности стоит именно MSP430F2121 или даже MSP430F2131? Сигнатура у них может быть одинаковой и обмануть GANG нехитро.


В реальности стоит MSP430F2101, а чтобы записать эту прошивку, приходится выставлять на MSP430F2121. Вопрос как раз в том, почему запись происходит, и откуда у 2101 память на эту прошивку. А GANG, в пределах одной серии (например 2101, 2111, 2121), обманывается на ура. Так что же? TI нумеруют MSP430F2112 как MSP430F2101? Интересно ж ведь! Ещё пугают возможные последствия, однако всё работает исправно. laughing.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 23 2013, 14:57
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Turbo_enot @ Sep 23 2013, 17:25) *
Вопрос как раз в том, почему запись происходит, и откуда у 2101 память на эту прошивку.

Не могу проверить. GANG есть, MSP430F2101 нету.
Цитата(Turbo_enot @ Sep 23 2013, 17:25) *
А GANG, в пределах одной серии (например 2101, 2111, 2121), обманывается на ура. Так что же? TI нумеруют MSP430F2112 как MSP430F2101?
Сигнатура у кристаллов, отличающихся лишь размером Flash, действительно одинаковая.
Цитата(Turbo_enot @ Sep 23 2013, 17:25) *
Интересно ж ведь! Ещё пугают возможные последствия, однако всё работает исправно. laughing.gif

Да, интересно. Может быть потому, что большая часть программы нефункциональна? Т.е. попросту не нужна для выполнения заданных функций? rolleyes.gif
Go to the top of the page
 
+Quote Post
Turbo_enot
сообщение Sep 26 2013, 05:51
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 2-08-13
Пользователь №: 77 769



Цитата(rezident @ Sep 23 2013, 17:57) *
Да, интересно. Может быть потому, что большая часть программы нефункциональна? Т.е. попросту не нужна для выполнения заданных функций? rolleyes.gif

Но занимает эта программа всё равно больше памяти, чем способна дать 2101. Даже если "мусор" оказывается за пределами памяти мк, то при считывании показывается вся прошивка. Я даже пробовал удалять куски прошивки, чтобы уместить её в память MSP430F2101. smile3046.gif Программа явно не выполнялась.
Go to the top of the page
 
+Quote Post
Turbo_enot
сообщение Sep 30 2013, 05:39
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 2-08-13
Пользователь №: 77 769



bb-offtopic.gif Возможно вопрос очень глупый, поэтому тему под него создавать совсем не хочется. Подскажите, кто знает наверняка. Возможно ли перевести hex файл прошивки в читабельное C или Asm или ещё чего? Когда, например, исходник утерян, и хочется разобраться в принципах действия программы. Спасибо.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 30 2013, 06:04
Сообщение #14


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Turbo_enot @ Sep 30 2013, 08:39) *
Возможно ли перевести hex файл прошивки в читабельное C или Asm или ещё чего? Когда, например, исходник утерян, и хочется разобраться в принципах действия программы. Спасибо.

Конечно, возможно. Например, IDAой с мсп-шным плагином.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Turbo_enot
сообщение Sep 30 2013, 08:14
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 2-08-13
Пользователь №: 77 769



Цитата(MrYuran @ Sep 30 2013, 09:04) *
Конечно, возможно. Например, IDAой с мсп-шным плагином.

a14.gif Благодарю, помогло.
Go to the top of the page
 
+Quote Post

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

 


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


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