cancel
Showing results for 
Search instead for 
Did you mean: 

Default configuration settings contain loop?

Ken1
Associate II

I have started a new C++ project and selected my chip (STM32H753II). I changed only the runtime library and left all other settings as default. (See attached.)

I then set the release configuration to "active" (see attached) as I do not have the RESET or SWO pins connected. The program I wrote is fairly simple and compiled with no errors; however, when I try to run it I get this error: "Infinite loop detected for 'New_configuration(1)' configuration" (see attached).

I've tried to google the error but could not find anything about it. Can someone explain what it means? The config files are all generated and I didn't change anything in them so I would think it should work. Thanks in advance for any help.

**EDIT**

I'm assuming nobody is familiar with this error since I haven't received a response. Odd considering this is supposed to be the place to go for TRUEStudio support...

I tried attacking this from another angle and now I have a different issue; I've started a new project this time with entirely default settings and tried using the pre-built drivers (previously I was trying to use drivers I had written. I'm not accustom to using pre-built drivers).

Main.cpp:

/*******************************************************************************
File:     main.cpp
Info:     Generated by Atollic TrueSTUDIO(R) 9.3.0   2020-11-09
 
The MIT License (MIT)
Copyright (c) 2019 STMicroelectronics
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
*******************************************************************************/
 
 
/**
*  IMPORTANT NOTE!
*  The symbol VECT_TAB_SRAM needs to be defined when building the project
*  if code has been located to RAM and interrupts are used.
*  Otherwise the interrupt table located in flash will be used.
*  See also the <system_*.c> file and how the SystemInit() function updates
*  SCB->VTOR register.
*  E.g.  SCB->VTOR = 0x20000000;
*/
 
 
#include "stm32h7xx.h"
#include "stm32h753xx.h"
 
 
int main(void){
 
	SET_BIT(GPIO_MODER_MODER8, 14);
	SET_BIT(GPIO_ODR_ODR_8, 8);
 
	while (true){
		;  //  Loop here.
	}
}

I get the following error when I try to build: lvalue required as left operand of assignment

The macro in question is almost identical to what I use when I write my own drivers so I'm not sure why it's not working.

#define SET_BIT(REG, BIT)     ((REG) |= (BIT))

If anyone can help me with either of these problems I'd really appreciate it. I'm just trying to verify basic functionality of a custom board before shipping it.

0 REPLIES 0