<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 移植ucGUI到s3c2440

          移植ucGUI到s3c2440

          作者: 時間:2016-11-10 來源:網絡 收藏
          說明:此文檔,可能遺漏一些修改過的地方,根據編譯情況,自行修改。

          會在以后的完善過程中更新文檔。

          本文引用地址:http://www.ex-cimer.com/article/201611/317290.htm

          1、在http://www.ucgui.com/zuoping.asp下載uc/GUI 3.24版源碼

          2、參考《基于MDK+jlink平臺s3c2440裸機程序》建立工程S3C2440-ucGUI。
          直接用友善之臂裸機下的s3c2440 LCD底層驅動,在MDK環(huán)境調通LCD驅動。

          3、復制源碼到工程目錄下
          A.復制Config和gui目錄到工程目錄下。
          B.復制Sample目錄下的GUI_X目錄到工程目錄下,要用到GUI_X.c

          4、添加源代碼到工程中。
          A.在Project Workspace下"New Group"建立以下組:
          Config GUI-Core GUI-ConvertColor
          GUI-ConvertMono GUI-LCDDriver GUI-Font GUI_X
          B.把Config GUI-Core GUI-ConvertColor GUI-ConvertMono GUI-Font
          相應的文件夾下的全部文件添加進相應的組下,
          把GUI-LCDDriver下的LCDWin.c和GUI_X下的GUI_X.c添加進相應的組下。

          5、修改配置文件
          A.LCDConf.h
          #define LCD_XSIZE (320)
          #define LCD_YSIZE (240)

          #define LCD_BITSPERPIXEL (16)
          #define LCD_CONTROLLER 1375
          B.GUIConf.h
          #define GUI_OS (0)
          #define GUI_SUPPORT_TOUCH (0)
          #define GUI_SUPPORT_UNICODE (1)

          #define GUI_DEFAULT_FONT &GUI_Font6x8
          #define GUI_ALLOC_SIZE 12500

          #define GUI_WINSUPPORT 0
          #define GUI_SUPPORT_MEMDEV 0
          #define GUI_SUPPORT_AA 0

          6、修改.c文件
          A.在GUI_X.c末尾添加:
          void GUI_X_Warn(const char *s){}
          void GUI_X_ErrorOut(const char *s){}
          B.LCDWin.c
          把以下幾行注釋掉:(否則,編譯不了這個C文件)
          //??#if defined(WIN32) && !defined(LCD_SIMCONTROLLER)

          //??#include
          //??#include "memory.h"

          //#else
          //#endif /* defined(WIN32) && defined(LCD_USE_WINSIM) */

          在#include ..之后,添加以下代碼:(前三個函數還沒寫好,目前只是為了編譯通過)

          int LCDSIM_GetPixelIndex(int x, int y){return 0;}
          void LCDSIM_SetLUTEntry(U8 Pos, LCD_COLOR color){}
          int LCDSIM_GetPixelColor(int x, int y){return 0;}
          void LCDSIM_SetPixelIndex(int x, int y, int Index)
          {
          PutPixel(x, y, Index); /* 這個函數是底層控制LCD在指定點畫點的函數 */
          }

          7、ucGUI的頭文件路徑:
          Config
          GUI/Core
          GUI/Widget (如果使用到視窗控件庫)
          GUI/WM (如果使用視窗管理器)
          將目前使用到的前兩個包含路徑添加進工程:
          "Option for Target Target 1 -> "C/C++" -> "Include Paths"

          8、測試程序:
          在初始完LCD硬件的后面,初始化GUI
          Lcd_Init();
          Lcd_PowerEnable(0, 1);
          Lcd_EnvidOnOff(1);//turn on vedio

          Lcd_ClearScr( (0x00<<11) | (0x00<<5) | (0x00) );

          GUI_Init();
          GUI_DispString("Hello world!");

          更新中............


          主要步驟總結:一、調通LCD硬件的底層驅動。
          二、將ucGUI源代碼加入工程,想辦法,通過構造空接口函數編譯通過。
          三、修改接口函數,讓ucGUI能通過調用底層接口,控制LCD。
          四、逐步添加功能,如抗鋸齒,窗口,觸摸屏



          關鍵詞: 移植ucGUIs3c244

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();