Не удается установить режим видео для экрана SDL на встроенное устройство

Я взламывал устройство на базе ARM (Freescale i.MX27 ADS) со встроенным экраном в прошлом несколько дней. Устройство работает под управлением модифицированной минимальной системы GNU / Linux, без управления окнами или графического сервера. По умолчанию предполагается, что устройство запускает только одно прилагаемое к нему приложение.

Я никогда раньше не занимался графическим программированием, поэтому для меня это полезный опыт. Я попытался написать простую программу SDL для запуска на устройстве, которая считывала бы растровое изображение и отображала изображение на экране встроенного устройства.

Моя проблема заключается в том, что независимо от того, какое разрешение, глубину или флаги я попробуйте, видео режим всегда не работает, и я ничего не получаю.

Я знаю, что мой код не проблема, но я все равно собираюсь опубликовать его.

#include "SDL/SDL.h"

#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
#define SCREEN_DEPTH 24

int main(int argc, char *argv[])
{
    SDL_Surface *screen;

    if(!SDL_Init(SDL_INIT_VIDEO))
    {
            printf("Unable to initialize SDL.\n");
            return 1;
    }

    // It always fails right here
    screen = SDL_SetVideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_DEPTH, SDL_SWSURFACE);
    if(screen == NULL)
    {
            printf("Unable to set video mode.\n");
            return 1;
    }

    SDL_Surface* image;
    SDL_Surface* temp;

    temp = SDL_LoadBMP("hello.bmp");
    if(temp == NULL)
    {
            printf("Unable to load bitmap.\n");
            return 1;
    }

    image = SDL_DisplayFormat(temp);
    SDL_FreeSurface(temp);

    SDL_Rect src, dest;

    src.x = 0;
    src.y = 0;
    src.w = image->w;
    src.h = image->h;

    dest.x = 100;
    dest.y = 100;
    dest.w = image->w;
    dest.h = image->h;

    SDL_BlitSurface(image, &src, screen, &dest);

    printf("Program finished.\n\n");

    return 0;
}

Насколько я могу судить, приложение, которое Предполагаемый для запуска на этом устройстве использует Qtopia. Опять же, я новичок в программировании графики, поэтому я понятия не имею, как управлять графическим выводом во встроенной среде, подобной этой.

Есть идеи?

6
задан jakogut 8 January 2011 в 20:08
поделиться