Forum Replies Created
-
AuthorPosts
-
kurta999Participant
Or try this: https://github.com/mpaland/printf
kurta999ParticipantHAL is crap, it’s just for beginners. We are used it for commercial modules, but now I’m planning to move everything to low layer & raw register access. Anyway Congratulations for Visual GDB, I’m now trying to push my boss to buy a license (It’s a big plus that it works with ESP too) and throw out Atollic. It’s a messy nonsense IDE. They fix a bug, creates two new.
“This could be a bug worth reporting to ST and if it’s not fixed in one of the next STM32CubeMX updates, we will consider adding logic for detecting this and automatically adding the macro and skipping the missing file.”
Good luck with that 😀 If VisualGDB staff can afford it, then please fix this because interest is here.
kurta999ParticipantThe problem can be in HAL too. Eg: USB CDC doesn’t work for me with “optimize for speed”, I had to lower it to “optimize more”. (i’m not going to fix a driver myself which ST has f*cked up..)
kurta999ParticipantStill no plans on implementing this popup feature from Atollic?
I would recommend try to compare which is better in Atollic, and try to implement these features 🙂 In future we’ll buy a few license that’s sure, since now this visual gdb rocks with ESP support & newly added features.
kurta999ParticipantDid you plan to implement this feature in final 5.4? If yes, our team would use sometime atollic, sometime visual gdb.
- This reply was modified 6 years, 2 months ago by kurta999.
kurta999ParticipantOkey, no problem. I very appreciate it that you looked after.
Anyway the situation is the same with other expressions like ‘+’, ‘-‘, ‘>>’, ‘<<‘ etc? In attolic this works for all expression, not for only ‘(‘ ‘)’.
- This reply was modified 7 years, 2 months ago by kurta999.
kurta999ParticipantIt would be possible to show expressions in debugger?
In attolic, there is an example code:
int32_t Vdd = 3300 * (*VREFINT_CAL) / vdd;
int32_t temperature = (((int32_t)adc_temp * Vdd / 3300)- (int32_t) *TEMP30_CAL_ADDR );
temperature = temperature * (int32_t)(110 – 30);
temperature = temperature / (int32_t)(*TEMP110_CAL_ADDR – *TEMP30_CAL_ADDR);If my cursor is on first ( in debug mode, then debugger will show a window with this expresison value. Like:
int32_t temperature = (((int32_t)adc_temp * Vdd / 3300)- (int32_t) *TEMP30_CAL_ADDR );
Result:
Name : (((int32_t)adc_temp * Vdd / 3300)- (int32_t) *TEMP30_CAL_ADDR )
Details:7
Default:7
Decimal:7If my curson on the second (, result will be:
Name : ((int32_t)adc_temp * Vdd / 3300)
Details:1767
Default:1767
Decimal:1767If my cursor is on minus sign, it will show:
Name : ((int32_t)adc_temp * Vdd / 3300) – (int32_t) *TEMP30_CAL_ADDR
Details:7
Default:7
Decimal:7I think this is the most useful feature in attolic, I very miss this from GDB. With this method I can find very easy, where I made a mistake in the expression. This works for every expression (+,-,/,*,%,||,&,>>, etc..) and for casts too.
kurta999ParticipantAwesome!
Thanks!
kurta999ParticipantWe also planning to move from Attolic to GDB. Visual Studio is better than Eclipse, IMO, but I miss these things :
– Intellisense and debugger isn’t show size of “sizeof” when you hover cursor trough. This should be done, I very miss this feature. This feature also present in ReSharper. It also works for operators, like if I hover cursor trough ==, in this case: saved_data.dev_addr[0] == 0, debugger will show that this is false, because dev_addr is not null.
– In debugger you can only view values at hex or dec, in attolic you can see it also in binary, octal & char form.—
It is possible to check what is stack pointer in GDB?
In attolic it’s like:
General Registers General Purpose and FPU Register Group
r0 536872224
r1 536872282
r2 32
r3 32
r4 -1
r5 -1
r6 -1
r7 536879080
r8 -1
r9 -1
r10 -1
r11 -1
r12 -1073872904
sp 0x20001fe8
lr 134237211
pc 0x80056d8 <mm_initialize+24>
xpsr 1627389952
PRIMASK 0
BASEPRI 0
FAULTMASK 0
CONTROL 0
MSP 536879080
PSP -4- This reply was modified 7 years, 2 months ago by kurta999.
-
AuthorPosts