I am using uVision 4.21 MDK_ARM to learn how to program C++ on MCB1700.
I have create a new project and add 2 files (startup_CPL17xx.s / system_LPCxx.c) to startup group. Then I add main.cpp to Sources Files group. The project options are:
Device: LPC 1768 Target: Default Output: Default Listing: Default User: Default C++: Default Asm: Default Linker: Default Debug: Use ULINK Cortex Debugger Utilities: Default
Then I change the startup_LPC17xx.s Stack Size: 0x0000 1000 Heap Size: 0x0000 1000
My main.cpp code:
#include <vector> #include <string> int main (void) { int i = 0; int sum = 0; std::vector<int> vInt; std::string str = "Hello, C++"; vInt.push_back(1); vInt.push_back(2); vInt.push_back(3); vInt.push_back(4); vInt.push_back(5); sum = vInt.size(); sum = 0; for(i=0; i<5; i++) { sum += vInt[i]; } while(1); //return 0; }
I build the project successfully and download it to MCB1700 board "OK". Then I hit "F9" to set break point at line "vInt.push_back(1);". After I select Debug->Start Debug Session, the break point is not reached even I hit "F5" many times. Why?
By the way, I find there are 2 windows: Disassembly Window and Code Window (for main.cpp). How could I step through the code on C++ source code level and how could I step through the code on Assembly level?
int main (void) { int i = 0; int sum = 0; for(i=0; i<10; i++) //*********************** { sum = sum + i; } i = sum; while(1); //return 0; } I can reach the break point. But after I add variables "i" and "sum" to Watch 1 windows and
hit "F10" to step over the code. I can not see the i/sum value (the value show "<out of scope>".
"the break point" is not very informative
can you see the values when stopped at '********'?
Erik
int main (void) { int i = 0; int sum = 0; for(i=0; i<10; i++) //***********************break point 1 { sum = sum + i; } i = sum;//break point 2 while(1); //return 0; }
Erik /////////////////////////////////////// No. I have set break point at break point 1 / 2. Both no value.