2016-12-15 06:20 PM
Hello Everyone,
I look forward to whom who knows Cubemx well in this community,
In my generated cubemx, for GPIO initialization the code says,
static void MX_GPIO_Init(void)
{GPIO_InitTypeDef GPIO_InitStruct;
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE();But the error sign of Eclipse says following
At this consideration the clock configuration at cubemx ,
During this time my RCC setting was,
Take a look here, if you feel any mismatch ,
void SystemClock_Config(void)
{RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_PeriphCLKInitTypeDef PeriphClkInit;RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = 16; RCC_OscInitStruct.LSIState = RCC_LSI_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); }RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) { Error_Handler(); }PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_RTC;
PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSI; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) { Error_Handler(); }HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
/* SysTick_IRQn interrupt configuration */
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); }1. Explain things which should be necessary here,
2. If RCC is ON then what should be the effect?
3. RCC is necessary for every design of STM32F07xxx?
Regards
Hasan
#rcc #uphill-skiing #initial-clock #gpio #cubemx Note: this post was migrated and contained many threaded conversations, some content may be missing.2016-12-15 06:35 PM
Does it compile? Eclipse has its own parser, but I'd trust the compiler over the editor.
2016-12-15 09:06 PM
No Sir!
Eclipse has its own parser
Dont you saying about it?
but I'd trust the compiler over the editor
What compiler and editor got your trust?
2016-12-15 09:33 PM
Dear Sir Clive1,
Previously the build console says,
Invoking autoreconf in build directory: C:/STM32_toolchain/Workspace/adapt_rc/Debug
Configuration failed with error(Cannot run program ''sh'' (in directory ''C:\STM32_toolchain\Workspace\adapt_rc''): CreateProcess error=2,Now , I realize the problem, and corrected as Executable,
Right now, the build says,
arm-none-eabi-gcc -mthumb -mfloat-abi=soft -E -IC:/STM32_toolchain/common/Drivers/CMSIS/Include -IC:/STM32_toolchain/common/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -IC:/STM32_toolchain/Workspace/adapt_rc/Inc -IC:/STM32_toolchain/common/Drivers/STM32F0xx_HAL_Driver/Inc -IC:/STM32_toolchain/common/Drivers/CMSIS/Device/ST/STM32F0xx/Include -O0 -g -Wall -fmessage-length=0 -ffunction-sections -c -o ''common1\\spi.o'' ''..\\common1\\spi.c''
..\common1\spi.c:36:17: fatal error: spi.h: No such file or directorycompilation terminated.Debug folder in project tree showing object files,
2016-12-15 10:15 PM
Ok, and where is SPI.H in the tree of files you are attempting to build?
2016-12-15 11:01 PM
Thank you sir.
Take a look all project tree. Find what you want to see.
Console says,
C:/STM32_toolchain/common/Drivers/STM32F0xx_HAL_Driver/Inc/system_stm32f0xx.h:86:13: error: declaration for parameter 'SystemCoreClockUpdate' but no such parameter
extern void SystemCoreClockUpdate(void); ^C:/STM32_toolchain/common/Drivers/STM32F0xx_HAL_Driver/Inc/system_stm32f0xx.h:85:13: error: declaration for parameter 'SystemInit' but no such parameter extern void SystemInit(void); ^C:/STM32_toolchain/common/Drivers/STM32F0xx_HAL_Driver/Inc/system_stm32f0xx.h:59:17: error: declaration for parameter 'SystemCoreClock' but no such parameter extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ ^..\Src\main.c:630:1: warning: control reaches end of non-void function [-Wreturn-type] } ^The error message says that the function is defined to return a value but I am not returning anything.?
2016-12-16 08:40 AM
I'm suggesting you use a File Manager, or whatever you use to navigate the files on your system, and find SPI.H within the file sub-directories that make up the project. Once you have found it, you need to make sure the compiler knows that path. I don't see a 'Common2' directory listed in the '-I' option in the compiler command line.
Screen shots from Eclipse aren't where you need to be looking. The compiler is telling you it can't find/open a file, you need to figure out where it is and pass that information to the compiler so it can find it too.
Not sure of the error messages in your last post, but you need to look for the first error encountered, subsequent errors may just be a result of trying to continue, so fix/address the errors in the order they occur, and rebuild as you fix each.
2016-12-18 10:56 PM
I'm suggesting you use a File Manager, or whatever you use to navigate the files on your system
Are you suggesting to do in this way?
http://stackoverflow.com/questions/10847795/how-to-browse-file-systems-in-eclipse
If not there is one way I saw in Help menu,
find SPI.H within the file sub-directories that make up the project.
Dont you mean keep that file after making a sub-folder under a folder in a project folder?
If I included my spi.c history at main.c, is there any problem?
Does it have any benefit to make different file under each folder ?
I think I am repeating same spi.c, gpio.c, tim.c in main.c. Is not a big error?
I don't see a ''Common2'' directory listed in the ''-I'' option in the compiler command line.
Yes, I will include it in project >> Properties >> C/C++ Build >> Settings >> Tool settings>> includes , isnt true ?
The compiler is telling you it can't find/open a file, you need to figure out where it is and pass that information to the compiler so it can find it too.
Does it means if that file is unavailable then,
1. Look for it wheather it added or not included file.
2. Need to find from ''search'' option in whole work-space or project folder ?
Kindly discuss to these point.
2016-12-19 10:38 AM
Are you suggesting to do in this way?
By 'File Manager' I mean whatever you use to understand the files and directories on the machine, to move and copy them about. I use something called ZTree as I'm familiar with it, you might use the one built into Windows.
Don't you mean keep that file after making a sub-folder under a folder in a project folder?
If I included my spi.c history at main.c, is there any problem?
Does it have any benefit to make different file under each folder ?
I mean you need to understand where the SPI.H file comes from in your project. I'm assuming it is in the same directory as the source, or in a ..\INC equivalent.
I'm not asking you to move or change anything, just understand where it is, and confirm it does exist. Don't have multiple copies of the same files.
Where there are a dozen files involved I'd tend to use a flat structure. If there are hundreds or thousands, then managing them in some more elegant directory structure will make more sense. Try to keep it simple.
Does it means if that file is unavailable then,
1. Look for it whether it added or not included file.
2. Need to find from 'search' option in whole work-space or project folder ?
Include files typically don't get added to project trees, I don't use Eclipse, but the compiler is building .C files containing source, the .H files get pulled in via &sharpinclude statements, and the system must be able to find them. If it says it can't find them, then you have set something up wrong. Most likely the include paths.
2016-12-19 09:35 PM