Что делать, если программа не утаптывается до размера флеша МК ?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
CD_Eater 29 декабря 2004 г. 05:10
|
|
|
|
Писал программку (разумеется, на АСМе) для ATtiny26 (в нём 2 Кбайта флеша). Девайсов наделано около 200 штук. Со временем программку приходится всё время наращивать. Сначала всё влезало. На первых порах приходилось с сожалением выбрасывать не очень нужные фичи из программы, чтобы влезли новые. Потом я долго сидел перед текстом программы и за несколько часов вглядывания в исходный код удавалось разными трюками сократить на десяток слов размер программы. Теперь вилы. Никакие ухищрения не помогают. Всё утоптано до предела.
Что делать ??????????????
И откуда идёт такая идиотская традиция "чем меньше ножек в МК, тем меньше памяти" ? Я из 20 ножек в Тини26 использую не больше 10, а памяти не хватает ни флешовой, ни СРАМовой. Почему, если 20 ножек - то только 2 Кбайта ? Неужели программы, управляющие ЖК-индикаторами или светодиодными матрицами, пишущиеся для многоножечных чипов, существенно сложнее ? И размер кристалла тут не при чём - влезает же в CASON8-корпус несколько мегабайт флеша, так почему не влезает 4 Кбайта в SOIC20 ? Если нарисовать график зависимости памяти от количества ножек МК, то получим почти прямую линию. Так вот, если отойти от этой прямой и выпустить чип в СОИК с 16-20 ножками и 64К флеша/4К СРАМа, то спрос на него превысит спрос на многоножечные. Почему АТМЕЛ таких не выпускает ? Может, кто другой догадался производить такие ?
Есть одно решение проблемы, но оно почти бредовое. Поставить рядом с МК внешнюю флешку (Кбайт на 16) в 8-выводном копрусе, туда запихнуть программу на некотором несложном языке, а в Тини зашить интерпретатор этого языка. Ну, не brainfuck конечно, но нечто простое, типа "адаптированного" ассемблера или бейсика :) . Тормозить будет ужасно, но зато программу можно длинную засунуть. :)
И занимать места на плате будет меньше, чем многоножечные монстры в неудобных ТКуФП корпусах (проще требования к ПП и монтажу).
Составить ответ
|||
Конференция
|||
Архив
Ответы
- 24c16 — Олег_Б (29.12.2004 23:19, пустое)
- Ответ: Вы один пишете программу? попробуйте её кому-нибудь показать на предмет оптимизации, может кто чего и подскажет, так сказать, свежим, не замытым взглядом видне... — wwwitalik (29.12.2004 17:33, пустое)
- А интерпретатор языка разве влезет в 2к памяти? Лучше все-ж чип заменить на тот что SM советует. Только придется питание сделать не больше 3,5В — =L.A.= (29.12.2004 11:03, пустое)
- 20 ной 8 кбайт - мсп430ф1132 — SM (29.12.2004 09:44, пустое)
- А если попробовать поменять алгоритм? Возможно, существующий не совсем оптимальный. — Bill (29.12.2004 08:58, 107 байт)
- ATmega48 / 88 / 168. Только там в SOIC нет, зато DIP есть :) — Алексей Мусин (29.12.2004 08:56, пустое)
- Достойное дополнение последнего параграфа.Можно во внешней флеши хранить все константное.Но только достаточно большое иначе модуль доступа с таблицами все съест. — PlainUser (29.12.2004 08:19, пустое)
- Вы и впрямь считаете что Мега8 в неудобном ТКуФП-32 занимает больше места чим Танька 26 в широком СОИКе, не говоря про фишки и памятёшки первой по сравнению со второй? — _PAL_ (29.12.2004 08:09, пустое)
- Перечитать "Историю об одном байте"? :) — Алексей Мусин (29.12.2004 07:38, пустое)
- Поменять мк и далее "ни в чем себе не отказывать"... — ++ (29.12.2004 07:13, пустое)
- На что поменять ? Во всех 20-ножечных только 2 Кбайта ! — CD_Eater (29.12.2004 07:52, пустое)
- AT89C4051 ! — Олег_Б (29.12.2004 23:18, пустое)
- Ответ: MSP430F1132 8 кб. Вполне хватит и даже на С... — Гудвин (29.12.2004 09:46, пустое)
- Понимаю, что вы сейчас зашорены, скажем, по вине обстоятельств, но все же... отвлеченный вопрос, - Вы, в верности Atmel-у на Библии клялись и Святой Крест целовали ? — O.L. (29.12.2004 08:09, пустое)
- Только IARу :) — Codavr (29.12.2004 11:35, пустое)
- Еще у pic16f88 и pic16f648 по 18 ног и 4K (-) — hotson (29.12.2004 09:15, пустое)
- Действительно, вон Z8Encore в 20ножках 8Кбайт (-) — Лагунов (29.12.2004 09:04, пустое)
- asm2asm - это ж сколько времени! — Алексей Мусин (29.12.2004 08:56, пустое)
- Не так много, как может показаться. Но проблема в другом. Смена процессора - это уже вопрос — Bill (29.12.2004 09:12, 56 байт)
- И не так мало, как может показаться (+отладка) — Алексей Мусин (29.12.2004 09:20, 107 байт)
- Ну в конце 3-го абзаца исходного письма содержится завуалированная готовность к смене проца :-) (-) — hotson (29.12.2004 09:19, пустое)
- Фуй с ней, с технической политикой ! Просто придётся потратить время на изучение незнакомого МК - я уже на это согласен. Кого конкретно посоветуете в SOIC16-20 ? — CD_Eater (29.12.2004 09:18, пустое)
- Почему определяющий параметр - корпус, а не цена или производительность или т.п.? QFP c шагом 0.8мм пойдет? — Sergey Pinigin (29.12.2004 11:47, пустое)
- Freescale/Motorola, если денег не жалко, есть даже с 8К флеши — Алексей Мусин (29.12.2004 09:47, пустое, ссылка)
- На вскидку...(+) — O.L. (29.12.2004 09:46, 829 байт)
- Еще есть старые добрые дешевые надежные AT89C2051->4051 (4к) — Al Volovich (29.12.2004 09:44, 180 байт)
- Плюс к совету hotson'а - PIC16F87, PIC18F1320 — Алексей Мусин (29.12.2004 09:31, пустое, ссылка)
- А попробуйте глянуть на dsPIC. Штука довольно мощная, хоть и не без "кривизны". — Bill (29.12.2004 09:23, 63 байт)
- Сочувствую... Запас надо брать 50 % :-) С учетом возрастающего аппетита заказчика :-) — Звероящер (29.12.2004 06:45, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru