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

 
 
> ПО для перепрошивки 8051, Дайте мудрый совет
Jevys
сообщение Sep 23 2009, 10:40
Сообщение #1





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



Встала задача по созданию программного обеспечения для обновления ПО 8051. Особенностью создаваемого устройства является то, что в процессе эксплуатации может потребоваться неоднократное обновление программного обеспечение. В связи с этим хочу спросить две вещи:
1. Можно ли вообще написать модуль ПО перепрошивки на Си? В проекте стоит опция максимальной оптимизации по размеру кода, при которой Кеil по идее может сам находить похожие куски кода и выделять их в подпрограммы. И тогда код, расположенный в ПО перепрошивки, будет вызывать код, который лежит за пределами области памяти программ перепрошивщика, что недопустимо. Остается только ассемблер?
2. Если все же писать на Си, то как жестко разместить программу перепрошивки с заданного адреса? Например 0xF800. И как это сделать в варианте на ассемблере.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Goodvin
сообщение Oct 23 2009, 16:16
Сообщение #2





Группа: Участник
Сообщений: 12
Регистрация: 8-10-09
Из: СПб
Пользователь №: 52 817



Доброго времени суток!!!

А может быть в памяти программ 2 таблицы векторов прерываний (одна bootloader'a вторая прикладной программы)?
Так, что бы пока bootloader работает, выполнялись его обработчики прерываний, а когда выполняется прикладная программа, то исполняются ее обработчики.

2Редактор А нельзя ли поподробнее о STARTUP'е, а то я не догоню что-то. help.gif
Go to the top of the page
 
+Quote Post
barabek
сообщение Oct 24 2009, 00:27
Сообщение #3


Знающий
****

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



Цитата(Goodvin @ Oct 24 2009, 03:16) *
Доброго времени суток!!!

А может быть в памяти программ 2 таблицы векторов прерываний (одна bootloader'a вторая прикладной программы)?
Так, что бы пока bootloader работает, выполнялись его обработчики прерываний, а когда выполняется прикладная программа, то исполняются ее обработчики.

2Редактор А нельзя ли поподробнее о STARTUP'е, а то я не догоню что-то. help.gif

Было бы хорошо иметь несколько таблиц, но чудес не бывает. В своей программе Вы можете прописать обработчики прерываний по любым адресам ( при большом желании ) . Однако в железе при приходе прерывания переход будет осуществлен на строго определенный НЕИЗМЕНЯЕМЫЙ адрес, прописаный в документации. Не пытайтесь никак это изменить, не получится.
А по второму вопросу. В каждый проект на С добавляется файл startup.a51, который исполняется после сброса контроллера до перехода на Вашу функцию main. Поиском найдете у себя на компе. При желании можете его менять под свои нужды. Как? Найдите недавно был пост типа "не могу записать в xdata". Извините, пишу с телефона и мне нужно бежать :-). Потом если что ...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jevys   ПО для перепрошивки 8051   Sep 23 2009, 10:40
- - barabek   Цитата(Jevys @ Sep 23 2009, 20:40) Встала...   Sep 23 2009, 23:59
|- - 62256   Цитата(barabek @ Sep 24 2009, 02:59) Можн...   Oct 5 2009, 22:04
|- - barabek   Цитата(62256 @ Oct 6 2009, 08:04) не можн...   Oct 15 2009, 12:39
- - Jevys   Обновление ПО представляю так: От компьютера по ст...   Sep 24 2009, 06:04
- - редактор   Я размещаю загрузчик с 0 адреса, тогда он гарантир...   Oct 15 2009, 05:49
- - Goodvin   Доброго времени суток!!! Столкнулся с...   Oct 21 2009, 16:33
|- - Палыч   Цитата(Goodvin @ Oct 21 2009, 19:33) Если...   Oct 22 2009, 09:55
- - Goodvin   Доброго времени суток!!! Вчера попроб...   Oct 22 2009, 20:44
|- - Палыч   Цитата(Goodvin @ Oct 22 2009, 23:44) Уваж...   Oct 23 2009, 05:39
- - редактор   Сместить вектора прерывания в программе не проблем...   Oct 23 2009, 04:49
- - Goodvin   Доброго времени суток!!! Думаю поступ...   Oct 26 2009, 15:24
|- - Палыч   Цитата(Goodvin @ Oct 26 2009, 18:24) Но п...   Oct 26 2009, 16:20
|- - редактор   Цитата(Goodvin @ Oct 26 2009, 19:24) Еще ...   Oct 27 2009, 07:09
- - Goodvin   Доброго времени суток!!! Цитата...   Oct 26 2009, 18:49
|- - barabek   Цитата(Goodvin @ Oct 27 2009, 05:49) Добр...   Oct 27 2009, 03:38
|- - Палыч   Цитата(Goodvin @ Oct 26 2009, 21:49) В об...   Oct 27 2009, 06:37
- - 62256   Цитата(редактор @ Oct 27 2009, 09:09) Заг...   Nov 6 2009, 19:15


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

 


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


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