91321146 Posted November 10, 2016 Report Posted November 10, 2016 How can I run UGFX with out any os? When I dont choose any os it gives me error that"GOS: No operating system has been defined." Please help me.
Joel Bodenmann Posted November 10, 2016 Report Posted November 10, 2016 Hi, There is a GOS port called Raw32 which allows running µGFX on any 32-bit architecture. You can find more about it in the corresponding documentation: https://wiki.ugfx.io/index.php/BareMetal You might want to consider setting the GFX_CPU_XXX macro in case of you're using an explicitly supported CPU to benefit from further, platform specific optimizations.
91321146 Posted November 10, 2016 Author Report Posted November 10, 2016 Hi You know I read these pages but I couldn't understand . Which macro should I set true for using bare metal on stm32f7?
Joel Bodenmann Posted November 10, 2016 Report Posted November 10, 2016 You have to set GFX_USE_OS_RAW32 to TRUE in your configuration file to enable the BareMetal (no operating system) port. You can have a look at this example which is a bare metal project for the STM32F746G-Discovery board:
91321146 Posted November 12, 2016 Author Report Posted November 12, 2016 Hi freind I did things that you told and i chenged main file in ugfx_widget demo to this: but now it dosent show any thing! do you know what is problem?
91321146 Posted November 13, 2016 Author Report Posted November 13, 2016 (edited) Is there any body help me friends ? Edited November 13, 2016 by 91321146
Joel Bodenmann Posted November 13, 2016 Report Posted November 13, 2016 Judging from your screenshot you are using Keil µVision, is that correct? Given the information from your previous forum topics I assume that you have been using an RTOS before and are now switching to a baremetal solution. In that case, please double check to ensure that there is no operating system running in the background. With Keil µVision it is quite easy to have software components enabled that get initialized automatically due to the package manager. After that... Did you specify the CPU in the configuration file? As forum search will tell you the ARMCC compiler will complain about the syntax of the assembly code that gets enabled when specify any of the Cortex-M architectures. Therefore, I assume that you are using GFX_CPU_UNKNOWN - is that correct? There's a known issue with the implementation of setjmp() and longjmp() of the libc that comes with ARMCC. As far as I remember that issue never got resolved as it's really a bug in the upstream. @inmarket might have more information on this. To actually debug this: Please check whether the scheduler is up and running. You can easily do this by creating multiple thread and making sure that all of them are working. You might want to run the demo you can find in /demos/modules/gos/thread. In general: We can't really help based on "It doesn't show anything". More background information is always required. If you are encountering compilation errors and similar you can always attach the compiler output log as a text file to your forum post.
91321146 Posted November 14, 2016 Author Report Posted November 14, 2016 (edited) Hi friend this is my gfxconf.h file: yes,i use keil. is there any problem in this file?i dont think so. Edited November 14, 2016 by 91321146
Joel Bodenmann Posted November 14, 2016 Report Posted November 14, 2016 Hello, That configuration file looks fine. However, I am really surprised.... are you able to compile that with Keil µVision? Because if you set GFX_CPU_CORTEX_M7_FPU it enables the architecture specific assembly code that we wrote for the baremetal port. That code is known to compile well with GCC but not with ARMCC (which is the compiler that Keil µVision uses by default). Are you 100% sure that you can compile with that configuration without any errors?
91321146 Posted November 14, 2016 Author Report Posted November 14, 2016 Yes dear Joel Belive I could compile with out any errors . What you suggest me friend ?
Joel Bodenmann Posted November 14, 2016 Report Posted November 14, 2016 Please attach the complete compiler output log as a text file to your next forum post. Make sure that it is a clean build. I am having hard times believing that you are able to compile successfully:
91321146 Posted November 14, 2016 Author Report Posted November 14, 2016 this is my compiler output log. thanks if you answer compiler_log.txt
inmarket Posted November 14, 2016 Report Posted November 14, 2016 Based on that output please run the demos/modules/gos/threads demo and verify that threading is working correctly. I suspect that although it has compiled that basic threading is not working due to bugs in the Keil C library and this would certainly cause a blank display.
91321146 Posted December 7, 2016 Author Report Posted December 7, 2016 Hi I wanted run demo,threads but it gave error what's problem? really i need ugfx in bare metal. can I use IAR COMPILER in order to have ugfx in bare metal with out any errors ?
Joel Bodenmann Posted December 7, 2016 Report Posted December 7, 2016 Please check out the latest master branch of the official uGFX library repository. @inmarket pushed a couple of commits a few hours ago which implement an alternative scheduler written in assembly that compiles with ARMCC. However, please note that we didn't have time to thoroughly test it so far.
91321146 Posted December 7, 2016 Author Report Posted December 7, 2016 I merged ufgx folder in master with my ufgx folder in my project , but now it gave this error Of course I didn't change gfx confirm. h
Joel Bodenmann Posted December 7, 2016 Report Posted December 7, 2016 On first glance it seems to be a simple missing symbol definition. We'll have to look into this. As mentioned we didn't get to test it properly yet. There's nothing I can tell you to get it working right now.
91321146 Posted December 7, 2016 Author Report Posted December 7, 2016 (edited) So I will wait to your proper answer Thanks a lot Edited December 7, 2016 by 91321146
inmarket Posted December 7, 2016 Report Posted December 7, 2016 You havent updated all the source files from the master. i can see that your editor window is displaying the old version of gos_x_threads.c Please properly update your ugfx from the master repository.
91321146 Posted December 12, 2016 Author Report Posted December 12, 2016 Please onebody help me I add the latest version of ugfx but it gave 180 errors when I wanted to run demo_003 in bare metal with keil! Really it's problem that we can't use ugfx in bare metal with keil
91321146 Posted December 12, 2016 Author Report Posted December 12, 2016 Is not enough to merge master ugfx folder (updated ) with ugfx folder in demo_003 folder and change gfxconf.h to run app in bare metal mode?
Joel Bodenmann Posted December 12, 2016 Report Posted December 12, 2016 We are running µGFX on a bare-metal platform with a Keil µVision project ourselves successfully so this really shouldn't be more than a configuration issue. Can you please do what @inmarket told you and ensure that you updated all the files. On a side note, note that we just pushed a change/fix for the RAW32 memory manager, maybe you want to upgrade to the latest master branch at this point. If you keep having these problems, please attach the complete compilation output log from a clean-build as a text file.
91321146 Posted December 12, 2016 Author Report Posted December 12, 2016 Joel may you upload ugfx_demo_003 (for discoveryf7) in bare metal here?
Joel Bodenmann Posted December 12, 2016 Report Posted December 12, 2016 Working on it. I can confirm that there's a build issue with the latest master regarding the missing symbol definition.
Joel Bodenmann Posted December 12, 2016 Report Posted December 12, 2016 We just pushed a fix for this. The reason was a missing __cpp() wrapper macro around the C function call to gfxThreadExit() inside the inline assembly code. Note that we haven't tested this ourselves yet, this has to wait a couple of days. We'd appreciate it if you could grab the latest master and let us know whether it works now for you.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now