Раньше я писал свои программы с C в Keil для STM32F407, и все работает отлично.
Теперь я хочу перейти на C ++.
я просто изменил исходники .c суффиксов на .cpp, а также добавил некоторые внешние «c», и моя система работала нормально.
но когда я хочу работать с классами, такими как vector или string, мои системные блоки перед входом в main.
я включаю векторные и строковые классы и объявляю переменную как: string str; и система работает нормально
но когда я придаю значение этому как str = «dd»; в любой строке моего приложения оно успешно компилируется и загружается на устройство, но во время выполнения системные блоки перед входом в главное;
Я ожидал, что, по крайней мере, он перейдет к соответствующей строке (str = «dd»;) и затем блокируется, но блокируется перед входом в основную.
я также настроил кучу и стек до 0x4000 байт
есть ли у вас представление о том, проблема?
я также нашел несколько страниц в сети, которые связаны с моей проблемой, но я все еще не мог решить ее
http://www.keil.com/support/docs/3614.htm
http://www.keil.com/forum/17845/bkpt-0xab-problem-without-swi/
я думаю, что моя проблема связана с Semihosting, но я не могу понять это 🙁
Других решений пока нет …