Hi,
I am a newbie to use RTOS and Ethernet networks with CMSIS function and RTOS2 API. I used STM32 MCUs with bare metal structure but the RTOS is something amazing.
First: I have updated all my packages to the latest version and my previous program that worked fine now it is now facing this error:
C:/Users/Volter/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/src/misc.c(131): error: no member named 'IP' in 'NVIC_Type' 131 | NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority;
Second:
So I have some questions and I would be grateful if you could explain them to me. I can start the TCO/UDP protocol on my STM32f107 MCU and now I need to deepen my understanding.
I used the default values of RTOS configuration in the RTX_Config.H
OS_DYNAMIC_MEM_SIZE 32768 OS_STACK_SIZE 3072
And Network System Settings in NET_CONFIG.c
#define NET_MEM_POOL_SIZE 12000
And Startup settings in startup_stm32f10x_cl.s
Stack_Size EQU 0x00000400 Heap_Size EQU 0x00000200
.\Objects\TCP.axf: Error: L6406E: No space in execution regions with .ANY selector matching net_config.o(.bss.udp_scb). .\Objects\TCP.axf: Error: L6406E: No space in execution regions with .ANY selector matching emac_stm32f10x.o(.bss.tx_desc). .\Objects\TCP.axf: Error: L6406E: No space in execution regions with .ANY selector matching net_config.o(.bss.os.mutex.cb). .\Objects\TCP.axf: Error: L6406E: No space in execution regions with .ANY selector matching net_sys.o(.bss). .\Objects\TCP.axf: Error: L6406E: No space in execution regions with .ANY selector matching rtx_lib.o(.bss.os.msgqueue.cb).
Why does this happen for these small values?
I've updated my packages to
ARM.CMSIS.6.1.0
ARM.CMSIS-Compiler.2.1.0
ARM.CMSIS-Driver.2.8.0
ARM.CMSIS-View.1.2.0
Keil.STM32F1xx_DFP.2.4.1
Keil.MDK-Middleware.7.17.0
ARM.CMSIS-RTX.5.9.0
And set all of them in the Run time environment window but I receive this error:!!!
error: no member named 'IP' in 'NVIC_Type'
I appreciate your help and explanations.