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

 
 
> XMega будет честно работать на 32MHz?, Вынесено из "Защита секции кода.."
galjoen
сообщение Feb 15 2008, 11:20
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(defunct @ Feb 14 2008, 18:18) *
Это вариант. Только я считаю, что это лишнее..

В принципе могу с вами и согласится. Т.к. сам всегда CRC32 FLASH в основном цикле считаю (по слову за раз - см. мои предыдущие посты). Но ни разу не сработало.
Цитата(defunct @ Feb 14 2008, 18:18) *
Ну просто не будет программа работать нормально если часть флеша слетит по причине прыжка на erase sequence в бутлоадере, не вернемся мы оттуда в ОС... Следовательно тут как раз WDT помощник.
Ну а если предположить, что мы все-таки вернулись после erase sequence в ОС и продетектили нарушение флеш в основной программе, что дальше? Выход ведь тот же самый - сброс и запуск бутлоадера.

Насчёт защиты от несанкционированного запуска бутлоадера. Я бы предложил написать так:
Цитата
; до последней проверки
ldi R17,Tag ; что такое Tag думаю объяснять не надо
; начинается последняя проверка. В ней R17 не используется.
...
; последняя проверка закончена. Дальше пошли аварийно опасные команды.
....
; дальше пример от 'Дон Амброзио'. Чуть переделанный
OUT SPMCR , R16
; ---------------
cpi R17 , Tag
brne CRASH
;-----------------
SPM

Если предположить, что аварийно опасных команд 8 шт. А у R17, в остальных частях программы, значения от 0 до FF равновероятны. То вероятность "не попорчивания" FLASH при случайном прыжке для AVR с 128 кБайт памяти будет: (1-(8/65536)/256)*100%=99.9999523%. Что существенно выше, чем надёжность CRC16 с производящим многочленом 0x11021, которая составляет 99.9984% для пакетов данных длиной более 17 бит (Р.Л. Хаммел "Последовательная передача данных").
Цитата(defunct @ Feb 14 2008, 18:18) *
У мелких АРМов (конкурентов мег) есть FLASH. Хотите размещайте во флеш, не хотите - копируйте и запускайте в RAM.

Если код во флеш разместить, то он и выполнятся медленно будет. Примерно с той-же скоростью, как у AVR. А у мелких АРМов разве защита кода есть? Я считал, что нет. Но м.б. у каких-то и есть - просветите.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Feb 15 2008, 11:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(galjoen @ Feb 15 2008, 14:20) *
Если код во флеш разместить, то он и выполнятся медленно будет. Примерно с той-же скоростью, как у AVR.

Ну Flash даже у мелких ARMов бывает 128битным, что позволяет считывать за раз 4 слова, что неплохо компенситует потерю быстродействия. Даже без этого скорость будет совсем не AVRовская за счет регистровых операций и большей их разрядности.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 15 2008, 12:21
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(zltigo @ Feb 15 2008, 14:34) *
Ну Flash даже у мелких ARMов бывает 128битным, что позволяет считывать за раз 4 слова, что неплохо компенситует потерю быстродействия. Даже без этого скорость будет совсем не AVRовская за счет регистровых операций и большей их разрядности.

Реальным конкурентом для мелких АРМов, в режиме выборки команд из FLASH, я xmega считаю. У неё 32 мГц тактовая. А у АРМов при их тактовой в районе 50 мГц - её в этом режиме на 2 делить нужно. А в задачах управления чем-либо - большая разрядность регистров ДАЛЕКО не всегда нужна бывает! А то. что у АРМ FLASH 128 бит, и по 4 слова за раз. Так за всё это платить надо! Из-за этого (конвейер команд) портами АРМ сами знаете как управляет. Для тех, кто не знает, скажу - на АРМе выводами портов с точностью до такта программно управлять невозможно (в отличие от AVR). А портами точно управлять (в задачах управления чем-либо) это первое дело.
Только не подумайте, что я АРМ плохим считаю. Вовсе нет! В вычислительных задачах он АВР по всем параметрам бьёт!!! Просто у каждого своя ниша. Только вот у АВР и АРМ ниши между собой граничат и даже пересекаются. А где граница - там и война (конкурентная)!
Так-что - давайте жить дружно!!!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 15 2008, 15:49
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(galjoen @ Feb 15 2008, 15:21) *
Реальным конкурентом для мелких АРМов, в режиме выборки команд из FLASH, я xmega считаю. У неё 32 мГц тактовая.

Тогда еще огласите, на какой частоте у нее FLASH память работает, и периферия, кстати, тоже....
Цитата
А у АРМов при их тактовой в районе 50 мГц - её в этом режиме на 2 делить нужно.

Нет, у приличных (не Atmel sad.gif реализаций) умножать на 0.9 примерно.
Цитата
Так-что - давайте жить дружно!!!

Без проблем smile.gif я к проигравшим завсегда милосерден smile.gif. Использование AVR оправдано в ценовой категории уровня ниже трех баксов. Ничего оскорбительно-злорадого в моих словах прошу не искать это вполне обьективная реальность.

Цитата(IgorKossak @ Feb 15 2008, 16:52) *
Или давайте закроем тему.

Я обещал со временем разнести по нескольким разным темам, и по накоплению тем, это обещание выполню. Думаю получатся вполне приличные 2-3 темы. Те которые зайдут в тупик, не и закрыть не грех.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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