Need help in fixing Arm Mbed C++ Program Error

I kept breakpoint on line 48 of ShiftOut::writeByte function

code_lines_01d

I am expecting the cursor to stop on line 48 about five times, so that I can watch value of byte parameter.
But the cursor is not reaching or stopping on line 48 at all.

I am starting debugger by clicking on debug of the following screen capture:

Cursor stopped on line 77 of main function shown below:

I am using the following debug buttons, to break at line 48 of ShiftOut::writeByte function watch value of byte parameter but I am not able to.

code_lines_01g

Can you please let me know some detailed steps along with screen capture images, so that I can make the debugger break on line 48 please?

code_lines_01d

How I already wrote above, share the project via your profile on Mbed web or your Github, then it will be more easy to move through your code, more than by this way in posts.

Try this - Arm Keil Studio Cloud User Guide

Did you try the library in a simple program before you start used it in your complex program?

BR, Jan

Hi JohnnyK,
Thank you very much for the information.
Prior to Arm Mbed C++, I used Texas Instruments and Micron micro controllers embedded software development for about 10 years. I am new to Arm Mbed C++ and ST micro controllers.
I am learning this environment. Thank you for your help.
I will read the information you are providing.

I do not know how to share my project via my profile on Mbed web.
I will read the info you have provided above and try to share my project.
Due to my company proprietary, information, I am not allowed by my company to put these files on Github.

Mean while, let me ask some simple questions please.

Which header file has the numerical values of PinNames such as
PD_12, PE_15, PG_5 etc ?

When I joined this project, the project was already very late.
Therefore, I am under huge time pressure to complete this mile stone of this program.
After this fix, I will have some time to learn the Mbed C++ configuration steps.

Please let me know how to share my project via my profile on Mbed web, by giving some screen capture images of the steps.

Please help me to fix issues with this program.
Thanks and best regards,

The link above is for KeilStudio, for MbedStudio is here - Debugging with Mbed Studio - Monitoring and debugging | Mbed Studio Documentation

Here is source for Nucleo-F429ZI

For creating a repo just try - Mbed Create
After you have created a repo, then set the url in MbedStudio like is here

BR, Jan

Just for filling the info.

I am not sure why it stops at the start of the main, I am not so experienced, however when you will press continue, then the debugger will release your program and let you type your hex string input. Next stop will be your break point.

Anyway I am not sure that working correctly. Because when I stepped into function writeByte, there was always a weird byte value like 72 or 73 and later it is out of scope.
But when I print out the byte inside the function using debug printf function as int it is still number 30.

However the output on the pin seems to be inverted, because the byte mask is set for LSB.

Welcome to ATG Lens Antenna Micro-Controller Commands Program:

Available Commands:

Press 'R' to Reset all 40 GPIO Pins:
Press 'S' to Set all 40 GPIO Pins:
Press 'H' to See list of Available Commands:

Type HEX sting of length of 12 Hex digits (For example, 8F0F0F0F0Fc3) 
by Typing  0 to F  HEX chars followed by Enter key:
8F0F0F0F0Fc3

Pressed Enter Key



Inside parse_hex_fcps function. 

12

8F0F0F0F0Fc3
HEX

SR_BNK : 1

PA_BRD : 3


 Input Hex String : 8F0F0F0F0Fc3



 FCPS Hex String : 1E1E1E1E1F


SR_BNK : 1

PA_BRD : 3
Dec 0, hex 0
Pin state requested: 0 0 0 0 0 0 0 0
Pin state: 0 0 0 0 0 0 0 0

(PinName)ser_data : 102

ser_data : 102

FCPS BYTE STR 
Hex Byte : 0
Dec 0, hex 0
Pin state requested: 0 0 0 0 0 0 0 0
Pin state: 0 0 0 0 0 0 0 0

FCPS BYTE STR 1F
Hex Byte : 31
Dec 31, hex 1f
Pin state requested: 1 1 1 1 1 0 0 0
Pin state: 1 1 1 1 1 0 0 0

FCPS BYTE STR 1E
Hex Byte : 30
Dec 30, hex 1e
Pin state requested: 0 1 1 1 1 0 0 0
Pin state: 0 1 1 1 1 0 0 0

FCPS BYTE STR 1E
Hex Byte : 30
Dec 30, hex 1e
Pin state requested: 0 1 1 1 1 0 0 0
Pin state: 0 1 1 1 1 0 0 0

FCPS BYTE STR 1E
Hex Byte : 30
Dec 30, hex 1e
Pin state requested: 0 1 1 1 1 0 0 0
Pin state: 0 1 1 1 1 0 0 0

FCPS BYTE STR 1E
Hex Byte : 30
Dec 30, hex 1e
Pin state requested: 0 1 1 1 1 0 0 0
Pin state: 0 1 1 1 1 0 0 0

BR, Jan

It is standard behavior for a number of debuggers to always break on the first line of main. Sometimes they have an option somewhere to turn this off.

1 Like

Hello Jan,
Many, many … many thanks for your excellent help.
Using your help, I am making progress on my Mbed C++ project.

Again, thank you very much for your extraordinary help.

Best regards,
SSJ

Hello Breda,
Thank you very much for the information.
I am getting to know the debugger.

Best regards,