размер страницы запрашивать не надо - сам МК прекрасно знает свой размер страницы. да и команды такой не существует, которая возвращала бы размер страницы.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
не у меня, а во всех даташитах нет такой команды чтения размера страницы. или ты знаешь недокументированную функцию? а как ты собрался, например, 30 кБ не пиливши записывать?
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
а, ну если только брать объявленный параметр. но как я уже сказал, мне его получать не нужно. так и я пилю на стороне ПК по 128 байт (1 или 2 страницы). а МК уже сам знает, сколько страниц ему писать.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
а, ну если только брать объявленный параметр. но как я уже сказал, мне его получать не нужно.
То есть МК у тебя все-таки знает размер своей страницы. А как же "во всех даташитах нет такой команды чтения размера страницы" и "команды такой не существует, которая возвращала бы размер страницы"?
То есть МК у тебя все-таки знает размер своей страницы.
вот именно! для каждого МК имеется своя прошивка загрузчика, и в прошивке сделано, писать 2 страницы (для меги8) или 1 страницу (для меги328). и объявленный размер страницы - это не команда, а объявление параметра.
COKPOWEHEU писал(а):
размер страницы бывает от 16 до 128 слов
поскольку у меня сделано всего 4 загрузчика (8, 88, 168, 328), мне по херу другие размеры страницы у других МК.
Добавлено after 12 minutes 46 seconds: да, и еще вспомнил - у chip45boot2 есть огромный минус. время ожидания связи с компом (прежде, чем запустить прошивку) зависит от тактовой частоты МК. если дл я 8 МГц это время составляет более 2 секунд, то для 1 МГц уже получается около 20 секунд. мне интересно, кому-то будет интересно ждать 20 секунд, пока запустится прошивка, если связь с компом не нужна? а у меня на компе можно задать тактовую частоту и задать нужное время ожидания, и соответствующей командой настроить загрузчик на желаемое время ожидания.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
да, и еще вспомнил - у chip45boot2 есть огромный минус. время ожидания связи с компом (прежде, чем запустить прошивку) зависит от тактовой частоты МК.
То есть даже теперь, когда ты знаешь, что исходник открыт, заглянуть в него ты не догадался. Ладно, мне оказалось не лень. Файл chip45boot2/bootloader/main.c, 223 строка. Берешь и выставляешь любой таймаут, хоть зависимый от частоты, хоть нет. И номер UART-а (в некоторых камнях он не один) в том загрузчике тоже можно указать.
а на хера мне теперь этот исходник для chip45boot2, если я его давно выбросил (из компа удалил) и пользуюсь собственным загрузчиком? и еще - а на хера мне тратить 2 кБ загрузочной области, если я могу потратить всего 512 байт?
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
да, и еще вспомнил - у chip45boot2 есть огромный минус. время ожидания связи с компом (прежде, чем запустить прошивку) зависит от тактовой частоты МК. если для 8 МГц это время составляет более 2 секунд, то для 1 МГц уже получается около 20 секунд.
Такое там только для старых AVR, типа mega8/8515..., на mega88 для таймаута уже watchdog используется.
моя комповая программа вычисляет новое значение этой константы и передает в загрузчик. а загрузчик САМ В СЕБЯ записывает эту константу. и не надо записывать в МК новый загрузчик с измененной константой.
Adrift писал(а):
на mega88 для таймаута уже watchdog используется.
я в своем загрузчике на фиксированную скорость порта тоже использую watchdog. ЗЫ. загрузчик на фиксированную скорость порта я на форум не выкладывал, так как он жестко привязан к тактовой частоте (настройка USART привязана к тактовой частоте).
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
А нахера тратить даже 512 байт на загрузчик, который не в состоянии до фьюзов дотянуться? Внешний программатор и только он. Серьёзная работа без внешнего программатора и отладчика сильно осложнена и даже невозможна, а домохозяйкам нечего возиться с микроконтроллерами.
_________________ Платы для HLDI - установки лазерной засветки фоторезиста. ФоторезистыOrdyl Alpha 350 и AM 140. Жидкое олово для лужения плат (видео) - самое лучшее и только у меня. Паяльная маска XV501T-4 и KSM-S6189 (5 цветов). Заказ печатных плат - pcbsmac@gmail.com
smacorp, а нахера вообще создаются загрузчики, если они не могут записывать фьюзы? команды чтения фьюзов существуют, но какой толк от прочитанных фьюзов, если невозможно их изменить загрузчиком? к тому же, МК с записанным загрузчиком не предполагает изменения фьюзов.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Загрузчики создаются с целью популяризации микроконтроллеров. Не уверен до конца, но думаю, что придумали их с появлением первого Ардуино, чтобы домохозяйки восхитились лёгкостью применения и начали скупать Ардуино пачками. И это сработало, но не значит, что это хорошо само по себе.
Единственное полезное применение загрузчика это обновление прошивки в серийном устройстве самим пользователем, когда загрузчик в залоченном МК принимает шифрованную прошивку и знает, что с ней делать.
_________________ Платы для HLDI - установки лазерной засветки фоторезиста. ФоторезистыOrdyl Alpha 350 и AM 140. Жидкое олово для лужения плат (видео) - самое лучшее и только у меня. Паяльная маска XV501T-4 и KSM-S6189 (5 цветов). Заказ печатных плат - pcbsmac@gmail.com
в залоченном МК всё зависит от установленных локов. может оказаться, что загрузчик не сможет обновить (переписать) прошивку. а про шифрованную прошивку - я не знаю загрузчиков, которые бы расшифровывали принятую для записи информацию.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
а на хера мне теперь этот исходник для chip45boot2, если я его давно выбросил (из компа удалил) и пользуюсь собственным загрузчиком?
Можно подумать это мы тут рекламируем какой-то самописный загрузчик. Разговор-то начался с твоего хвастовства будто бы ассемблер дает кратный выигрыш в объеме кода. Как и ожидалось, ни о чем таком и речи не идет.
smacorp писал(а):
А нахера тратить даже 512 байт на загрузчик, который не в состоянии до фьюзов дотянуться?
Ну, справедливости ради, ардуина как отладочная плата получилась довольно удачной: подключается по единственному USB, прошивается и отлаживается. Для проверки чего-нибудь по-быстрому вполне удобно. Для серьезной работы, понятное дело, нет. С другой стороны, есть, скажем, stm32, у которых загрузчик прошит с завода и позволяет программироваться без программатора. А есть и вовсе ch32, для программирования которых "штатным способом" надо пересобирать openocd из исходников, да еще и покупать фирменный программатор. Ну нафиг, через UART проще.
smacorp писал(а):
Загрузчики создаются с целью популяризации микроконтроллеров. Не уверен до конца, но думаю, что придумали их с появлением первого Ардуино,
Вообще мимо. Загрузчик нужен чтобы юзер мог обновить прошивку в уже готовом устройстве. Покупать программатор он не будет. Изучать исходники ему вообще никто не даст. Поэтому алгоритм выглядит как "втыкаем флешку, выбираем пункт 'обновить прошивку', радуемся". Или "втыкаем устройство в USB, запускаем нашу фирменную кривульку утилиту, радуемся". Или "втыкаем SD-карточку, ..." Что-то в этом роде.
Starichok51 писал(а):
а про шифрованную прошивку - я не знаю загрузчиков, которые бы расшифровывали принятую для записи информацию.
А смысл ими хвастаться? Подобные штуки пишутся скорее под конкретный алгоритм шифрования, конкретный протокол обмена и вообще под конкретное устройство. И для того, кто сумел изготовить устройство, достойное воровства, написать загрузчик проблемой тем более не является.
Вы что до человека докопались? У него есть рабочий инструмент. Который его устраивает и работает. Сами не смогли написать? Вот и пользуйтесь сторонними. Смогли? Молодцы! Пользуйтесь. Или пользуйтесь сторонними инструментами.
Starichok51, у chip45boot2 прошивка для мк у которых больше 8КБ флеша уже 1842 байта, при этом с практической точки зрения без разницы будет размер 2048 или 1025 байт, все равно придется 2КБ выделить. Поскольку уменьшить прошивку в почти 2 раза вряд ли получится, задача автора chip45boot2 вписаться в эти 2КБ сохраняя код более простым, а не заниматься бессмысленной оптимизацией чтобы его программа в процентном отношении не так сильно оптимизированным бутам на ассме проигрывала ) Вы выбрали неудачный проект для сравнения, вот, например, один человек переписал свою же программу с ассма на С, походу ее усложнив, и без учета новых таблиц получилась разница 19%. Причем первый проект был на mega8, а второй на at90can128 у которого 128КБ флеша.
Разговор-то начался с твоего хвастовства будто бы ассемблер дает кратный выигрыш в объеме кода.
вот именно, разговор начался с кратного выигрыша в объеме кода при одинаковом функционале.
Именно. А на практике мы наблюдаем обратное. Ардуиновкий загрузчик имеет тот же размер при большем функционале. chip45boot2 имеет больший размер при большем функционале.
Adrift писал(а):
Вы выбрали неудачный проект для сравнения
Да и вообще. Хвастаться какой компактный код удалось написать для контроллера из прошлого тысячелетия... Сейчас это оправдано разве что в контексте искусства, демосцены. А не чего-то полезного практически. А если говорить про практику, имело бы смысл написать бутлоадер для ch32v003 (потому что родной просто неработоспособен) или, возможно, под Амур или 1921 (у них загрузчика, кажется, вообще нет). Впрочем, это явно не к Старичку: и осваивать новое ядро он вряд ли будет, и проку с его очередной проприетарщины ноль.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения