|
Переход на THUMB, Имеет ли смысл рассуждение? |
|
|
|
Jan 27 2010, 16:25
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
От at91sam9261 требуется перейти на LPC2478.
Чтобы не заморачиваться особо (с переносом функций в RAM и прочим), дай думаю, запускать все в THUMB, расчитывая на то, что из флэша тубму будет немного способнее извлекаться и соответственно, чуть быстрее исполняться (типа, раз в среднем код короче, то акселератору флэш будет проще).
Но насколько сам THUMB хуже - не могу оценить. Переделка текущего проекта в THUMB (для 9261) никаких видимых (глазу) замедлений не дала.
Но разница между 9261 и 2478 по скорости очень велика, и видимо, это как-то скажется. (Но сейчас 2478 нет в наличии, чтобы проверить).
Вот и нужен совет - делать все как люди делают (часть кода в РАМ, перемежать тумб режим и арм и прочая) или сойдет и так? Т.е. насколько много дают прирост производительности все эти меры? ---- Программа особо ничего не делает, просто выводит текст на экран 480х272 (24 бита). Остальные задачи еще мельче. Ну, еще все это работает под переключателем задач раз в миллисекунду (на базе freeRTOS - в смысле, переключение контекста оттуда).
Сообщение отредактировал DpInRock - Jan 27 2010, 16:33
--------------------
On the road again (Canned Heat)
|
|
|
|
|
Jan 27 2010, 18:16
|

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

|
Цитата(DpInRock @ Jan 27 2010, 20:13)  Наверное, оставить тумб.... Зачем оставлять этот костыль, за редчайшими исключениями, а уж тем более на LPC имеющим 128bit Flash, проигрывающий по скорости, так и не понял.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 27 2010, 21:06
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(DpInRock @ Jan 27 2010, 20:25)  От at91sam9261 требуется перейти на LPC2478. Программа особо ничего не делает, просто выводит текст на экран 480х272 (24 бита). С LPC2478 поработал. Идеален для статической картинки  Если быстродействие действительно важно, сделайте все, чтобы перейти на 16 бит. Не так то много переделывать, потеря качества не видна, а эффект существенный, особенно на 16-разрядной памяти.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Jan 27 2010, 21:09
|

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

|
Цитата(DpInRock @ Jan 28 2010, 00:02)  Ну, тумб реально экономит память. Или нет  . Цитата А мне бы хотелось запихать все картинки... А это хрень банально пакуется Цитата Во вторых - тумб поддерживают ии развивают. О чем этот звон? Цитата В третьих - IAP - в тумбе. Ну и фиг с ним, какое дело до него? Цитата В четвертых - практические пробы.... Вы совета спрашивали? Так я его Вам дал  . Цитата А размер бинарника упал с 26к до 16. Подозреваю, что крайне частный случай, или сам исходник крайне дурно написан в "восьмибитовом" стиле и не оптимален по производительности. Реальные выигрыши не на тестовых примерах а на рабочих программах в сотни килобайт кода никак не более 10, ну 15%. Даже достаточно сильно заточенный под Thumb и компактность и работающий практически только с 8bit данными bootloader у меня дает выигрыш в 31% в Thumb, а не Ваши 63% Цитата В пятых - я поэтому и интересуюсь у людей практических. Ответ дал.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 27 2010, 21:30
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(DpInRock @ Jan 28 2010, 00:02)  Ну, тумб реально экономит память. А мне бы хотелось запихать все картинки и шрифты во внутреннюю флэш и выкинуть последовательную Лучше тщательно упаковать шрифты/картинки. Цитата(DpInRock @ Jan 28 2010, 00:02)  Во вторых - тумб поддерживают ии развивают. ARM поддерживают и развивают еще круче  Цитата(DpInRock @ Jan 28 2010, 00:02)  В пятых - я поэтому и интересуюсь у людей практических. Ибо платы пока живой нет. Посмотреть не на чем. Практический человек выше дал очень правильный совет урезать глубину цвета. Вот это действительно существенно облегчит жизнь.
|
|
|
|
|
Jan 27 2010, 21:32
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
1. 26K против 16. Реально экономит. 2. А чем пакуется JPG? Типа, интересно очень. 3. Если был THUMB, а появился THUMB 2 - то явно не потому, что это костыль. 4. Дурно написанный исходник делает ровно то, что от него просят. Этим может похвастаться не всякий исходник. 5. Тестовая программа - это ровно 10 потоков, которые рисуют на экране 7 разрядные десятичные числа с размером символа 30 на 50 пикселей, 24 бита, со сглаживанием и альфа каналом. Частота переключений - 1 мс при тактовой 200 Мгц. Ширина SDRAM - 16.
=== К счастью на LPC урезание цвета происходит без скальпеля, чисто программно. Цвет я урежу, а хозяину просто не скажу. (Хотя разница на самом деле существует заметная на глаз. Разумеется, можно таких случаев избегать).
Сообщение отредактировал DpInRock - Jan 27 2010, 21:34
--------------------
On the road again (Canned Heat)
|
|
|
|
|
Jan 27 2010, 21:42
|

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

|
Цитата(DpInRock @ Jan 28 2010, 00:32)  1. 26K против 16. Реально экономит. Ну-ну... Цитата 2. А чем пакуется JPG? Типа, интересно очень. Это ничем. Цитата 3. Если был THUMB, а появился THUMB 2 - то явно не потому, что это костыль. THUMB2, это явно по тому, что THUMB есть фигня  . У LPC2478 просто THUMB. Цитата 4. Дурно написанный исходник делает ровно то, что от него просят. Этим может похвастаться не всякий исходник. Только делает это с лишними затратами ресурсов.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 27 2010, 21:53
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(DpInRock @ Jan 28 2010, 00:32)  2. А чем пакуется JPG? Типа, интересно очень. А JPEG действительно необходим? Если графика "обычная", то LZ* куда эффективнее. Для шрифтов уж точно. Цитата(DpInRock @ Jan 28 2010, 00:32)  3. Если был THUMB, а появился THUMB 2 - то явно не потому, что это костыль. Набор Thumb появился в архитектуре ARMv4T (ARM7TDMI), Thumb-2 - в ARMv6T2 (ARM1156). Как ни крути, это своеобразный "довесок".
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|