|
2 страниц
1 2 >
|
 |
Ответов
(1 - 23)
|
Apr 30 2011, 19:55
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(ArtemKAD @ Apr 30 2011, 23:45)  Можно загрузить во внутреннюю память программ с SD, а там уже выполнять. Можно. Хоть и не один раз, но все равно недолго. Цитата(ArtemKAD @ Apr 30 2011, 23:45)  ЗЗЫ. Можно еще запустить на Меге виртуальную машину, а уже на SD хранить код виртуальной машины. Тогда уж проще взять другой процессор.
|
|
|
|
|
Apr 30 2011, 19:58
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 25-10-06
Пользователь №: 21 651

|
Смотря какой "код программы". В меге можно иметь программу, которая будет интерпретировать "код программы" на SD. Ищите Basic на меге, если такое устраивает.
|
|
|
|
|
Apr 30 2011, 21:47
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(ArtemKAD @ May 1 2011, 01:38)  10 раз каждый день заливать из SD-карты в МК новое ПО? Держателю SD-карты раньше плохо не станет? Так речь же идет не о том, чтобы заливать новое ПО (это как раз и делается десяток-другой раз за всю жизнь), а о подгрузке оверлеев. В таком разрезе AVR неприменим. Впрочем, не совсем понятно, что именно нужно ТС - обычный загрузчик, или произвольное выполнение чего-то с карты. Цитата(ArtemKAD @ May 1 2011, 01:38)  Держателю SD-карты раньше плохо не станет? Нормальный держатель, кстати, держит те же 10K циклов
|
|
|
|
|
May 1 2011, 15:53
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 11-12-07
Из: Москва
Пользователь №: 33 203

|
Цитата(aaarrr @ May 1 2011, 00:47)  Так речь же идет не о том, чтобы заливать новое ПО (это как раз и делается десяток-другой раз за всю жизнь), а о подгрузке оверлеев. В таком разрезе AVR неприменим. Впрочем, не совсем понятно, что именно нужно ТС - обычный загрузчик, или произвольное выполнение чего-то с карты. Нормальный держатель, кстати, держит те же 10K циклов  Мне нужно произвольное выполнение чего-то с карты
|
|
|
|
|
May 17 2011, 10:15
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 24-02-09
Из: Екатеринбург
Пользователь №: 45 296

|
Цитата(adruha @ May 1 2011, 00:16)  Полазил не нашел ответа на свой вопрос, хотелось бы писать код программы и записывать его на SD а выполнять а Mege. Возможно ли такое, ткните пожалуйста пальцем где почитать? На AVR'е виртульная машина, на карточке -- её код. Форт в этом смысле, пожалуй, наилучшее решение. Говорят, у SUN'овских компьютеров так БИОС сделан. Илья
|
|
|
|
|
May 17 2011, 19:45
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(501-q @ May 17 2011, 13:15)  На AVR'е виртульная машина, на карточке -- её код. Форт в этом смысле, пожалуй, наилучшее решение. Говорят, у SUN'овских компьютеров так БИОС сделан.
Илья Ну естественно так можно и с любым процом, но только интерпретация минимум в 5-10 раз уменьшит производительность. При том, что любой проц с ядром ARM сможет это делать и без интерпретации, при этом за те же деньги. Так вот вопрос, зачем обязательно брится топором?
|
|
|
|
|
May 18 2011, 01:52
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 24-02-09
Из: Екатеринбург
Пользователь №: 45 296

|
Цитата(SasaVitebsk @ May 18 2011, 01:45)  Ну естественно так можно и с любым процом, но только интерпретация минимум в 5-10 раз уменьшит производительность. При том, что любой проц с ядром ARM сможет это делать и без интерпретации, при этом за те же деньги. Человек хотел на меге. ARM -- это мега?! Цитата(SasaVitebsk @ May 18 2011, 01:45)  Так вот вопрос, зачем обязательно брится топором? Ну, бриться не пробовал, а вот ногти в походах, бывало, топором срезал (ага, брать ножницы в поход всё как-то не соображу). Вопрос в заточке топора. Илья
|
|
|
|
|
May 22 2011, 04:04
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 14-10-08
Из: Omsk
Пользователь №: 40 929

|
Цитата(aaarrr @ May 22 2011, 05:32)  Господи, далось вам это "исполнение во внешней SD-карте"! Вы же не требуете от PC исполнения программы непосредственно на HDD? А вот загрузить и выполнить без интерпретации - да, какой-нибудь ARM или MSP может, а AVR8 - нет. Из 8-битников STM8 умеют исполнять код в ОЗУ. Единое адресное пространство кода и данных - сильная вещь. EEPROM, кстати тоже в нем находится. Периферия будет даже в чем-то помощнее, чем у меги.
Сообщение отредактировал EugenyAM - May 22 2011, 04:05
|
|
|
|
|
May 22 2011, 08:25
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Единое адресное пространство кода и данных - сильная вещь. EEPROM, кстати тоже в нем находится. Куда уж сильнее - размер почти каждого адреса(в т.ч. и EEPROM) становится 16 (а то и 24) битным... В результате разбухает как адресация так и коды операций многие из которых гораздо больше 2 байт(хотя есть несколько 1 байтовых которые по факту требуют предварительно команд загрузки). Результат - гораздо больший код, что приводит к тому, что программа которая реально помещается в 4кБ AVR никак не может влезть в 4кБ STM8. В лучшем случае - полуторократное увеличение размера кода... Цитата Периферия будет даже в чем-то помощнее, чем у меги. Осталось придумать в чем...
|
|
|
|
|
May 22 2011, 17:28
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 14-10-08
Из: Omsk
Пользователь №: 40 929

|
Цитата(ArtemKAD @ May 22 2011, 15:25)  Куда уж сильнее - размер почти каждого адреса(в т.ч. и EEPROM) становится 16 (а то и 24) битным... Обращение к EEPROM в этом случае происходит напрямую, что экономит как код, так и такты. На 16 МГц дополнительные такты ожидания не нужны. Просто объявляем переменную по адресу EEPROM и работаем стандартными средствами. Цитата(ArtemKAD @ May 22 2011, 15:25)  Результат - гораздо больший код, что приводит к тому, что программа которая реально помещается в 4кБ AVR никак не может влезть в 4кБ STM8. В лучшем случае - полуторократное увеличение размера кода... Цена STM8 при одинаковом объеме Flash ниже AVR раза в 3. т.е. можно поставить камень с большим объемом Flash без увеличения цены. Внутри семейства полная Pin-to-pin совместимость одинаковых корпусов) Цитата(ArtemKAD @ May 22 2011, 15:25)  Осталось придумать в чем... STM8S Например 16-битный таймер с расширенными возможностями. Аналогов у AVR не имеет. Прерывания может вырабатывать любой пин любого порта по изменению уровня. Каждый порт имеет свой вектор. Аналог PCINT у AVR только на некоторых портах и не на всех кристаллах. Приоритетная система вложенных прерываний. Отсутствует у AVR. АЦП может иметь до 16 входов (зависит от корпуса). У АЦП есть функции автоматического преобразования группы нескольких входов с прерыванием по последнему и функция мультивыборки по одному входу - полезна для измерений с усреднением. Есть регистры верхнего и нижнего порога с выдачей прерывания при выходе значения за границы. Аналоговый Watchdog при выходе значения за границы. Подсистема тактирования позволяет переключать источники на лету, есть режим автоматического перехода на RC-генератор при отказе кварца. Все фьюзы можно настроить из программы после разблокировки записи. EEPROM также имеет блокировку записи. UART поддерживает протоколы LIN, IrDA. Встроенный BootLoader через UART (SPI, CAN) Аппаратный бипер. В AVR для аналогичной функции требуется выделение целого таймера. Таймеры AWU и Window Watchdog. Пока не использовал, но в определенных ситуациях могут быть полезными. Есть уникальный 96-битный серийный номер процессора. Все команды ядра CPU доступны во всех камнях без ограничений (включая умножение и деление). (-) Нет аналогового компаратора (есть почти во всех AVR) (-) Нет дифференциальных входов АЦП (ATMega16,32,64,128) (-) Нет интерфейса внешней памяти (ATMega8515, ATMega128) ну и если отвлечься от периферии... (-) Нет библиотеки, аналога V-USB  (-) Нет компилятора GCC (для кого-то это может стать препятствием к освоению, а для кого-то отсутствие компилятора CodeVision  ) (-) Нет корпусов DIP  STM8L - вся периферия STM8S, плюс Часы реального времени с отдельным батарейным питанием, 4 канала DMA. АЦП имеет разрядность 12 бит. Есть один канал ЦАП тоже 12 бит. 2 аналоговых компаратора (у AVR - один) IrDA модулятор. Модуль шифрования AES.
Сообщение отредактировал EugenyAM - May 22 2011, 17:31
|
|
|
|
|
May 22 2011, 20:28
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Обращение к EEPROM в этом случае происходит напрямую, что экономит как код, так и такты. На 16 МГц дополнительные такты ожидания не нужны. Просто объявляем переменную по адресу EEPROM и работаем стандартными средствами. Даже так? :D Тогда открой даташит на любой STM8 и посмотри сколько времени пишется одна ячейка EEPROM. Почти до 7 мс. Скажи, что станет с другими ячейками если в них попытаться записать не дождавшись окончания записи предыдущей?! Так что там не нужно ждать?! ЗЫ. Для справки - EEPROM переменная в Си всегда "Просто объявляем переменную по адресу EEPROM и работаем стандартными средствами". Но в реализации процедуры всегда в начале идет ожидание завершения предыдущей операции этим модулем. Т.к. модуль физически один и он работает медленнее чем возможны к нему обращения особенно при высокой тактовой. Цитата Цена STM8 при одинаковом объеме Flash ниже AVR раза в 3. т.е. можно поставить камень с большим объемом Flash без увеличения цены. Думаешь? Берем мои любимые Atmega48 с сегодняшней ценой в 0,9$. Вы можете предложить STM8 с 4кБ за 0,3$ ? Или все-же приходится брать "аналог" STM8 за 1,2$ ? Цитата Например 16-битный таймер с расширенными возможностями. Аналогов у AVR не имеет. В смысле? Стандартный 16 битный таймер чем не аналог? Не говоря уже о 16 битных таймерах xMega... Цитата Приоритетная система вложенных прерываний. Отсутствует у AVR. Присутствует в старших AVR. Цитата АЦП может иметь до 16 входов (зависит от корпуса). ??? Смысл? АЦП все равно один (в старших AVR - могут быть два). Цитата У АЦП есть функции автоматического преобразования группы нескольких входов с прерыванием по последнему и функция ..... Встроенный BootLoader через UART (SPI, CAN) В старших AVR практически все есть. Цитата Аппаратный бипер. В AVR для аналогичной функции требуется выделение целого таймера. Дык когда Beep-ер не нужен он стоит без дела. А вот таймер в хозяйстве вещь полезная всегда. Кроме того пищалка на 3 тона - сегодня это не смешно. Проще поставить таки биппер! Цитата STM8L - вся периферия STM8S, плюс Часы реального времени с отдельным батарейным питанием, 4 канала DMA. АЦП имеет разрядность 12 бит. Есть один канал ЦАП тоже 12 бит. 2 аналоговых компаратора (у AVR - один) IrDA модулятор. Модуль шифрования AES. Сравни с xMega....
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|