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

 
 
> 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 17 2008, 11:49
Сообщение #3


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

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



Цитата
Я вам показал, что вы не "понимаете" ARM.


Каким образом Вы мне это показали? Видимо Вы считаете, что только избранные могут "понимать" ARM, а остальные (особенно, если они хоть раз признались в симпатиях к архитектуре AVR) - "понимать" не могут по определению? Вы глубоко заблуждаетесь. "Понимаю" я эту архитектуру не хуже Вас, а возможно (имея опыт работы с 680x0 и PPC, т.е. имея возможность взглянуть на ARM-архитектуру через призму других) даже лучше. Постарайтесь в следующий раз воздеждаться от оценок аналитических способностей других участников форума.

Цитата
Меня это ОЧЕНЬ заинтересовало т.к. сам сейчас думаю как бы мне переходник Ethernet - CAN организовать.


Не вижу проблем. Берете самый большой ARM, который только сможете найти, c MAC и CAN на борту, обязательно с внешним ОЗУ, поднимаете Linux, радуетесь жизни. Это я конечно шучу, хотя многие выступают за такое решение. А так, если хотите, например, в порядке изучения окружающей вселенной узнать, что Realtek'овский PHY на последнем принимаемом байте переключает RXC c сигнала синхронизации, выделенного из принимаемого на сигнал от собственного генератора (хотя стандарт говорит, что пока RXDV активен, надо бы и синхру давать в виде меандра с постоянной частотой), то можете пойти по моему методу.


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


Знающий
****

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



Цитата(Rst7 @ Feb 17 2008, 14:49) *
Не вижу проблем. Берете самый большой ARM, который только сможете найти, c MAC и CAN на борту, обязательно с внешним ОЗУ, поднимаете Linux, радуетесь жизни. Это я конечно шучу, хотя многие выступают за такое решение.

Тут, наверное, все будут смеяться, но сейчас именно так всё и сделано. И даже круче! Самый большой ARM, который только смогли найти (им пришлось выбирать из тех, которые не BGA). Они на нём Linux поставили и к Ethernet подключили. И у него, конечно есть USB-хост. Так вот, в этот USB-хост вставлено моё устройство. Переходник USB - RS485+CAN.
Они говорят, что это круто!!! Что им никаких программ переписывать не пришлось. Перетранслировали с Intel на ARM и всё заработало. И даже мне спасибо сказали, что я такую многоплатформенную штуку сделал (USB - RS485+CAN).
Цитата(zltigo @ Feb 17 2008, 15:20) *
Берете обычный банальный, отнюдь не самый большой ARM7 за 7 c копейками баксов
http://www.mt-system.ru/index.php?store_se...PC2366&id=5
И спокойно пишите. 256K Flash, 40K RAM, MAC, САN и до кучи USB на борту позволят качественно и надежно реализовать поставленную задачу и еще оставить на развитие. При этом можете перейти на совместимые контроллеры, как большей, так и с меньшей памятью.

Спасибо, пожалуй я по этому пути пойду. В смысле - вселенную в этом месте изучать буду.

А как насчёт: "Чипы недостойные того, чтобы их применять в новых разработках"?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 17 2008, 13:26
Сообщение #5


Гуру
******

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



Цитата(galjoen @ Feb 17 2008, 15:53) *
Тут, наверное, все будут смеяться, но сейчас именно так всё и сделано.

Все зависит от количества изделий. Если труд разработчика чего-то стоит, то
"никаких программ переписывать не пришлось" является несомненным плюсом. Готовое железо с тем самым линуксом стоит на уровне нескольких сотен баксов. Что даже, как я понимаю, в Российских условиях для работатателя зкивалентно паре дней работы посредственного разработчика. Цифры несопоставимые со временем разработки и программирования хоть какой-то "оптимальной" железки.


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

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


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:20
Рейтинг@Mail.ru


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