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

 
 
> 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
Rst7
сообщение Feb 16 2008, 16:06
Сообщение #3


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Попробуйте, не пожалеете!И забудете о AVR как о школьных мучениях.


Я не мучаюсь, не волнуйтесь. И, самое смешное, AVR для меня далеко не школа, не первый и не последний камень в изучении и в использовании. У меня к нему чисто эстетическая привязанность, подкрепленная опытом работы, можно?

Я бы один проектик на ARM перенес, пока он еще не попал в коммерческую струю, но, попробовав собрать пару ревизий под ARM (мысль делать исходник двухкаменный сразу была), пока, как ни странно, особого эстетического удовольствия не получил - все-таки рулит 32 регистра у AVR, весь TCP/IP стек ложится в регистры (даже не во все, а в 28), красиво, блин wink.gif... В тумбе код вообще ужасен (всего-то 8 регистров доступны), а в ARM-режиме - в полтора раза больше флеша надо и все равно стековые переменные. Ну вот не радует и все smile.gif И, самое главное, даже 32хбитность ARMа не спасает ни разу... Так, разве что CRC32 быстрее считается wink.gif

Цитата
Но не знали, что выполнение всех инструкций становится с жёстко детерминированными длительностями.


Eсли RAM на кристалле и сразу к ядру подключено - то да (LPC2xxx - как раз такой). Если ОЗУ внешнее, то нет. Там можно только с ARM9 работать, заполнять кеш и выполнять код из него. Тогда - да, детерминированность есть, но тоже могут быть грабли, например, чтение данных из RAM может привести к непредсказуемым задержкам.


Я так уточняю к тому, что, например товарищ zltigo всегда при агитации за ARM приводит аргумент "куча производителей, а ядро одно". Вот и смотрим, что быстрое IO вроде в одном LPC только, да и то не во всех. А если чего случится с NXP? Чем привязанность к LPC лучше привязанности к AVR? Да ничем. А выход может быть только один - плюнуть на шевеление лапками, делать весь жесткий тайминг на плис... Но тогда мы все превращаемся в ремесленников. Негде приложить мастерство, блеснуть, так сказать...
Обычно людей (таких большинство) устраивает, что им платят деньги за работу, они не будут озадачиваться, как бы блеснуть - "есть бабос, я доволен жизнью". Подход, безусловно, имеет полное право на существование (сторонников такого подхода я ни в чем не обвиняю). Однако, лично мне еще очень хочется удовлетворение получать от сделаной работы, чтобы я мог себе сказать - "вот я какой".

Пардон за оффтоп.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 16 2008, 16:45
Сообщение #4


Знающий
****

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



Цитата(Rst7 @ Feb 16 2008, 19:06) *
Я не мучаюсь, не волнуйтесь. И, самое смешное, AVR для меня далеко не школа, не первый и не последний камень в изучении и в использовании. У меня к нему чисто эстетическая привязанность, подкрепленная опытом работы, можно?

+1
И думаю АВР - это последний чип для которого проекты на ассемблере есть смысл писать. Ностальгия млин.

Но вот вопрос. Допустим у xmega даже 32 мГц честных будет. Сколько же он стоить должен, чтобы был смысл его применять? Ну то, что меньше $10, думаю все согласятся. А вот минимум какой? Для себя я эту границу в $6..7 определил. А вы?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 16 2008, 17:01
Сообщение #5


Гуру
******

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



Цитата(galjoen @ Feb 16 2008, 19:45) *
А вот минимум какой? Для себя я эту границу в $6..7 определил. А вы?

Если не будет какого-то совершенно изумительно ложащегося в конкретный проект свойства
(подчеркиваю, что не вообще "хорошего" свойства а подходящего к конкретному случаю, на что особо массово рассчиывать не приходится для контроллеров общего применения), то конкурировать ему придется с младшими ARM7 и Cortex-M3, а это уже отнюдь не 6...7. Это 2..3, ну 4 бакса, однако.... Причем это уже сегодня продающиеся чипы в нише, куда еще лезут новые производители. Тот-же NXP не скрывает своего желания захватить кусочек рынка младшей серией LPC1000.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 16 2008, 17:47
Сообщение #6


Знающий
****

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



Цитата(zltigo @ Feb 16 2008, 20:01) *
это уже отнюдь не 6...7. Это 2..3, ну 4 бакса, однако....

Ну вот цену своей ностальгии определил - 2..3 бакса. Недорого однако. Хотя с другой стороны - 30%.
А когда я с PIC на АВР переходил у меня цена цена ностальгии вообще отрицательная получалась! А ведь до сих пор фанаты PIC есть! Только за счёт них PIC и существует. Думаю и к атмелу это в какой-то степени применимо. Если объективно разобраться их xmega - мертворождённая.
Если конечно её по 3 бакса продавать не начнут!
Go to the top of the page
 
+Quote Post

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


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

 


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


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