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

 
 
> Как добавить данные DATA FLASH в HEX-файл, SiLabs 121
редактор
сообщение May 15 2009, 05:06
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Используется SiLabs C8051F121
Есть необходимость во время программирования записать данные в DataFlash.
Подскажите, кто знает, как объявить эти данные в программе (Си или АСМ не важно) чтобы они после компиляции попали в HEX-файл.
Могу руками дописать дописать несколько строк в HEX, но не знаю по какому адресу их расположить.
Делать приложение для записи этих данных через программатор пока не хочется.

Заранее всем спасибо!


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
редактор
сообщение May 18 2009, 04:00
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



В большинстве МК от SiLabs имеется два вида flash-памяти память программ и память данных.

Программа состоит из двух частей: загрузчика и непосредственно приложения.
Загрузчик служит для обновления программы.Также при старте загрузчик проверяет контрольную сумму приложения и далее разрешает или блокирует работу приложения.
Чтобы точно знать с чем сравнивать контрольную сумму решил использовать flash-память данных для хранения контрольной суммы.

Держать их в области кода не очень удобно, так как для перезаписи необходимо стирать часть программы, разнести их адреса с программой кБайт так на 10 возможно,(опыт имеется).
Хотелось сделать более красиво. Есть энергонезависимая память для данных, надо ее пользовать. В процессе работы доступ раcписан, и все хорошо.

А вот при программировании получается возможно записать только код в flash-память программ.
Поэтому приходиться делать несколько лишних операций: записать загрузчик, записать приложение, собрать стенд в котором дать загрузчику команду на расчет контрольной суммы и ее запись.

Для упрощения процесса настройки интересуюсь КАК ЗАПИСАТЬ FLASH-ПАМЯТЬ ДАННЫХ ИЗ ПРОГРАММАТОРА.
Это возможно. В командах работы с USB-адаптером есть описание. Нужно лишь приложение, которое это может делать, в KEIL таких настроек не нашел.


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
barabek
сообщение May 18 2009, 10:55
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(редактор @ May 18 2009, 15:00) *
В большинстве МК от SiLabs имеется два вида flash-памяти память программ и память данных.

Я не работал конкретно с 121. Но судя по описанию он не отличается от остальных. Но в них НЕТ отдельной flash памяти данных! Есть память программ с возможностью записи из самой программы. Хотя это к делу не относится, скорее к терминологии ;-)
. А по делу Вам уже kosyak подсказал. Если бы Вы на этапе программирования знали контрольную сумму, было бы проще. Из родной IDE silab можно сразу ячейки кода менять в соответствующем окне code и нажатием кнопки "туды-сюды"
Go to the top of the page
 
+Quote Post
редактор
сообщение May 19 2009, 03:40
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Цитата(barabek @ May 18 2009, 14:55) *
Я не работал конкретно с 121. Но судя по описанию он не отличается от остальных. Но в них НЕТ отдельной flash памяти данных! Есть память программ с возможностью записи из самой программы. Хотя это к делу не относится, скорее к терминологии ;-)
. А по делу Вам уже kosyak подсказал. Если бы Вы на этапе программирования знали контрольную сумму, было бы проще. Из родной IDE silab можно сразу ячейки кода менять в соответствующем окне code и нажатием кнопки "туды-сюды"


В большинстве MK от SiLabs (за все не берусь но работал с сериями 12X, 04x) кроме памяти программ имеется от 128 до 256 бай FLASH-памяти для долговременного хранения данных.

Цитата(kosyak© @ May 18 2009, 09:11) *
На сайте силабса есть такое приложение
https://www.silabs.com/Support%20Documents/...nProgrammer.zip
Оно идет с исходниками - можно поправить его под собственные нужды.
А вообще - что Вам мешает прошивать девайс с помощью собственного загрузчика? Т.е. записываете в контроллер только загрузчик а саму программу шьете уже с помощью своих средств загрузки.


Когда делаешь сам, то можно и через загрузчик и из IDE. Но необходимо отдать конечные файлы и методику программирования на производство.
И чем меньше там кнопок и действий тем надежнее. Отсюда и желание зашивать сразу все и везде.


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
barabek
сообщение May 19 2009, 05:22
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(редактор @ May 19 2009, 14:40) *
В большинстве MK от SiLabs (за все не берусь но работал с сериями 12X, 04x) кроме памяти программ имеется от 128 до 256 бай FLASH-памяти для долговременного хранения данных.

Понял наконец, Вы имеете ввиду scratchpad-memory smile.gif.
Go to the top of the page
 
+Quote Post



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

 


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


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