-
- Как это все на сях, без асма организовать(размещение в 0-й странице), да еще чтобы загрузчик жил вместе с проектом в одной прошивке? - abivan(30.04.2013 17:31)
- Без *.as в *.c? asm("blablabla...") Только так не нужно делать. Вообще дело не в асме, а в объяснению правил компоновки линкеру. Причём два раза: для загрузчика и для программы. Где-то это делается правкой *.ld (*.gld) файла (GCC). Где-то fk0(1255 знак., 30.04.2013 17:41)
- Один файл нужен чтобы программатором все прошить. Чем плох вариант с размещением в последней странице? Реализуется полностью на си в одном проекте, только секцию линкеру для бутлодыря указать. И при отладке загрузчик не помешает. У модуля с бут abivan(38 знак., 30.04.2013 17:54)
- Вариант с последней страницей, очевидно, умирает при перезашивке первой в неудачный момент времени. Вообще первым стартовать всегда должен загрузчик, даже если основной программы нет. И секцию не одну. У загрузчика же не только text свой, fk0(675 знак., 30.04.2013 18:43)
- Все-таки очень хочется загрузчик не иметь отдельным проектом. Опасность потери прошивки это прошивка стартовой-й страницы. Для моего проца это 64байта 2ms. Это время кондер вытянет. С const согласен не прокатит, но вроде в загрузчике это не abivan(239 знак., 01.05.2013 20:21)
- Питание -- не единственная причина сброса. Я не расчитывал бы на конденсаторы (и они разряжены в момент могут быть...) Не вижу, чем плохо 2 проекта. Ведь и загрузчик-то пишется один раз за месяц для "аппаратной платформы", а на ней потом проекты fk0(26 знак., 01.05.2013 21:24)
- не скажи. В одном проекте загрузчик по USB из main прописывает дополнительную flash, потом вызывается boot и перепрошивается из доп flash в ПП. В другом проекте с флэшки записывается в неиспользованную ПП контроллера потом boot копирует прошивку. abivan(194 знак., 01.05.2013 22:50)
- Не совсем ... Apтём(181 знак., 01.05.2013 23:22)
- Ну в конце концов, не обязательно же, чтоб проект компилировался по нажатию именно F10 в MPLAB. Можно через bat или makefile собрать вначале одно, а потом второе... Причина сброса основная -- электромагнитное излучение. А уж как оно (не)попадает fk0(1365 знак., 01.05.2013 23:12 - 23:17)
- не скажи. В одном проекте загрузчик по USB из main прописывает дополнительную flash, потом вызывается boot и перепрошивается из доп flash в ПП. В другом проекте с флэшки записывается в неиспользованную ПП контроллера потом boot копирует прошивку. abivan(194 знак., 01.05.2013 22:50)
- Наверное можно изголится и сделать такое. Тогда функцию которая загружает прошивку неплохо бы вызывать не из main, а до и даже раньше. Для такого подошло бы что-то типа ИАРовского __low_level_init - переменные ещё не инициализированы и значит не Apтём(68 знак., 01.05.2013 20:38)
- надо в startup лезть, а не понятно чем плохо вызов загрузчика из main. От порчи прошивки спасает расположение загрузчика в стартовой области и защиты ее от selfwrite. Иначе стартовый джамп может быть испорчен и в загрузчик мы никогда не попадем. abivan(99 знак., 01.05.2013 21:19)
- надо в startup лезть, а не понятно чем плохо вызов загрузчика из main. От порчи прошивки спасает расположение загрузчика в стартовой области и защиты ее от selfwrite. Иначе стартовый джамп может быть испорчен и в загрузчик мы никогда не попадем. abivan(99 знак., 01.05.2013 21:13)
- Питание -- не единственная причина сброса. Я не расчитывал бы на конденсаторы (и они разряжены в момент могут быть...) Не вижу, чем плохо 2 проекта. Ведь и загрузчик-то пишется один раз за месяц для "аппаратной платформы", а на ней потом проекты fk0(26 знак., 01.05.2013 21:24)
- Все-таки очень хочется загрузчик не иметь отдельным проектом. Опасность потери прошивки это прошивка стартовой-й страницы. Для моего проца это 64байта 2ms. Это время кондер вытянет. С const согласен не прокатит, но вроде в загрузчике это не abivan(239 знак., 01.05.2013 20:21)
- Вариант с последней страницей, очевидно, умирает при перезашивке первой в неудачный момент времени. Вообще первым стартовать всегда должен загрузчик, даже если основной программы нет. И секцию не одну. У загрузчика же не только text свой, fk0(675 знак., 30.04.2013 18:43)
- Один файл нужен чтобы программатором все прошить. Чем плох вариант с размещением в последней странице? Реализуется полностью на си в одном проекте, только секцию линкеру для бутлодыря указать. И при отладке загрузчик не помешает. У модуля с бут abivan(38 знак., 30.04.2013 17:54)
- Без *.as в *.c? asm("blablabla...") Только так не нужно делать. Вообще дело не в асме, а в объяснению правил компоновки линкеру. Причём два раза: для загрузчика и для программы. Где-то это делается правкой *.ld (*.gld) файла (GCC). Где-то fk0(1255 знак., 30.04.2013 17:41)
- Нет уж. Я лучше буду и дальше держаться подальше от контроллеров профессионального уровня ;) Измываться над фирмварью, добавлять/удалять обработчики прерываний, как заблагорассудится, высылать клиентам прошивки, не заботясь о том, что они зальют Гудвин(57 знак., 30.04.2013 17:10 - 17:13)
- Вот видишь, точки над i расставлены. Контроллер проф. уровня требует, соответвенно подхода проф. уровня. А в любительских кортексах любители сходу могут в дружелюбных любительских IDE практически как на бейсике писать свои любителькие программы fk0(85 знак., 30.04.2013 17:44)
- MCS51 - ΚΑΚΟΓΟ UPOBHYA? INTERESNO JE... - _KLIM83(05.05.2013 08:48, )
- Конечно профессионального! - fk0(05.05.2013 13:22)
- Приятно видеть такой ответ. Спасибо за добрые слова. А еще, для антуража профессионального уровеня - внешняя 27с***. - KLIM83(05.05.2013 23:19)
- Щаз! 573РФ1 и только! - Evgeny_CD(05.05.2013 23:32)
- Нелогично. РФ2/5 тогда уж... - Гудвин(05.05.2013 23:41)
- Щаз! 573РФ1 и только! - Evgeny_CD(05.05.2013 23:32)
- Первые AVR были "ногосовместимые" с 51. Дык, получается AVR тоже? ;) - Гудвин(05.05.2013 13:27)
- Угу. С оттенками мазохизма :-) - SciFi(05.05.2013 13:26)
- Приятно видеть такой ответ. Спасибо за добрые слова. А еще, для антуража профессионального уровеня - внешняя 27с***. - KLIM83(05.05.2013 23:19)
- Конечно профессионального! - fk0(05.05.2013 13:22)
- MCS51 - ΚΑΚΟΓΟ UPOBHYA? INTERESNO JE... - _KLIM83(05.05.2013 08:48, )
- Вот видишь, точки над i расставлены. Контроллер проф. уровня требует, соответвенно подхода проф. уровня. А в любительских кортексах любители сходу могут в дружелюбных любительских IDE практически как на бейсике писать свои любителькие программы fk0(85 знак., 30.04.2013 17:44)
- Как это все на сях, без асма организовать(размещение в 0-й странице), да еще чтобы загрузчик жил вместе с проектом в одной прошивке? - abivan(30.04.2013 17:31)