manifest 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба Кто-нибуть пытался собрать lib-библиотеку uC/GUI под компилятор RealView? Поделитесь опытом, может уже кто-то переделал make-файлы для создания библиотеки? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manifest 0 8 октября, 2007 Опубликовано 8 октября, 2007 · Жалоба Выложил make-файлы для сборки lib-библиотеки uc/GUI с помощью компилятора RealView, возможно кому-то пригодится. http://depositfiles.com/files/1992490 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manifest 0 9 октября, 2007 Опубликовано 9 октября, 2007 · Жалоба Создал проект в Keil uVision3, подключил к нему созданную lib-библиотеку, все header-файлы uc/GUI и файлы конфигурации. При компиляции получил множесто ошибок L6212E вроде этих: Error: Undefined symbol GUI_X_Init (referred from GUICore.o) Error: Undefined symbol GUI_X_GetTaskId (referred from GUITask.o) ... #include <RTL.h> #include "gui.h" extern "C" void startTask() __task; extern "C" void guiInitTask() __task; int main() { os_sys_init(startTask); return 0; } void startTask() __task { os_sys_init(guiInitTask); os_tsk_delete_self(); } void guiInitTask() __task { GUI_Init(); while(true); } Решил было, что напортачил с make-файлами и неправильно собрал библиотеку, решил проверить, подключил к проекту вместо lib-библиотеки исходники uc/GUI, получил аналогичные ошибки: Error: Undefined symbol GUI_X_ErrorOut (referred from gui_errorout.o) ... Решил перепроверить с другим компилятором, создал проект в IAR, подключил к нему lib-библиотеку (созданную с помощью make-файлов идущих в составе uc/GUI под компилятор IAR), все header-файлы uc/GUI и файлы конфигурации. При компиляции получил ошибки: Error[e46]: Undefined symbol "GUI_X_Init" referred in GUICore Error[e46]: Undefined symbol "GUI_X_GetTaskId" referred in GUICore ... Проблема в том, что мне совсем не понятно, с чем связаны эти ошибки и как с ними бороться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 9 октября, 2007 Опубликовано 9 октября, 2007 · Жалоба связано с тем, что эти ф-ции вызываются (ну например из GuiCore.c зовется GUI_X_init, но в комплект UCOS не входят, юзер должен их сам писать. А тут он просто их не находит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manifest 0 9 октября, 2007 Опубликовано 9 октября, 2007 · Жалоба связано с тем, что эти ф-ции вызываются (ну например из GuiCore.c зовется GUI_X_init, но в комплект UCOS не входят, юзер должен их сам писать. А тут он просто их не находит Ты хотел сказать не входят в комплект uc/GUI? Тогда почему в эмуляторе, поставляемом с исходниками всё компилируется без ошибок и юзеру вводить ни чего не нужно? Возникла мысль, что из uc/GUI вызываются какие-нибуть ф-ции из uc/OS-II, решил проверить, взял демонстрационный проект uc/OS-II с офф. сайта для RealView, подключил к нему свою lib-библиотеку uc/GUI. При компиляции посыпались всё теже ошибки. Непонятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 9 октября, 2007 Опубликовано 9 октября, 2007 · Жалоба Ты хотел сказать не входят в комплект uc/GUI? Тогда почему в эмуляторе, поставляемом с исходниками всё компилируется без ошибок и юзеру вводить ни чего не нужно? Возникла мысль, что из uc/GUI вызываются какие-нибуть ф-ции из uc/OS-II, решил проверить, взял демонстрационный проект uc/OS-II с офф. сайта для RealView, подключил к нему свою lib-библиотеку uc/GUI. При компиляции посыпались всё теже ошибки. Непонятно. В симуляторе мы видим в additional dependencies такое Simulation\GUISim.lib Simulation\Simulation.res winmm.lib odbc32.lib odbccp32.lib Если мы глянем GUISim.lib например через IDA то увидим, что в ней эта Gui_X_Init и реализована. И так далее. PS а откуда непреодолимое желания загнать ucos в lib ? По мне так если сурцы ее не править - то нафик вообще нужна. Время компиляции не меняется.. Короче зачем ? Чтобы враг не догадался ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manifest 0 10 октября, 2007 Опубликовано 10 октября, 2007 · Жалоба а откуда непреодолимое желания загнать ucos в lib ? По мне так если сурцы ее не править - то нафик вообще нужна. Время компиляции не меняется.. Короче зачем ? Чтобы враг не догадался?Желание не столько чтобы загнать в lib, сколько прикрутить её к ОС. С добавлением исходников к проекту те же самые ошибки. У меня опыта подобной работы нет, поэтому не понятно что менять нужно, что за функции периписывать и как, а статей на эту тему не видел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 10 октября, 2007 Опубликовано 10 октября, 2007 · Жалоба Да просто прикрути пустышки этих ф-ций куда нибудь - делов то Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manifest 0 10 октября, 2007 Опубликовано 10 октября, 2007 · Жалоба Да просто прикрути пустышки этих ф-ций куда нибудь - делов то Gui`шные ф-ции описал, но нужен ещё драйвер дисплея. Может кто-нибуть выложить драйвер LCDPage1bpp или аналогичный для KS0107? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sensor_ua 0 11 октября, 2007 Опубликовано 11 октября, 2007 · Жалоба GLCD не подходит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manifest 0 11 октября, 2007 Опубликовано 11 октября, 2007 · Жалоба GLCD не подходит? Нужен под uc/GUI, нашёл у китайцев LCDPage1bpp.с для uc/GUI 3.32a, подключил к проекту, указал идентификатор контроллера LCD_CONTROLLER = 1502, но линкер по прежнему не находит описаний некоторых ф-ций дисплея, хотя они имеются в LCDPage1bpp.с :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manifest 0 11 октября, 2007 Опубликовано 11 октября, 2007 (изменено) · Жалоба Взглянул на код драйвера LCDPage1bpp, оказалось, что он весь заключён в условие: #if (LCD_CONTROLLER == 8811) || (LCD_CONTROLLER == 8535) && (!defined(WIN32) | defined(LCD_SIMCONTROLLER)) При таком условии, код даже не компилируется, т.к. в моём случае LCD_CONTROLLER = 1502 (для KS108B). Это что значит? На офф. сайте micrium сказано что для данного контролера дисплея нужно использовать драйвер LCDPage1bpp. У китайцев отыскался ещё один драйвер LCD15XX.c, в комментариях описывается что он поддерживает контроллер дисплея KS108B. Компилятор файл подхватил, ругнулся на отсутствие описания ф-ций: LCD_READ_A0_0 LCD_READ_A0_1 ... Выходит драйвер не весь, а только часть его что-ли? Свои, выложите пожалуйста нормальный драйвер LCDPage1bpp для KS108B, наверняка имеется на здешнем фтп. Изменено 11 октября, 2007 пользователем manifest Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SDS28 0 16 октября, 2007 Опубликовано 16 октября, 2007 · Жалоба ...Компилятор файл подхватил, ругнулся на отсутствие описания ф-ций: LCD_READ_A0_0 LCD_READ_A0_1 ... Посмотри какие макросы должны быть определены для доступа к железу здесь http://www.micrium.com/products/gui/lcdpage1bpp.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manifest 0 19 октября, 2007 Опубликовано 19 октября, 2007 (изменено) · Жалоба Для того чтобы собрать и запустить uC/GUI, необходимо: 1. Описать все ф-ции объявленные в gui_x.h и некоторые ф-ци из gui.h (ф-ции взаимодействия GUI с операционной системой) [для некоторых ОС файлы с описанием ф-ций уже имеются в директории Sample\GUI_X]; 2. Заменить исходный файл lcdconf.h на файл содержащий конфигурацию подключаемого LCD, либо определить макросы самостоятельно [файлы конфигураций для некоторых дисплеев поставляются вместе с GUI в директории sample\LCDConf\xxx]; 3. Описать низкоуровневые ф-ции работы с LCD, объявленные в lcdconf.h (LCD_X_READ(), LCD_X_READ() и т.п.) [для некоторых дисплеев уже имеются в директории Sample\LCD_X]; Изменено 19 октября, 2007 пользователем manifest Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Almaz1988 2 4 ноября, 2012 Опубликовано 4 ноября, 2012 · Жалоба Пытаюсь скомпилировать проект "uCOSII2.91+UCGUI3.90A demo" для отладочной платы "Open1768". Получаю множество ошибок вроде этой: cannot open source input file "uCGUI\Config\GUIConf.h": No such file or directory Открываю хидеры и вижу там строки вроде этой: #include "uCGUI\Config\GUIConf.h" Что-то не суразное) Gui-библиотеки для других отладочных плат компиллируются нормально, там такой ерунды нет. Вручную переделывать: #include "uCGUI\Config\GUIConf.h" на #include "GUIConf.h" ? Для чего вообще так написали? Open1768.7z Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться