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

 
 
> Размещение массива в памяти программ, с последующим редактированием hex при перепрошивке
skyled
сообщение Jan 12 2011, 05:20
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 11-06-10
Пользователь №: 57 868



Подскажите пожалуйста такую штуку. Мне нужно разместить 600 шт констант в памяти программ (t2313). В дальнейшем по необходимости редактировать непосредственно сам скомпилированный hex меняя значения констант, но без перекомпиляции. Редактировать и прошивать будет специальная программа. Собственно вопрос как адресно разместить константы в памяти программ чтобы точно знать какой байт в каком случае менять? Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alexeyv
сообщение Jan 13 2011, 00:17
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Насчет Hex-редактора. Если Вы открыли хекс-файл в хекс-редакторе, то он отобразит его бинарное представление в удобоворимом для человека и к тому же линейном формате. То есть на каком месте байт поменяли, на таком он и будет поменян.
Раньше я писал о размещении массива во Flash - там необходимо задавать БАЙТОВУЮ адресацию. И редактор отображает побайтно (по умолчанию). Так что если в WinAVR задано
Код
-Wl,--section-start=.TableCoef=0x0800

, то и в редакторе начало массива будет равно 0x800.

Но я понял, что изменения в бинарнике будет делать отдельная прога, а не человек! Или это не так?

Цитата
Кто мешает зашивать отдельно программу и отдельно этот массив?

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


Цитата
есть прекрасная тулза уже в составе WinAVR - srec_cat называется

Да!!! Я и не знал!! Спасибо за подсказку! Надо будет посмотреть
Посмотрел. Тулза прикольная, но для начинающего слишком сложная. Вы бы привели законченный пример для конвертации.


не ругайте пианиста - он играет как может!!!

Сообщение отредактировал alexeyv - Jan 13 2011, 00:29
Go to the top of the page
 
+Quote Post
777777
сообщение Jan 13 2011, 04:20
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(alexeyv @ Jan 13 2011, 06:17) *
Если у человека опыта не хватит, то он может сначала зашить прогу, а потом таким же образом зашить массив, что перетрет прогу.

Как массив ее перетрет, если он по другому адресу?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- skyled   Размещение массива в памяти программ   Jan 12 2011, 05:20
- - SasaVitebsk   Для этого есть несколько вариантов. 1. Вы вообще н...   Jan 12 2011, 05:41
- - skyled   Файл map идея хорошая. Только чтобы не получилось,...   Jan 12 2011, 05:45
|- - kolobok0   Цитата(skyled @ Jan 12 2011, 11:45) ...чт...   Jan 12 2011, 06:34
- - alexeyv   Цитатапо необходимости редактировать непосредствен...   Jan 12 2011, 06:26
|- - 777777   Цитата(alexeyv @ Jan 12 2011, 12:26) Есть...   Jan 12 2011, 08:59
- - GDI   Цитата(skyled @ Jan 12 2011, 11:20) Редак...   Jan 12 2011, 07:11
- - skyled   ЦитатаЛучше всего менять не в Hex-файле, а в сконв...   Jan 12 2011, 07:11
- - skyled   Цитата22.18.3.1 prog_char Type of a "char...   Jan 12 2011, 08:41
- - alexeyv   ЦитатаГде можно почитать про эти bin? Здеся!...   Jan 12 2011, 08:52
- - alexeyv   ЦитатаВсе программы уже написаны до нас У Вас ест...   Jan 12 2011, 09:03
|- - 777777   Цитата(alexeyv @ Jan 12 2011, 15:03) У Ва...   Jan 12 2011, 09:07
- - skyled   Я объявил в WinAVR массив и посмотрел как располож...   Jan 12 2011, 09:33
- - alexeyv   ЦитатаВо-первых можно заставить купить вашего рабо...   Jan 12 2011, 09:51
|- - 777777   Цитата(alexeyv @ Jan 12 2011, 15:51) С EE...   Jan 12 2011, 10:22
- - skyled   Предположим я преобразую hex в бинарный вид. Как м...   Jan 12 2011, 10:00
|- - zombi   Цитата(skyled @ Jan 12 2011, 16:00) Предп...   Jan 12 2011, 11:01
- - skyled   ЦитатаЗачем искать? Изначально в исходнике размест...   Jan 12 2011, 11:39
|- - zombi   Цитата(skyled @ Jan 12 2011, 17:39) Ну во...   Jan 12 2011, 11:53
|- - demiurg_spb   есть прекрасная тулза уже в составе WinAVR - srec_...   Jan 12 2011, 12:16
|- - skyled   Цитата(zombi @ Jan 12 2011, 17:53) По как...   Jan 12 2011, 12:25
|- - zombi   Цитата(skyled @ Jan 12 2011, 18:25) bin в...   Jan 12 2011, 12:33
- - skyled   ЦитатаНо я понял, что изменения в бинарнике будет ...   Jan 13 2011, 04:50
- - alexeyv   ЦитатаКак массив ее перетрет, если он по другому а...   Jan 13 2011, 05:05
|- - 777777   Цитата(alexeyv @ Jan 13 2011, 11:05) А Вы...   Jan 13 2011, 05:12
- - alexeyv   ЦитатаНе знаю как насчет любого, но в AVRStudio ес...   Jan 13 2011, 05:40
- - GDI   Что мешает сперва стереть всё, а потом зашить прог...   Jan 13 2011, 06:09
- - skyled   Ну дак так ибудет. Прога с массивом в ее составе л...   Jan 13 2011, 06:45


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 08:31
Рейтинг@Mail.ru


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