Jump to content

UGFX -- Keil uVision5 Compiling


Recommended Posts

Posted (edited)

Hi.

I'm very new to this STM32 stuff. Only worked with PIC before.

Tempted by all interesting Youtube examples wanted to tryout Chibios + UGFX so I went on and bought a MINI-STM32-V3 (STM32F103RB) with a 2.8TFT (ILI9325 - ADS7843) --- $21 on Ebay (dirt cheap)

I manage to setup a Keil uVision5 project with Chibios and UGFX.

The project compiles and runs great.

I get a lot of warnings regarding the UGFX part while compiling my test project and I just wonder if it is safe just to ignore the warnings (and suppress them) or if it might haunt me later on when my project grows.

I'm using UGFX "Tectu-ugfx-0ab22283645c.zip" which I hope is the latest and Chibios 3.0.2

*** Using Compiler 'V5.05 update 2 (build 169)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'Mini STM32 V3'
compiling hal.c...
compiling pal.c...
compiling can.c...
compiling serial.c...
compiling st.c...
compiling chprintf.c...
compiling memstreams.c...
compiling uart.c...
compiling usb.c...
compiling serial_usb.c...
compiling i2c.c...
compiling spi.c...
compiling hal_lld.c...
compiling stm32_dma.c...
compiling pal_lld.c...
compiling serial_lld.c...
compiling uart_lld.c...
compiling st_lld.c...
compiling usb_lld.c...
compiling i2c_lld.c...
compiling can_lld.c...
compiling spi_lld.c...
compiling main.c...
..\lib\ugfx\src/gdriver/gdriver.h(90): warning: #83-D: type qualifier specified more than once
typedef const struct GDriverVMT const GDriverVMTList[1];
main\main.c(118): warning: #68-D: integer conversion resulted in a change of sign
wi.show =
RUE; wi.x = 0; wi.y = bHeight; wi.width = swidth; wi.height = sheight-bHeight;
main\main.c: 2 warnings, 0 errors
compiling board.c...
compiling chcond.c...
compiling chdebug.c...
compiling chdynamic.c...
compiling chevents.c...
compiling chheap.c...
compiling chmboxes.c...
compiling chmemcore.c...
compiling chmempools.c...
compiling chmsg.c...
compiling chmtx.c...
compiling chqueues.c...
compiling chregistry.c...
compiling chschd.c...
compiling chsem.c...
compiling chstats.c...
compiling chsys.c...
compiling chthreads.c...
compiling chtm.c...
compiling chvt.c...
compiling shell.c...
assembling cstartup.s...
assembling vectors.s...
compiling chcore.c...
compiling chcore_v7m.c...
compiling nvic.c...
assembling chcoreasm_v7m.s...
compiling gdisp.c...
..\lib\ugfx\src/gdriver/gdriver.h(90): warning: #83-D: type qualifier specified more than once
typedef const struct GDriverVMT const GDriverVMTList[1];
..\lib\ugfx\src\gdisp\gdisp.c(586): warning: #83-D: type qualifier specified more than once
extern const GDISPVMT const GDISPVMT_OnlyOne[1];
..\lib\ugfx\src\gdisp\gdisp.c(2677): warning: #767-D: conversion from pointer to smaller integer
switch ((orientation_t) value) {
..\lib\ugfx\src\gdisp\gdisp.c(3262): warning: #188-D: enumerated type mixed with another type
mf_render_aligned(font, x, y, justify, str, 0, drawcharglyph, g);
..\lib\ugfx\src\gdisp\gdisp.c(3300): warning: #188-D: enumerated type mixed with another type
mf_render_aligned(font, x, y, justify, str, 0, fillcharglyph, g);
..\lib\ugfx\src\gdisp\gdisp.c: 5 warnings, 0 errors
compiling gdisp_fonts.c...
compiling gdisp_image.c...
compiling gdisp_image_bmp.c...
compiling gdisp_image_gif.c...
compiling gdisp_image_jpg.c...
compiling gdisp_image_native.c...
compiling gdisp_image_png.c...
compiling gdisp_pixmap.c...
compiling gfx.c...
compiling gdriver.c...
..\lib\ugfx\src\gdriver\gdriver.h(90): warning: #83-D: type qualifier specified more than once
typedef const struct GDriverVMT const GDriverVMTList[1];
..\lib\ugfx\src\gdriver\gdriver.c: 1 warning, 0 errors
compiling gos_chibios.c...
..\lib\ugfx\src\gos\gos_chibios.c(161): warning: #167-D: argument of type "threadreturn_t (*)(void *)" is incompatible with parameter of type "tfunc_t"
return chThdCreateFromHeap(0, stacksz, prio, fn, param);
..\lib\ugfx\src\gos\gos_chibios.c(167): warning: #167-D: argument of type "threadreturn_t (*)(void *)" is incompatible with parameter of type "tfunc_t"
return chThdCreateStatic(stackarea, stacksz, prio, fn, param);
..\lib\ugfx\src\gos\gos_chibios.c: 2 warnings, 0 errors
compiling mf_bwfont.c...
compiling mf_encoding.c...
compiling mf_font.c...
compiling mf_justify.c...
compiling mf_kerning.c...
compiling mf_rlefont.c...
compiling mf_scaledfont.c...
compiling mf_wordwrap.c...
compiling gdisp_lld_ILI93xx.c...
..\lib\ugfx\src/gdriver/gdriver.h(90): warning: #83-D: type qualifier specified more than once
typedef const struct GDriverVMT const GDriverVMTList[1];
..\lib\ugfx\src/gdisp/gdisp_driver.h(731): warning: #83-D: type qualifier specified more than once
const GDISPVMT const GDISP_DRIVER_VMT[1] = {{
..\lib\ugfx\drivers\gdisp\ILI93xx\gdisp_lld_ILI93xx.c(309): warning: #767-D: conversion from pointer to smaller integer
if (g->g.Powermode == (powermode_t)g->p.ptr)
..\lib\ugfx\drivers\gdisp\ILI93xx\gdisp_lld_ILI93xx.c(311): warning: #767-D: conversion from pointer to smaller integer
switch((powermode_t)g->p.ptr) {
..\lib\ugfx\drivers\gdisp\ILI93xx\gdisp_lld_ILI93xx.c(373): warning: #767-D: conversion from pointer to smaller integer
g->g.Powermode = (powermode_t)g->p.ptr;
..\lib\ugfx\drivers\gdisp\ILI93xx\gdisp_lld_ILI93xx.c(377): warning: #767-D: conversion from pointer to smaller integer
if (g->g.Orientation == (orientation_t)g->p.ptr)
..\lib\ugfx\drivers\gdisp\ILI93xx\gdisp_lld_ILI93xx.c(379): warning: #767-D: conversion from pointer to smaller integer
switch((orientation_t)g->p.ptr) {
..\lib\ugfx\drivers\gdisp\ILI93xx\gdisp_lld_ILI93xx.c(424): warning: #767-D: conversion from pointer to smaller integer
g->g.Orientation = (orientation_t)g->p.ptr;
..\lib\ugfx\drivers\gdisp\ILI93xx\gdisp_lld_ILI93xx.c: 8 warnings, 0 errors
compiling gmouse_lld_ADS7843.c...
..\lib\ugfx\src/gdriver/gdriver.h(90): warning: #83-D: type qualifier specified more than once
typedef const struct GDriverVMT const GDriverVMTList[1];
..\lib\ugfx\drivers\ginput\touch\ADS7843\gmouse_lld_ADS7843.c(48): warning: #83-D: type qualifier specified more than once
const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
..\lib\ugfx\drivers\ginput\touch\ADS7843\gmouse_lld_ADS7843.c: 2 warnings, 0 errors
compiling ginput.c...
compiling ginput_mouse.c...
..\lib\ugfx\src/gdriver/gdriver.h(90): warning: #83-D: type qualifier specified more than once
typedef const struct GDriverVMT const GDriverVMTList[1];
..\lib\ugfx\src\ginput\ginput_mouse.c(86): warning: #83-D: type qualifier specified more than once
pe->type = (
mvmt(m)->d.flags & GMOUSE_VFLG_TOUCH) ? GEVENT_TOUCH : GEVENT_MOUSE;
..\lib\ugfx\src\ginput\ginput_mouse.c(105): warning: #83-D: type qualifier specified more than once
if (!
mvmt(m)->get(m, &r))
..\lib\ugfx\src\ginput\ginput_mouse.c(116): warning: #83-D: type qualifier specified more than once
if ((
mvmt(m)->d.flags & GMOUSE_VFLG_TOUCH)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(117): warning: #83-D: type qualifier specified more than once
if (
mvmt(m)->z_min <= gmvmt(m)->z_max) {
..\lib\ugfx\src\ginput\ginput_mouse.c(117): warning: #83-D: type qualifier specified more than once
if (
mvmt(m)->z_min <=
mvmt(m)->z_max) {
..\lib\ugfx\src\ginput\ginput_mouse.c(118): warning: #83-D: type qualifier specified more than once
if (r.z >=
mvmt(m)->z_touchon) r.buttons |= GINPUT_MOUSE_BTN_LEFT;
..\lib\ugfx\src\ginput\ginput_mouse.c(119): warning: #83-D: type qualifier specified more than once
else if (r.z <=
mvmt(m)->z_touchoff) r.buttons &= ~GINPUT_MOUSE_BTN_LEFT;
..\lib\ugfx\src\ginput\ginput_mouse.c(122): warning: #83-D: type qualifier specified more than once
if (r.z <=
mvmt(m)->z_touchon) r.buttons |= GINPUT_MOUSE_BTN_LEFT;
..\lib\ugfx\src\ginput\ginput_mouse.c(123): warning: #83-D: type qualifier specified more than once
else if (r.z >=
mvmt(m)->z_touchoff) r.buttons &= ~GINPUT_MOUSE_BTN_LEFT;
..\lib\ugfx\src\ginput\ginput_mouse.c(129): warning: #83-D: type qualifier specified more than once
if ((
mvmt(m)->d.flags & GMOUSE_VFLG_POORUPDOWN)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(164): warning: #83-D: type qualifier specified more than once
if ((
mvmt(m)->d.flags & GMOUSE_VFLG_ONLY_DOWN) && !(r.buttons & GINPUT_MOUSE_BTN_LEFT)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(186): warning: #83-D: type qualifier specified more than once
if (!(
mvmt(m)->d.flags & GMOUSE_VFLG_SELFROTATION)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(230): warning: #83-D: type qualifier specified more than once
pj = (m->flags &
MOUSE_FLG_FINGERMODE) ? &
mvmt(m)->finger_jitter : &gmvmt(m)->pen_jitter;
..\lib\ugfx\src\ginput\ginput_mouse.c(230): warning: #83-D: type qualifier specified more than once
pj = (m->flags &
MOUSE_FLG_FINGERMODE) ? &
mvmt(m)->finger_jitter : &
mvmt(m)->pen_jitter;
..\lib\ugfx\src\ginput\ginput_mouse.c(289): warning: #83-D: type qualifier specified more than once
if ((
mvmt(m)->d.flags & GMOUSE_VFLG_TOUCH) && m->clicktime >= gfxMillisecondsToTicks(GINPUT_TOUCH_CXTCLICK_TIME))
..\lib\ugfx\src\ginput\ginput_mouse.c(322): warning: #83-D: type qualifier specified more than once
if (!(
mvmt(m)->d.flags & GMOUSE_VFLG_NOPOLL) || (m->flags & GMOUSE_FLG_NEEDREAD))
..\lib\ugfx\src\ginput\ginput_mouse.c(363): warning: #83-D: type qualifier specified more than once
if (!(
mvmt(m)->d.flags & GMOUSE_VFLG_SELFROTATION)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(409): warning: #83-D: type qualifier specified more than once
if (!(
mvmt(m)->d.flags & GMOUSE_VFLG_SELFROTATION)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(469): warning: #83-D: type qualifier specified more than once
if ((
mvmt(m)->d.flags & GMOUSE_VFLG_CAL_EXTREMES)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(494): warning: #83-D: type qualifier specified more than once
maxpoints = (
mvmt(m)->d.flags & GMOUSE_VFLG_CAL_TEST) ? 4 : 3;
..\lib\ugfx\src\ginput\ginput_mouse.c(540): warning: #83-D: type qualifier specified more than once
if ((
mvmt(m)->d.flags & GMOUSE_VFLG_CAL_TEST)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(544): warning: #83-D: type qualifier specified more than once
pj = (m->flags &
MOUSE_FLG_FINGERMODE) ? &
mvmt(m)->finger_jitter : &gmvmt(m)->pen_jitter;
..\lib\ugfx\src\ginput\ginput_mouse.c(544): warning: #83-D: type qualifier specified more than once
pj = (m->flags &
MOUSE_FLG_FINGERMODE) ? &
mvmt(m)->finger_jitter : &
mvmt(m)->pen_jitter;
..\lib\ugfx\src\ginput\ginput_mouse.c(551): warning: #83-D: type qualifier specified more than once
if (!(
mvmt(m)->d.flags & GMOUSE_VFLG_SELFROTATION)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(607): warning: #83-D: type qualifier specified more than once
if (
mvmt(m)->calsave)
..\lib\ugfx\src\ginput\ginput_mouse.c(608): warning: #83-D: type qualifier specified more than once

mvmt(m)->calsave(m, &m->caldata, sizeof(GMouseCalibration));
..\lib\ugfx\src\ginput\ginput_mouse.c(645): warning: #83-D: type qualifier specified more than once
extern const GMouseVMT const GMOUSEVMT_OnlyOne[1];
..\lib\ugfx\src\ginput\ginput_mouse.c(667): warning: #83-D: type qualifier specified more than once
if ((
mvmt(m)->d.flags & GMOUSE_VFLG_DEFAULTFINGER))
..\lib\ugfx\src\ginput\ginput_mouse.c(672): warning: #83-D: type qualifier specified more than once
if (!
mvmt(m)->init((GMouse *)g, driverinstance))
..\lib\ugfx\src\ginput\ginput_mouse.c(692): warning: #83-D: type qualifier specified more than once
if ((
mvmt(m)->d.flags & GMOUSE_VFLG_CALIBRATE)) {
..\lib\ugfx\src\ginput\ginput_mouse.c(698): warning: #83-D: type qualifier specified more than once
if (
mvmt(m)->calload && gmvmt(m)->calload(m, &m->caldata, sizeof(GMouseCalibration)))
..\lib\ugfx\src\ginput\ginput_mouse.c(698): warning: #83-D: type qualifier specified more than once
if (
mvmt(m)->calload &&
mvmt(m)->calload(m, &m->caldata, sizeof(GMouseCalibration)))
..\lib\ugfx\src\ginput\ginput_mouse.c(757): warning: #83-D: type qualifier specified more than once
pe->type = (
mvmt(m)->d.flags & GMOUSE_VFLG_TOUCH) ? GEVENT_TOUCH : GEVENT_MOUSE;
..\lib\ugfx\src\ginput\ginput_mouse.c(793): warning: #83-D: type qualifier specified more than once
if (!(
mvmt(m)->d.flags & GMOUSE_VFLG_CALIBRATE))
..\lib\ugfx\src\ginput\ginput_mouse.c: 35 warnings, 0 errors
compiling gevent.c...
compiling gtimer.c...
..\lib\ugfx\src\gtimer\gtimer.c(111): warning: #111-D: statement is unreachable
return 0;
..\lib\ugfx\src\gtimer\gtimer.c: 1 warning, 0 errors
compiling gwin.c...
compiling gwin_console.c...
compiling gwin_graph.c...
compiling gwin_wm.c...
linking...
FromELF: creating hex file...
".\Objects\STM_CAN_ChibiOS.axf" - 0 Error(s), 56 Warning(s).
Build Time Elapsed: 00:03:30

Edited by Guest
Posted

Hello pgis and welcome to the community!

We are happy to hear that you got everything working. Great job!

The warnings you are getting are nothing to worry about. Those won't bug you in the future.

We just got our hands on a Keil µVision 5 license a couple of days ago and we are using uGFX with Keil without any problems. The warnings you are getting don't show up with GCC and that is the compiler that we mostly use. However, now that we are using Keil ourselves we will definitely look into resolving those issues.

~ Tectu

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...