OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11119|回复: 11

原子哥能推出NOR_Flash模块吗?

[复制链接]

14

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2014-1-14
在线时间
18 小时
发表于 2014-12-7 23:20:56 | 显示全部楼层 |阅读模式
5金钱
看了探索者原理图,需要的接口都有。希望原子哥能推出NORFLASH模块。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2014-1-14
在线时间
18 小时
 楼主| 发表于 2014-12-7 23:28:04 | 显示全部楼层
加个UCOS+EMWIN,再加个FATFS,..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
好累。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-12-8 00:21:34 | 显示全部楼层
探索版+ucosii+emwin,居包内存 不够???
1M的FLASH哦,你这emWIN加什么东西了啊?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

14

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2014-1-14
在线时间
18 小时
 楼主| 发表于 2014-12-8 00:58:05 | 显示全部楼层
/*
*********************************************************************************************************
*                                   
* ???é????: GUI?????÷????
* ????????: MainTask.c
* °?    ±?: V1.0
* ??    ?÷: ×????????÷?????è??
* ????????:
* °?±???    ????          ×÷??                 ???÷
* v1.0    2013-04-26    Eric2013      ST??????°?±? V1.0.2°?±???
*
* Copyright (C), 2013-2014
*   QQ????????216681322
*   BLOG: http://blog.sina.com.cn/u/2565749395 
*********************************************************************************************************
*/
#include "includes.h"
#include "MainTask.h"
#include "rtc.h"
/*
**************************************************************************
*                   ±????á
**************************************************************************
*/

WM_HWIN hWin1, hFrameWin,_hClient,_hMenu;

const char ucWeekDay[7][3] =
{
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun"
};

/*
*********************************************************************************************************
*                          ???°?ò??????????
*********************************************************************************************************
*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreateMain[] = {
    { WINDOW_CreateIndirect,     "",         0,   0,  444,  800,36,0},
{ TEXT_CreateIndirect,       "",              GUI_ID_TEXT0,            720,1, 80, 16, 0,0},
    { TEXT_CreateIndirect,       "",              GUI_ID_TEXT1,            720,17,80, 16, 0,0},

};
static const GUI_WIDGET_CREATE_INFO _APP_CNC_AUTO[] = {
{ FRAMEWIN_CreateIndirect, "°????ì??????????", 0,     0,   0,  800, 443, 0, 0,GUI_TA_HCENTER},
{ GRAPH_CreateIndirect,     0,                   GUI_ID_GRAPH0    ,   5,   5, 500, 300 },
{ MULTIPAGE_CreateIndirect, NULL,                GUI_ID_MULTIPAGE0, 530,   0, 260, 200 },
{ TEXT_CreateIndirect,      "×??ò\n????",     GUI_ID_TEXT2,       540,  220, 34,  50, TEXT_CF_LEFT },
{ MULTIEDIT_CreateIndirect, "",               GUI_ID_MULTIEDIT2,    576,  210, 100,  50  },
{ BUTTON_CreateIndirect,    "×??ò",           GUI_ID_BUTTON7,       690,  210,  50,  50, 0},
{ BUTTON_CreateIndirect,    "×ó×?",           GUI_ID_BUTTON8,       530,  270,  60,  40, 0},
{ BUTTON_CreateIndirect,    "??×?",           GUI_ID_BUTTON9,       595,  270,  60,  40, 0},
{ BUTTON_CreateIndirect,    "????+",          ID_BOTTON_UP,         660,  270,  60,  40, 0},
{ BUTTON_CreateIndirect,    "????-",          ID_BOTTON_DN,         725,  270,  60,  40, 0},
};
//"????×???×°??????????"

static const GUI_WIDGET_CREATE_INFO _aDialogCreate1[] = {
  { WINDOW_CreateIndirect,    "Dialog 1", 0,                     0,   0, 290, 250, FRAMEWIN_CF_MOVEABLE },
  { TEXT_CreateIndirect,      "?????¨????:",   GUI_ID_TEXT3,    10,  10,   90,  24, TEXT_CF_LEFT },
{ DROPDOWN_CreateIndirect, "",     GUI_ID_DROPDOWN0,  100,  10,  80,  150},
{ TEXT_CreateIndirect,         "",          GUI_ID_TEXT6,    200,  10,   90,  24, TEXT_CF_LEFT },
  { BUTTON_CreateIndirect,    "????",       GUI_ID_BUTTON1,      5,  40,  80,  30, 0},
  { BUTTON_CreateIndirect,    "????",       GUI_ID_BUTTON2,     90,  40,  80,  30, 0},
  { BUTTON_CreateIndirect,    "??±±????",   GUI_ID_BUTTON3,      5,  80,  80,  30, 0},
  { BUTTON_CreateIndirect,    "???ú????",   GUI_ID_BUTTON4,     90,  80,  80,  30, 0},
{ CHECKBOX_CreateIndirect,  0,            GUI_ID_CHECK0,      10,  130,  200, 30 }
};

static const GUI_WIDGET_CREATE_INFO _aDialogCreate2[] = {
  { WINDOW_CreateIndirect,    "Dialog 2", 0,                   0,   0, 260, 100, FRAMEWIN_CF_MOVEABLE }
  
};

static const GUI_WIDGET_CREATE_INFO _aDialogCreate3[] = {
  { WINDOW_CreateIndirect,    "Dialog 3", 0,                   0,   0, 260, 100, FRAMEWIN_CF_MOVEABLE },
  { BUTTON_CreateIndirect,    "×°??????",   GUI_ID_BUTTON5,    5,  5,  80,  24, 0},
  { BUTTON_CreateIndirect,    "?í??????",   GUI_ID_BUTTON6,   95,  5,  80,  24, 0},
{ LISTVIEW_CreateIndirect,  NULL,         GUI_ID_LISTVIEW0,  5,  32, 245, 300, 0 },

};

static const GUI_WIDGET_CREATE_INFO _aDialogCreate4[] = {
  { WINDOW_CreateIndirect,    "Dialog 4", 0,                   0,   0, 260, 100, FRAMEWIN_CF_MOVEABLE },
  { MULTIEDIT_CreateIndirect, "Text",     GUI_ID_MULTIEDIT1,   5,  5, 320,  235  },
  { TEXT_CreateIndirect,      " ", 0,                   5,  10,  100,  20, TEXT_CF_LEFT }
};


/*********************************************************************
*
*       _cbDialog1
*/
static void _cbDialog1(WM_MESSAGE * pMsg) {
  WM_HWIN hDlg, hTree,hItem,hDropd;
int Sel, NCode, Id,btl;
  hDlg = pMsg->hWin;
  switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
TEXT_SetFont(WM_GetDialogItem(hDlg,GUI_ID_TEXT3),&GUI_FontHZ16);//??±?×???
TEXT_SetBkColor(WM_GetDialogItem(hDlg,GUI_ID_TEXT3),GUI_BLUE);
BUTTON_SetFont(WM_GetDialogItem(hDlg,GUI_ID_BUTTON1),&GUI_FontHZ16);//??±?×???
BUTTON_SetFont(WM_GetDialogItem(hDlg,GUI_ID_BUTTON2),&GUI_FontHZ16);//??±?×???
BUTTON_SetFont(WM_GetDialogItem(hDlg,GUI_ID_BUTTON3),&GUI_FontHZ16);//??±?×???
BUTTON_SetFont(WM_GetDialogItem(hDlg,GUI_ID_BUTTON4),&GUI_FontHZ16);//??±?×???
hDropd  = WM_GetDialogItem(hDlg, GUI_ID_DROPDOWN0);
DROPDOWN_AddString(hDropd,"4800");
DROPDOWN_AddString(hDropd,"7200");
DROPDOWN_AddString(hDropd,"9600");
DROPDOWN_AddString(hDropd,"11400");
DROPDOWN_AddString(hDropd,"19200");
DROPDOWN_AddString(hDropd,"115200");
DROPDOWN_SetFont(hDropd,&GUI_Font16B_ASCII);
DROPDOWN_SetTextColor(hDropd,DROPDOWN_CI_UNSEL,GUI_RED);
DROPDOWN_SetItemSpacing(hDropd,10);
DROPDOWN_SetAutoScroll(hDropd,1);
CHECKBOX_SetText(WM_GetDialogItem(hDlg,GUI_ID_CHECK0), "????×???×°??????");
CHECKBOX_SetFont(WM_GetDialogItem(hDlg,GUI_ID_CHECK0),&GUI_FontHZ16);
CHECKBOX_SetTextColor(WM_GetDialogItem(hDlg,GUI_ID_CHECK0),GUI_GREEN);
CHECKBOX_SetState(WM_GetDialogItem(hDlg,GUI_ID_CHECK0),1);
break;
case WM_NOTIFY_PARENT:
Id    = WM_GetId(pMsg->hWinSrc);      // ·??????¤???? ID??
NCode = pMsg->Data.v;                 // Notification code
switch (NCode) {

case WM_NOTIFICATION_SEL_CHANGED:
Sel = DROPDOWN_GetSel(hDropd);
switch(Sel){
case 0:
// Baud_Rate = "4800";
uart_init(4800);
break;
case 1:
// Baud_Rate="7200";
uart_init(7200);
break;
case 2:
// Baud_Rate="9600";
uart_init(9600);
break;
case 3:
// Baud_Rate="11400";
uart_init(11400);
break;
case 4:
// Baud_Rate="19200";
uart_init(19200);
break;
case 5:
// Baud_Rate="115200";
uart_init(115200);
break;
}
break;
}
break;

default:
    WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       _cbDialog2
*/
static void _cbDialog2(WM_MESSAGE * pMsg) {
  WM_HWIN hDlg;
  hDlg = pMsg->hWin;
  switch (pMsg->MsgId) {
  default:
    WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       _cbDialog3
*/
static void _cbDialog3(WM_MESSAGE * pMsg) {
  WM_HWIN hDlg;
  hDlg = pMsg->hWin;
  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
BUTTON_SetFont(WM_GetDialogItem(hDlg,GUI_ID_BUTTON5),&GUI_FontHZ16);//??±?×???
BUTTON_SetFont(WM_GetDialogItem(hDlg,GUI_ID_BUTTON6),&GUI_FontHZ16);//??±?×???
LISTVIEW_EnableSort(WM_GetDialogItem(hDlg,GUI_ID_LISTVIEW0));
LISTVIEW_SetAutoScrollH(WM_GetDialogItem(hDlg,GUI_ID_LISTVIEW0),1);
LISTVIEW_SetAutoScrollV(WM_GetDialogItem(hDlg,GUI_ID_LISTVIEW0),1);
  default:
    WM_DefaultProc(pMsg);
  }
}

/*********************************************************************
*
*       _cbDialog4
*/
static void _cbDialog4(WM_MESSAGE * pMsg) {
  WM_HWIN hDlg, hItem;
  hDlg = pMsg->hWin;
  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
    hItem = WM_GetDialogItem(hDlg, GUI_ID_MULTIEDIT0);
    MULTIEDIT_SetText(hItem, "MULTIEDIT widget");
    MULTIEDIT_SetInsertMode(hItem, 1);
    break;
  default:
    WM_DefaultProc(pMsg);
  }
}

static void _InitMultipage(WM_HWIN hWin) {
  WM_HWIN hPage0, hPage1,hPage2,hPage3;
  hPage0 = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbDialog1, WM_UNATTACHED, 0, 0);
  MULTIPAGE_AddPage(hWin, hPage0, "?? ??");
  hPage1 = GUI_CreateDialogBox(_aDialogCreate2, GUI_COUNTOF(_aDialogCreate2), &_cbDialog2, WM_UNATTACHED, 0, 0);
  MULTIPAGE_AddPage(hWin, hPage1, "?? ??");
hPage2 = GUI_CreateDialogBox(_aDialogCreate3, GUI_COUNTOF(_aDialogCreate3), &_cbDialog3, WM_UNATTACHED, 0, 0);
  MULTIPAGE_AddPage(hWin, hPage2, "?? ??");
  hPage3 = GUI_CreateDialogBox(_aDialogCreate4, GUI_COUNTOF(_aDialogCreate4), &_cbDialog4, WM_UNATTACHED, 0, 0);
  MULTIPAGE_AddPage(hWin, hPage3, "?? ??");
MULTIPAGE_SetFont(hWin,&GUI_FontHZ16);
MULTIPAGE_SetTextColor(hWin,GUI_MAGENTA,1);
}


/*
*********************************************************************************************************
* ?? ?? ??: File_Init
* ???????÷: ??????????????
* ??    ??????
* ·? ?? ??: ??
*********************************************************************************************************
*/

void Caculate_RTC(WM_MESSAGE * pMsg)
{
  char buf[30];
  WM_HWIN hWin = pMsg->hWin;

  RTC_GetTime(RTC_Format_BIN, &RTC_TimeTypeInitStructure);
  RTC_GetDate(RTC_Format_BIN, &RTC_DateTypeInitStructure);

  sprintf(buf, 
          "%0.2d:%0.2d:%0.2d %0.3s", 
RTC_TimeTypeInitStructure.RTC_Hours, 
RTC_TimeTypeInitStructure.RTC_Minutes,
RTC_TimeTypeInitStructure.RTC_Seconds, 
ucWeekDay[RTC_DateTypeInitStructure.RTC_WeekDay-1]);
  TEXT_SetText(WM_GetDialogItem(hWin,GUI_ID_TEXT1), buf);
 
  sprintf(buf, 
          "20%0.2d/%0.2d/%0.2d", 
RTC_DateTypeInitStructure.RTC_Year, 
RTC_DateTypeInitStructure.RTC_Month, 
RTC_DateTypeInitStructure.RTC_Date);
  TEXT_SetText(WM_GetDialogItem(hWin,GUI_ID_TEXT0), buf); 
      
}

/*
*********************************************************************************************************
* ?? ?? ??: aintDialogMain
* ???????÷: ???????? 
* ??    ????pMsg
* ·? ?? ??: ??
*********************************************************************************************************
*/
static void aintDialogMain(WM_MESSAGE * pMsg)
{
  GUI_SetBkColor(GUI_WHITE);               //????±??°??
  GUI_Clear();              
// GUI_DrawBitmap(&bmStart, 2, 2);            //??????±ê
// GUI_DrawBitmap(&bmSpeaker, 680, 2);        //??°???±ê
// GUI_DrawBitmap(&bmsignal, 648, 2);        //??????±ê
// GUI_DrawBitmap(&bmfileusb, 616, 2);        //usb
// GUI_DrawBitmap(&bmfilesd, 584, 2);         //sd
}

/*
*********************************************************************************************************
* ?? ?? ??: InitDialogMain
* ???????÷: ???°?ò??????
* ??    ????pMsg
* ·? ?? ??: ??
*********************************************************************************************************
*/
void InitDialogMain(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;  

//  FRAMEWIN_SetFont(WM_GetDialogItem(hWin,GUI_ID_PROGBAR0),&GUI_FontHZ24);

TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT0),0xffffff);      //??±?±??°??
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT0),&GUI_Font16B_ASCII);//??±?×???
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT0),GUI_TA_VCENTER|GUI_TA_CENTER); //??±??????????±????????
//
//GUI_ID_TEXT0
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT1),0xffffff);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT1),&GUI_Font16B_ASCII);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT1),GUI_TA_VCENTER|GUI_TA_CENTER);

Caculate_RTC(pMsg);       //?????±??
}

void _InitCNCDialogShow(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;

}
void _cncCallback(WM_MESSAGE * pMsg) {
 
int i, NCode, Id;
int Index, xSize, ySize, xPos, yPos;
float Movalue;
char acBuffer[50];

WM_HWIN hWin,hItem,hDlg = pMsg->hWin, hWinSrc,hClient,_hText;
MENU_Handle    hMenu;
MENU_MSG_DATA * pData;               //?¨?????????ù???????????????????ò?ò??????×???????????
  MENU_ITEM_DATA Data;                 //?è???ò?ì?÷????????????????

  switch (pMsg->MsgId) 
{
case WM_CREATE:
break;
  case WM_PAINT:
break;
case WM_INIT_DIALOG:
FRAMEWIN_SetFont(hDlg, &GUI_FontHZ16);
FRAMEWIN_SetTextAlign(hDlg, GUI_TA_HCENTER);
FRAMEWIN_SetTextColor(hDlg,GUI_RED);

hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0);
GRAPH_SetVSizeX(hItem, 800);
GRAPH_SetVSizeY(hItem, 640);

hItem = WM_GetDialogItem(hDlg, GUI_ID_MULTIPAGE0);
_InitMultipage(hItem);

MULTIEDIT_SetAutoScrollH(WM_GetDialogItem(hDlg,GUI_ID_MULTIEDIT0),1);
MULTIEDIT_SetAutoScrollV(WM_GetDialogItem(hDlg,GUI_ID_MULTIEDIT0),1);
MULTIPAGE_SelectPage(hItem,0);

TEXT_SetFont(WM_GetDialogItem(hDlg,GUI_ID_TEXT2),&GUI_FontHZ16);
BUTTON_SetFont(WM_GetDialogItem(hDlg,GUI_ID_BUTTON7),&GUI_FontHZ16);//??±?×???
BUTTON_SetFont(WM_GetDialogItem(hDlg,GUI_ID_BUTTON8),&GUI_FontHZ16);//??±?×???
BUTTON_SetFont(WM_GetDialogItem(hDlg,GUI_ID_BUTTON9),&GUI_FontHZ16);//??±?×???
BUTTON_SetFont(WM_GetDialogItem(hDlg,ID_BOTTON_UP),&GUI_FontHZ16);//??±?×???
BUTTON_SetFont(WM_GetDialogItem(hDlg,ID_BOTTON_DN),&GUI_FontHZ16);//??±?×???
_InitCNCDialogShow(pMsg);             //???°?ò
break;
case WM_NOTIFY_PARENT:            //???????°??????×??°????·??ú????????±???
Id    = WM_GetId(pMsg->hWinSrc);      /* Id of widget */
NCode = pMsg->Data.v;                 /* Notification code */
switch (NCode)
{
case WM_NOTIFICATION_CLICKED:
switch (Id)
{
case GUI_ID_OK:
                    if(NCode==WM_NOTIFICATION_RELEASED)
                        GUI_EndDialog(hWin, 0);
                    break;
case GUI_ID_CANCEL:
                    if(NCode==WM_NOTIFICATION_RELEASED)
                        GUI_EndDialog(hWin, 0);
                    break;
}
break;
}
break;
  }
WM_DefaultProc(pMsg);
}

/*
*********************************************************************************************************
* ?? ?? ??: _cbCallbackMain
* ???????÷: ???÷???? 
* ??    ????pMsg
* ·? ?? ??: ??
*********************************************************************************************************
*/
static void _cbCallbackMain(WM_MESSAGE * pMsg) {
  WM_HWIN hDlg,hWin;
  WM_HWIN hWinSrc;
  int Id;
  int NCode;
  int xSize, ySize;

  hWinSrc = pMsg->hWinSrc;
  hDlg = pMsg->hWin;
  switch (pMsg->MsgId) {
   case WM_TIMER:
     Caculate_RTC(pMsg);
     WM_RestartTimer(pMsg->Data.v, 1000);    //?????¨?±?÷
       break;
     case WM_PAINT:  
         aintDialogMain(pMsg);            //??????·?????
         break;
 case WM_INIT_DIALOG:
         InitDialogMain(pMsg);             //???°?ò
         break;
 case WM_NOTIFY_PARENT:
 Id = WM_GetId(pMsg->hWinSrc); 
       NCode = pMsg->Data.v;        
       switch (Id) 
       {
        case GUI_ID_OK:
            if(NCode==WM_NOTIFICATION_RELEASED)
                GUI_EndDialog(hWin, 0);
            break;
        case GUI_ID_CANCEL:
            if(NCode==WM_NOTIFICATION_RELEASED)
                GUI_EndDialog(hWin, 0);
            break;

      }
      break;
default:
       WM_DefaultProc(pMsg);    //????????????±ú
  }
}

/*
*********************************************************************************************************
* ?? ?? ??: MainTask
* ???????÷: GUI?÷???? 
* ??    ??????
* ·? ?? ??: ??
*********************************************************************************************************
*/
void MainTask(void) 
{
char buf[1];
u16 i=0;

int xSize, ySize;

WM_HWIN _hText,hMultiPage1,hMultiPage2,hDialog,hMultiPage;
GUI_Init();
GUI_SetColor(GUI_BLUE);
/* ???????????±???¤·? */
FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);

PROGBAR_SetDefaultSkin(PROGBAR_SKIN_FLEX);
BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
CHECKBOX_SetDefaultSkin(CHECKBOX_SKIN_FLEX);
DROPDOWN_SetDefaultSkin(DROPDOWN_SKIN_FLEX);
SCROLLBAR_SetDefaultSkin(SCROLLBAR_SKIN_FLEX);
SLIDER_SetDefaultSkin(SLIDER_SKIN_FLEX);
HEADER_SetDefaultSkin(HEADER_SKIN_FLEX);
RADIO_SetDefaultSkin(RADIO_SKIN_FLEX);

WM_SetCreateFlags(WM_CF_MEMDEV);

hWin1 = GUI_CreateDialogBox(_aDialogCreateMain,GUI_COUNTOF(_aDialogCreateMain),&_cbCallbackMain,0,0,0);

hFrameWin = GUI_CreateDialogBox(_APP_CNC_AUTO,GUI_COUNTOF(_APP_CNC_AUTO),&_cncCallback,0,0,0);

WM_CreateTimer(hWin1,0,1000,0);
// MainTask_Listview();
while (1) 
{
GUI_Delay(10);
}

}

/*
************************************************************************************************
?÷????°ü??????

?? ??: INCLUDES.C ucos°ü??????
×÷ ??: Jean J. Labrosse
************************************************************************************************
*/

#ifndef __INCLUDES_H__
#define __INCLUDES_H__
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <stdarg.h>

#include "ucos_ii.h"
#include "os_cpu.h"
#include "os_cfg.h"

#include "sys.h"

#include <stm32f4xx.h>     

#endif


#ifndef __MainTask_H
#define __MainTask_H

#include "stm32f4xx.h"
#include "blcd.h"

#include "GUI.h"
#include "DIALOG.h"
#include "WM.h"
#include "BUTTON.h"
#include "CHECKBOX.h"
#include "DROPDOWN.h"
#include "EDIT.h"
#include "FRAMEWIN.h"
#include "LISTBOX.h"
#include "MULTIEDIT.h"
#include "RADIO.h"
#include "SLIDER.h"
#include "TEXT.h"
#include "PROGBAR.h"
#include "SCROLLBAR.h"
#include "LISTVIEW.h"
#include "GRAPH.h"
#include "MENU.h"
#include "MULTIPAGE.h"
#include "ICONVIEW.h"
#include "TREEVIEW.h"

#include "ff.h"

#define ID_MENU             (GUI_ID_USER +  0)
#define ID_MENU_FILE_NEW    (GUI_ID_USER +  1)
#define ID_MENU_FILE_OPEN   (GUI_ID_USER +  2)
#define ID_MENU_FILE_CLOSE  (GUI_ID_USER +  3)
#define ID_MENU_FILE_EXIT   (GUI_ID_USER +  4)
#define ID_MENU_FILE_RECENT (GUI_ID_USER +  5)
#define ID_MENU_RECENT_0    (GUI_ID_USER +  6)
#define ID_MENU_RECENT_1    (GUI_ID_USER +  7)
#define ID_MENU_RECENT_2    (GUI_ID_USER +  8)
#define ID_MENU_RECENT_3    (GUI_ID_USER +  9)
#define ID_MENU_EDIT_UNDO   (GUI_ID_USER + 10)
#define ID_MENU_EDIT_REDO   (GUI_ID_USER + 11)
#define ID_MENU_EDIT_COPY   (GUI_ID_USER + 12)
#define ID_MENU_EDIT_PASTE  (GUI_ID_USER + 13)
#define ID_MENU_EDIT_DELETE (GUI_ID_USER + 14)
#define ID_MENU_PATT_MANU   (GUI_ID_USER + 15)
#define ID_MENU_PATT_AUTO   (GUI_ID_USER + 16)
#define ID_MENU_HELP_ABOUT  (GUI_ID_USER + 19)
#define ID_MENU_TOOL_CALCU  (GUI_ID_USER + 20)
#define ID_MENU_PATT_LINE   (GUI_ID_USER + 21)
#define ID_MENU_PATT_CIRC   (GUI_ID_USER + 22)
#define ID_MENU_PATT_PARTY  (GUI_ID_USER + 23)
#define ID_MENU_LINE_0      (GUI_ID_USER + 24)
#define ID_MENU_LINE_1      (GUI_ID_USER + 25)
#define ID_MENU_LINE_2      (GUI_ID_USER + 26)
#define ID_MENU_CIRC_0      (GUI_ID_USER + 27) 
#define ID_MENU_CIRC_1      (GUI_ID_USER + 28)
#define ID_MENU_CIRC_2      (GUI_ID_USER + 29)
#define ID_MENU_CIRC_3      (GUI_ID_USER + 30)

#define ID_BOTTON_UP        (GUI_ID_USER + 50)      //F+
#define ID_BOTTON_DN        (GUI_ID_USER + 51)      //F-
#define ID_BOTTON_SDN        (GUI_ID_USER + 52)      //S+
#define ID_BOTTON_SUP        (GUI_ID_USER + 53)      //S-

#define ID_BOTTON_XYD        (GUI_ID_USER + 60)
#define ID_BOTTON_YYD        (GUI_ID_USER + 61)
#define ID_BOTTON_ZYD        (GUI_ID_USER + 62)
#define ID_BOTTON_AYD        (GUI_ID_USER + 63)
#define ID_BOTTON_ALYD       (GUI_ID_USER + 64)
#define ID_BOTTON_17         (GUI_ID_USER + 65)
#define ID_BOTTON_18         (GUI_ID_USER + 66)
#define ID_BOTTON_19         (GUI_ID_USER + 67)

#define ID_BOTTON_PLAY  (GUI_ID_USER + 80)
#define ID_BOTTON_STAR  (GUI_ID_USER + 81)
#define ID_BOTTON_XUP    (GUI_ID_USER + 82)
#define ID_BOTTON_XDOWN  (GUI_ID_USER + 83)
#define ID_BOTTON_YUP    (GUI_ID_USER + 84)
#define ID_BOTTON_YDOWN  (GUI_ID_USER + 85)
#define ID_BOTTON_ZUP    (GUI_ID_USER + 86)
#define ID_BOTTON_ZDOWN  (GUI_ID_USER + 87)
#define ID_BOTTON_AUP    (GUI_ID_USER + 88)
#define ID_BOTTON_ADOWN    (GUI_ID_USER + 89)

#define ID_MULTIEDIT_1       (GUI_ID_USER + 100)
#define ID_MULTIEDIT_2       (GUI_ID_USER + 101)
#define ID_MULTIEDIT_3       (GUI_ID_USER + 102)
#define ID_MULTIEDIT_4       (GUI_ID_USER + 103)
#define ID_MULTIEDIT_5       (GUI_ID_USER + 104)
#define ID_MULTIEDIT_6       (GUI_ID_USER + 105)
#define ID_MULTIEDIT_7       (GUI_ID_USER + 106)
#define ID_MULTIEDIT_8       (GUI_ID_USER + 107)
#define ID_MULTIEDIT_9       (GUI_ID_USER + 108)
#define ID_MULTIEDIT_10      (GUI_ID_USER + 109)
#define ID_MULTIEDIT_11      (GUI_ID_USER + 110)
#define ID_MULTIEDIT_12      (GUI_ID_USER + 111)
#define ID_MULTIEDIT_13      (GUI_ID_USER + 112)
#define ID_MULTIEDIT_14      (GUI_ID_USER + 113)
#define ID_MULTIEDIT_15      (GUI_ID_USER + 114)
#define ID_MULTIEDIT_16      (GUI_ID_USER + 115)
#define ID_MULTIEDIT_17      (GUI_ID_USER + 116)
#define ID_MULTIEDIT_18      (GUI_ID_USER + 117)
#define ID_MULTIEDIT_19      (GUI_ID_USER + 118)
#define ID_MULTIEDIT_20      (GUI_ID_USER + 119)

#define ID_TEXT_1           (GUI_ID_USER + 140)
#define ID_TEXT_2           (GUI_ID_USER + 141)
#define ID_TEXT_3           (GUI_ID_USER + 142)
#define ID_TEXT_4           (GUI_ID_USER + 143)
#define ID_TEXT_5           (GUI_ID_USER + 144)
#define ID_TEXT_6           (GUI_ID_USER + 145)
#define ID_TEXT_7           (GUI_ID_USER + 146)
#define ID_TEXT_8           (GUI_ID_USER + 147)
#define ID_TEXT_9           (GUI_ID_USER + 148)
#define ID_TEXT_10          (GUI_ID_USER + 149)
#define ID_TEXT_11          (GUI_ID_USER + 150)
#define ID_TEXT_12          (GUI_ID_USER + 151)
#define ID_TEXT_13          (GUI_ID_USER + 152)
#define ID_TEXT_14          (GUI_ID_USER + 153)
#define ID_TEXT_15          (GUI_ID_USER + 154)
#define ID_TEXT_16          (GUI_ID_USER + 155)
#define ID_TEXT_17          (GUI_ID_USER + 156)
#define ID_TEXT_18          (GUI_ID_USER + 157)
#define ID_TEXT_19          (GUI_ID_USER + 158)
#define ID_TEXT_20          (GUI_ID_USER + 159)
#define ID_TEXT_21          (GUI_ID_USER + 160)
#define ID_TEXT_22          (GUI_ID_USER + 161)
#define ID_TEXT_23          (GUI_ID_USER + 162)
#define ID_TEXT_24          (GUI_ID_USER + 163)
#define ID_TEXT_25          (GUI_ID_USER + 164)
#define ID_TEXT_26          (GUI_ID_USER + 165)
#define ID_TEXT_27          (GUI_ID_USER + 166)
#define ID_TEXT_28          (GUI_ID_USER + 167)
#define ID_TEXT_29          (GUI_ID_USER + 168)
#define ID_TEXT_30          (GUI_ID_USER + 169)
#define ID_TEXT_31          (GUI_ID_USER + 170)
#define ID_TEXT_32          (GUI_ID_USER + 171)
#define ID_TEXT_33          (GUI_ID_USER + 172)
#define ID_TEXT_34          (GUI_ID_USER + 173)
#define ID_TEXT_35          (GUI_ID_USER + 174)
#define ID_TEXT_36          (GUI_ID_USER + 175)

extern const GUI_FONT GUI_FontHZ16;

#endif

linking...
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_pid.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching checkbox_skinclassic.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching radio_skinclassic.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching blcd.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching delay.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching os_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching os_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching lcd.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching dialog.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching window.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui__bidirouting.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui__bidirouting.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui__bidirouting.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_charline.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_errorout.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching guidev_banding.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching widget.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching wm__sendmessage.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching wm_setcapturemove.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_fillpolygon.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching lcd_aa.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching w25qxx.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching gui_core.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching scrollbar.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching wm.o(.data).
..\OBJ\Template.axf: Error: L6406E: No space in execution regions with .ANY selector matching guidev_staticdevices.o(.data).
..\OBJ\Template.axf: Error: L6407E: Sections of aggregate size 0x9c bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 0 warning and 37 error messages.
"..\OBJ\Template.axf" - 37 Error(s), 0 Warning(s).
Target not created

只加了自己想要的功能。不加maintask.c,就可以。是在“EMWIN实验3 文本显示”基础上把LCD改为7寸电容屏,把5.22升到5.24B,其它的什么也没改。把优化改到3都不行。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-12-8 13:51:17 | 显示全部楼层
回复【4楼】physh:
---------------------------------
感觉你方法有问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2012-7-16
在线时间
504 小时
发表于 2014-12-8 16:45:04 | 显示全部楼层
你的方法有问题,根本用不了那么多。
回复

使用道具 举报

7

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2012-7-16
在线时间
504 小时
发表于 2014-12-8 16:51:19 | 显示全部楼层
把malloc.h里的内存分配改小点,我现在用的emwin+fatfs+ucos用的stm32f103vct6一点问题没有。
回复

使用道具 举报

14

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2014-1-14
在线时间
18 小时
 楼主| 发表于 2014-12-8 19:06:12 | 显示全部楼层
我这是做的八木天线控制器,现在只画了一个粗略的界面,好多功能还没加了,加了以后估计更庞大!内存设下看看。谢了!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-12-8 19:46:32 | 显示全部楼层
回复【8楼】physh:
---------------------------------
估计还是你使用方法的问题。
比如fatfs的UNICODE,GBK转换码表,就有170多KB,如果放单片机自然很大,我们是放外部flash的。
同样,其他类似的字库什么的,如果都放单片机内部,再大的单片机也不一定满足你要求。
所以,方法很重要。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

14

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2014-1-14
在线时间
18 小时
 楼主| 发表于 2014-12-8 20:12:49 | 显示全部楼层
我用的是探索者,一个月前刚在你家买的,程序全是按照你的教程做的。以前我用的是自己做的407板,显示用RA8875,(现在这个是帮朋友做的,主要是不想再焊板了,焊的累死了!),程序用的是安福莱的,没有用malloc,上面的程序能跑。昨天把你网站上的EMWIN,用外部flash字库,一开始烧进去,能显示汉字,只是汉字是躺着的,说明调用字库没问题,可是今天再开机就全部显示一块块黑块了,中间也没动过板子。所以本人想用外扩的NORFLASH,把字库直接写在那里,应该比从25Q128调取应该好多了吧。
回复

使用道具 举报

14

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2014-1-14
在线时间
18 小时
 楼主| 发表于 2014-12-8 20:26:28 | 显示全部楼层
本来是想自己做个外部NORFLASH扩展板的,只是自己焊不美观,如果你家能做的话不是更好?可能也有象我这样需要的吧,我并不想把板子单纯的用作学习,如果只是做做显示,看看图片,还不如用手机了。我以前自己设计的板子是用来控制四轴雕刻机的,这个是帮朋友做的控制八木天线的,要用字库。不用UCOS的我移植了,显示很好,只是只能显示几个自己取模的汉字,不能满足要求,同时要用到定时发射串口信号,以获取指南针模块的数据,不带UCOS不方便。
回复

使用道具 举报

14

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2014-1-14
在线时间
18 小时
 楼主| 发表于 2014-12-8 22:17:15 | 显示全部楼层
把内存管理调小了以后,能用了。可是关机再开机,文字又显示不正常了。传两张照片吧。
关机前:


关机再开机:


那字成什么样子了,躺着还能看出来啊。这个直接成色块了。我把程序打包吧,让大家看看有哪不对。

EMWIN实验3 文本显示.zip

7.18 MB, 下载次数: 217

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 08:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表