CooCox + STM32 + дисплей от S65 = не запускается

Кто любит RISC в жизни, заходим, не стесняемся.
makser
Открыл глаза
Сообщения: 71
Зарегистрирован: Пт апр 24, 2009 11:25:34
Откуда: Rus

Re: CooCox + STM32 + дисплей от S65 = не запускается

Сообщение makser »

HHIMERA писал(а):
HHIMERA писал(а): и работает быстрее... :)))

на 17% ... :))

GCC при оптимизации -Os генерит практически одинаковый код, одинаковой длиной.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: CooCox + STM32 + дисплей от S65 = не запускается

Сообщение HHIMERA »

1:0 ... в пользу Кейла... :))
"Я не даю готовых решений, я заставляю думать!"(С)
makser
Открыл глаза
Сообщения: 71
Зарегистрирован: Пт апр 24, 2009 11:25:34
Откуда: Rus

Re: CooCox + STM32 + дисплей от S65 = не запускается

Сообщение makser »

HHIMERA писал(а):1:0 ... в пользу Кейла... :))


Но если вынести определение переменных за функцию main, то на 4 байта меньше с 32.
Аватара пользователя
mr_smit
Вымогатель припоя
Сообщения: 651
Зарегистрирован: Пн мар 23, 2009 09:25:58
Откуда: Самара

Re: CooCox + STM32 + дисплей от S65 = не запускается

Сообщение mr_smit »

Заменил все uint16_t на uint32_t. Сделал картинку uint32_t. Записал данные для каждого пикселя в 32-х битном виде. Объем кода абсолютно не изменился.

Код: Выделить всё

const uint32_t picture[11616] = {
0x09481148, 0x09480948, 0x09480948, 0x09480948, 0x09480948, 0x09480948, 0x11680948, 0x09480948,
0x09480948, 0x09480948, 0x09480948, 0x09480948, 0x11681168, 0x11681168, 0x11691169, 0x11691169 ...

Только добавился гемор с выводом картинки на экран. Инициализация проходит, а вот картинку так толком и не могу вывести, что то не понимаю как пересчитать вывод под такой формат. Вместо картинки на весь экран у меня выводится на полэкрана 2 картинки, каждая размером в четверть экрана :shock:

Код: Выделить всё

void LCD_Picture(const uint32_t *pic) {

   uint32_t i;

   LCD_CMD(0xEF90);
   LCD_CMD(0x0504); // ориентация
   LCD_CMD(0x0800); // координата X1
   LCD_CMD(0x0983); // координата X2 (83 в hex равно 131 в dec)
   LCD_CMD(0x0A00); // координата Y1
   LCD_CMD(0x0BAF); // координата Y2 (AF в hex равно 175 в dec)
    CS_Low;
    RS_Low;
    for(i=0; i<11616; i++) {
     SPI_Send(pic[i]);
    }
    CS_Hi;
}
Нельзя всё знать, достаточно понимать.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: CooCox + STM32 + дисплей от S65 = не запускается

Сообщение HHIMERA »

Да, действительно... приношу извинения... только что проверил...
Где-то что-то я напутал... (((
Эффект "удвоения" ловил точно... но навскидку вспомнить не могу... сорри...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
mr_smit
Вымогатель припоя
Сообщения: 651
Зарегистрирован: Пн мар 23, 2009 09:25:58
Откуда: Самара

Re: CooCox + STM32 + дисплей от S65 = не запускается

Сообщение mr_smit »

Проект в CooCox прикрепляю. Там 2 картинки поочередно выводятся на экран с интервалом 20 сек. Всем спасибо за ответы, особенно HHIMERA.

P.S. Как приедет китайский дисплей 3.2" с Ebay - начну его мучить.

S65_Display.rar
(436.79 КБ) 300 скачиваний
Нельзя всё знать, достаточно понимать.
Аватара пользователя
mr_smit
Вымогатель припоя
Сообщения: 651
Зарегистрирован: Пн мар 23, 2009 09:25:58
Откуда: Самара

Re: CooCox + STM32 + дисплей от S65 = не запускается

Сообщение mr_smit »

Да, и ещё. Если вдруг кто то будет повторять, выкладываю печатку преобразователя 5В -> 11,5 В для питания подсветки дисплея от USB. На микросхеме MC34063. Резисторы типоразмера 0805. На выходе преобразователя 11,5В с током до 30 мА. Диод должен быть из серии "супер быстрый". Я поставил BAS321. Всё прекрасно работает.
IMG_0011.jpg
(175.26 КБ) 601 скачивание

Вложение IMG_0009.jpg больше недоступно

IMG_0009.jpg
(249.74 КБ) 643 скачивания
Нельзя всё знать, достаточно понимать.
Haamu
Родился
Сообщения: 9
Зарегистрирован: Чт июн 06, 2013 11:37:20

Re: CooCox + STM32 + дисплей от S65 = не запускается

Сообщение Haamu »

mr_smit писал(а):1. CooCox при компиляции выдает:

Program Size:
text data bss dec hex filename
49816 84 1028 50928 c6f0 S65_Display.elf

BUILD SUCCESSFUL
Total time: 0 seconds


Как понять сколько flash из общего объема 128 Кб занято? 50928 байт? И что за поля text и data ?

P.S. Просто CodeVisionAVR пишет прям в процентах. Например 62% flash занято


Аналогичный вопрос мучает. Расскажите пожалуйста, знающие люди, или пальцем ткните где смотреть. В документации на Кокос ничего об этом не нашел. Да и самой документации собственно особо не нашел, кроме как картинок на сайте.
Ответить

Вернуться в «ARM»