Pro V2.0 Observations

Beta Testing discussion on mikroBasic PRO for dsPIC30/33 and PIC24.
Post Reply
Author
Message
Skyline
Posts: 267
Joined: 10 Jan 2006 09:35

Pro V2.0 Observations

#1 Post by Skyline » 06 Jan 2010 10:15

Hi,

Thanks mE for the very capable and rock-solid Pro V2.0.

1. Some quick observations:
1.1 Program organisation/structure and code/data visibility now works cleanly and consistently due to improved prototypes, includes and implements handling;

1.2 Data structure now works well with byte-size members; together with typedefs, pointers and "at" qualifiers, V2 provides very powerful capabilities for organising data structures;

1.3 Code expression evaluation, automatic typecasting promotion/clipping, works as expected, no surprises :), 32int = 16int * 16int works, "+" concat operator works for multiple string operands;

1.4 Optimizer now doesn't overuse SFRs when eliminating temp variables, this is very important for buffers like ICBUFs, RXBUFs, ADCBUFs;

2. A couple of obscure problems:
2.1 V5 IDE recompiles all modules that are visible in the IDE, regardless of whether the modules have been modified or not. Pro V2 only recompiles the modules that have been modified. So if module YY contains eg:

Code: Select all

module YY

#IFDEF P30F6014A
   #I 6014A.sym
   include lcd_x
   include uart_30
#ENDIF

#IFDEF P33FJ128MC708
   #I MC708.sym
   include lcd_x
   include uart_33
#ENDIF
then when the device is changed for the project, this module YY is not recompiled to include different device includes, leading to errors during project builds. Similarly this could be a problem for modules that has user or compiler compile-time const assignments eg clock_kHz or baud_rate, if the project clock setting is changed, modules that use compile-time const assignments would not be recompiled and changed accordingly. Is there a way to force the compiler to always recompile a specific module?

2.2 There was an earlier report about #I and error line locations, similarly the compiler line locations for errors do not allow for the #IFDEF #ENDIF lines.

User avatar
anikolic
mikroElektronika team
Posts: 1775
Joined: 17 Aug 2009 16:51
Location: Belgrade
Contact:

#2 Post by anikolic » 08 Jan 2010 16:16

Hi,
First I would like to thank you for your compliments on the compiler and for helping us constantly improve it by sending comments and reporting issues.

2.1. issue has already been detected and recreated, and you may expect it to be fixed very soon. http://www.mikroe.com/forum/viewtopic.p ... 423#116423
A way to force the IDE to recompile the module is to trick it as if some changes have been made. So, try putting an irrelevant space character somewhere in the module code and save it. After that, rebuilt module will include global configuration, such as MCU clock value.

2.2 We will investigate this issue also.

Best regards,
Aleksandar
Web Department Manager

Skyline
Posts: 267
Joined: 10 Jan 2006 09:35

#3 Post by Skyline » 08 Jan 2010 16:53

Hi,

Thank you for your response and the quick resolution, this is really great support.

Thank you too for the suggestion of the workaround by forcing the source module modified flag to be updated. If too many include modules are affected another way is the time-honoured way of deleting all the module mcl files :).

Post Reply

Return to “mikroBasic PRO for dsPIC30/33 and PIC24 Beta Testing”