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

          新聞中心

          移植ucGUI到s3c2440

          作者: 時(shí)間:2016-11-10 來(lái)源:網(wǎng)絡(luò) 收藏
          說(shuō)明:此文檔,可能遺漏一些修改過(guò)的地方,根據(jù)編譯情況,自行修改。

          會(huì)在以后的完善過(guò)程中更新文檔。

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

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

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

          3、復(fù)制源碼到工程目錄下
          A.復(fù)制Config和gui目錄到工程目錄下。
          B.復(fù)制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
          相應(yīng)的文件夾下的全部文件添加進(jìn)相應(yīng)的組下,
          把GUI-LCDDriver下的LCDWin.c和GUI_X下的GUI_X.c添加進(jìn)相應(yīng)的組下。

          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
          把以下幾行注釋掉:(否則,編譯不了這個(gè)C文件)
          //??#if defined(WIN32) && !defined(LCD_SIMCONTROLLER)

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

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

          在#include ..之后,添加以下代碼:(前三個(gè)函數(shù)還沒(méi)寫好,目前只是為了編譯通過(guò))

          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); /* 這個(gè)函數(shù)是底層控制LCD在指定點(diǎn)畫點(diǎn)的函數(shù) */
          }

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

          8、測(cè)試程序:
          在初始完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!");

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


          主要步驟總結(jié):一、調(diào)通LCD硬件的底層驅(qū)動(dòng)。
          二、將ucGUI源代碼加入工程,想辦法,通過(guò)構(gòu)造空接口函數(shù)編譯通過(guò)。
          三、修改接口函數(shù),讓ucGUI能通過(guò)調(diào)用底層接口,控制LCD。
          四、逐步添加功能,如抗鋸齒,窗口,觸摸屏。



          關(guān)鍵詞: 移植ucGUIs3c244

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();