From 59df394b438197ff2d5eaa43daf116dfbb0129f9 Mon Sep 17 00:00:00 2001 From: David Lin Date: Tue, 3 Mar 2020 20:50:40 +0800 Subject: [PATCH 1/6] Fixed wrong output information blind->bind --- examples/tcp_udp_base_lwip/udp_server/udp_server.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/tcp_udp_base_lwip/udp_server/udp_server.c b/examples/tcp_udp_base_lwip/udp_server/udp_server.c index 48fa029d..c110070c 100644 --- a/examples/tcp_udp_base_lwip/udp_server/udp_server.c +++ b/examples/tcp_udp_base_lwip/udp_server/udp_server.c @@ -4,7 +4,7 @@ #include #include -char buff[512]; // UDP接收数据缓冲区 +char buff[512]; // UDP鎺ユ敹鏁版嵁缂撳啿鍖 const unsigned short server_port = 8000; void application_entry(void *arg) @@ -17,15 +17,15 @@ void application_entry(void *arg) MX_LWIP_Init(); - /* 构造用于UDP的套接字 */ + /* 鏋勯犵敤浜嶶DP鐨勫鎺ュ瓧 */ sockfd = socket(AF_INET, SOCK_DGRAM, 0); memset(&serveraddr, 0, sizeof(serveraddr)); serveraddr.sin_family = AF_INET; - serveraddr.sin_addr.s_addr = htonl(INADDR_ANY); //本地任意IP + serveraddr.sin_addr.s_addr = htonl(INADDR_ANY); //鏈湴浠绘剰IP serveraddr.sin_port = htons(server_port); while (1) { bind(sockfd, (struct sockaddr *)&serveraddr, sizeof(serveraddr)); - printf("udp blind ip:ANY,port:%d\n", server_port); + printf("udp bind ip:ANY,port:%d\n", server_port); clientlen = sizeof(clientaddr); len = recvfrom(sockfd, buff, sizeof(buff), 0, (struct sockaddr *)&clientaddr, &clientlen); printf("client IP %s\tPORT %d\nrec:%s\n", inet_ntop(AF_INET, &clientaddr.sin_addr.s_addr, ipstr, sizeof(ipstr)), ntohs(clientaddr.sin_port), buff); From 17df5b69a60ef712e7f64645693dcb36012a2463 Mon Sep 17 00:00:00 2001 From: David Lin Date: Wed, 4 Mar 2020 20:46:44 +0800 Subject: [PATCH 2/6] Update e53_ia1_e2e_demo_config.h _H_TOS_FARM_AI_CONFIG_H -> _E53_IA1_E2E_DEMO_CONFIG_H_ --- examples/sensor_e53_ia1_e2e_demo/e53_ia1_e2e_demo_config.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/sensor_e53_ia1_e2e_demo/e53_ia1_e2e_demo_config.h b/examples/sensor_e53_ia1_e2e_demo/e53_ia1_e2e_demo_config.h index a6887e4b..dce3d18b 100644 --- a/examples/sensor_e53_ia1_e2e_demo/e53_ia1_e2e_demo_config.h +++ b/examples/sensor_e53_ia1_e2e_demo/e53_ia1_e2e_demo_config.h @@ -1,5 +1,5 @@ -#ifndef _H_TOS_FARM_AI_CONFIG_H -#define _H_TOS_FARM_AI_CONFIG_H +#ifndef _E53_IA1_E2E_DEMO_CONFIG_H_ +#define _E53_IA1_E2E_DEMO_CONFIG_H_ #define MQTT_PRODUCT_ID "U1BZWHF7F9" #define MQTT_DEV_NAME "dev_01" @@ -9,4 +9,4 @@ #define MQTT_SUBSCRIBE_TOPIC "U1BZWHF7F9/dev_01/data" #define MQTT_PUBLISH_TOPIC "$shadow/operation/U1BZWHF7F9/dev_01" // $shadow/operation/{MQTT_PRODUCT_ID}/{MQTT_DEV_NAME} -#endif +#endif/*_E53_IA1_E2E_DEMO_CONFIG_H_*/ From 3d95ace7fec8b374da6de59d26b104f83833f250 Mon Sep 17 00:00:00 2001 From: David Lin Date: Fri, 6 Mar 2020 09:01:07 +0800 Subject: [PATCH 3/6] Minor optimization to improve readability of code mqtt_msg_handler_destory -> mqtt_msg_handler_destroy --- .../connectivity/mqttclient/mqttclient/mqttclient.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/connectivity/mqttclient/mqttclient/mqttclient.c b/components/connectivity/mqttclient/mqttclient/mqttclient.c index 0d71a275..16d8a550 100644 --- a/components/connectivity/mqttclient/mqttclient/mqttclient.c +++ b/components/connectivity/mqttclient/mqttclient/mqttclient.c @@ -401,7 +401,7 @@ static message_handlers_t *mqtt_msg_handler_create(const char* topic_filter, mqt return msg_handler; } -static void mqtt_msg_handler_destory(message_handlers_t *msg_handler) +static void mqtt_msg_handler_destroy(message_handlers_t *msg_handler) { if (NULL != &msg_handler->list) { list_del(&msg_handler->list); @@ -435,7 +435,7 @@ static int mqtt_msg_handler_is_exist(mqtt_client_t* c, message_handlers_t *handl static int mqtt_msg_handlers_install(mqtt_client_t* c, message_handlers_t *handler) { if (mqtt_msg_handler_is_exist(c, handler)) { - mqtt_msg_handler_destory(handler); + mqtt_msg_handler_destroy(handler); RETURN_ERROR(MQTT_SUCCESS_ERROR); } @@ -620,7 +620,7 @@ static int mqtt_suback_packet_handle(mqtt_client_t *c, platform_timer_t *timer) RETURN_ERROR(MQTT_MEM_NOT_ENOUGH_ERROR); if (is_nack) { - mqtt_msg_handler_destory(msg_handler); + mqtt_msg_handler_destroy(msg_handler); RETURN_ERROR(MQTT_SUBSCRIBE_NOT_ACK_ERROR); } @@ -643,7 +643,7 @@ static int mqtt_unsuback_packet_handle(mqtt_client_t *c, platform_timer_t *timer if (!msg_handler) RETURN_ERROR(MQTT_MEM_NOT_ENOUGH_ERROR); - mqtt_msg_handler_destory(msg_handler); + mqtt_msg_handler_destroy(msg_handler); RETURN_ERROR(rc); } From 2c9f8b2ff8bc661a7f1d4320068ebff23a497a4a Mon Sep 17 00:00:00 2001 From: David Lin Date: Fri, 6 Mar 2020 09:05:03 +0800 Subject: [PATCH 4/6] Update README.md --- components/connectivity/mqttclient/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/connectivity/mqttclient/README.md b/components/connectivity/mqttclient/README.md index c98af004..823b3588 100644 --- a/components/connectivity/mqttclient/README.md +++ b/components/connectivity/mqttclient/README.md @@ -311,7 +311,7 @@ mqtt_ack_list_unrecord(c, UNSUBACK, packet_id, &msg_handler) ``` 3. 閿姣佸搴旂殑璁㈤槄娑堟伅澶勭悊鍑芥暟 ```c -mqtt_msg_handler_destory(msg_handler); +mqtt_msg_handler_destroy(msg_handler); ``` ## 鏉ヨ嚜鏈嶅姟鍣ㄧ殑`鍙戝竷`鎶ユ枃鐨勫鐞 ```c From 738b11f44bce73139259036ad2bf38a7ed298822 Mon Sep 17 00:00:00 2001 From: David Lin Date: Fri, 6 Mar 2020 10:29:46 +0800 Subject: [PATCH 5/6] Update README.md --- components/connectivity/mqttclient/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/connectivity/mqttclient/README.md b/components/connectivity/mqttclient/README.md index 823b3588..d97c3a60 100644 --- a/components/connectivity/mqttclient/README.md +++ b/components/connectivity/mqttclient/README.md @@ -4,7 +4,7 @@ ## 鏁翠綋妗嗘灦 ![鏁翠綋妗嗘灦](./png/mqttclient.png) -> 澶囨敞锛氱洰鍓嶅彧鏀寔linux鍙奺ncentOS tiny绯荤粺 +> 澶囨敞锛氱洰鍓嶅彧鏀寔linux鍙奣encentOS tiny绯荤粺 ## linux骞冲彴涓嬫祴璇曚娇鐢 ### 瀹夎cmake锛 From 3087482e5452b5afdef15c6bef0f096d0657bd30 Mon Sep 17 00:00:00 2001 From: Supowang1989 <54426333+Supowang1989@users.noreply.github.com> Date: Fri, 6 Mar 2020 13:46:35 +0800 Subject: [PATCH 6/6] add TencentOS tiny Simulator project add TencentOS tiny Simulator project --- .../BSP/.mxproject | 14 + .../BSP/ALIENTEK-MiniSTM32F103RCT6.ioc | 125 +++ .../BSP/Inc/gpio.h | 57 ++ .../BSP/Inc/main.h | 75 ++ .../BSP/Inc/mcu_init.h | 19 + .../BSP/Inc/stm32f1xx_hal_conf.h | 392 ++++++++ .../BSP/Inc/stm32f1xx_it.h | 69 ++ .../BSP/Inc/usart.h | 58 ++ .../BSP/Src/gpio.c | 76 ++ .../BSP/Src/main.c | 24 + .../BSP/Src/mcu_init.c | 103 ++ .../BSP/Src/stm32f1xx_hal_msp.c | 88 ++ .../BSP/Src/stm32f1xx_it.c | 210 +++++ .../BSP/Src/system_stm32f1xx.c | 430 +++++++++ .../BSP/Src/usart.c | 109 +++ .../MDK_Simulator_STM32F103RCT6.uvoptx | 883 ++++++++++++++++++ .../MDK_Simulator_STM32F103RCT6.uvprojx | 697 ++++++++++++++ .../KEIL/hello_world/startup_stm32f103xe.s | 356 +++++++ .../TOS-CONFIG/tos_config.h | 39 + doc/19.TencentOS_Tiny_Simulator_Use_MDK.md | 41 + .../MDK_Simulator_Guide/add_printf_code.png | Bin 0 -> 69941 bytes .../MDK_Simulator_Guide/debug_window.png | Bin 0 -> 130339 bytes .../set_simulator_para.png | Bin 0 -> 91052 bytes 23 files changed, 3865 insertions(+) create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/.mxproject create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/ALIENTEK-MiniSTM32F103RCT6.ioc create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Inc/gpio.h create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Inc/main.h create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Inc/mcu_init.h create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Inc/stm32f1xx_hal_conf.h create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Inc/stm32f1xx_it.h create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Inc/usart.h create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Src/gpio.c create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Src/main.c create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Src/mcu_init.c create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Src/stm32f1xx_hal_msp.c create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Src/stm32f1xx_it.c create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Src/system_stm32f1xx.c create mode 100644 board/MDK_Simulator_STM32F103RCT6/BSP/Src/usart.c create mode 100644 board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/MDK_Simulator_STM32F103RCT6.uvoptx create mode 100644 board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/MDK_Simulator_STM32F103RCT6.uvprojx create mode 100644 board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/startup_stm32f103xe.s create mode 100644 board/MDK_Simulator_STM32F103RCT6/TOS-CONFIG/tos_config.h create mode 100644 doc/19.TencentOS_Tiny_Simulator_Use_MDK.md create mode 100644 doc/image/MDK_Simulator_Guide/add_printf_code.png create mode 100644 doc/image/MDK_Simulator_Guide/debug_window.png create mode 100644 doc/image/MDK_Simulator_Guide/set_simulator_para.png diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/.mxproject b/board/MDK_Simulator_STM32F103RCT6/BSP/.mxproject new file mode 100644 index 00000000..51bdac14 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/.mxproject @@ -0,0 +1,14 @@ +[PreviousGenFiles] +HeaderPath=C:/Users/supowang/Desktop/CubeMx/TencentOS_tiny/ALIENTEK-MiniSTM32F103RCT6/Inc +HeaderFiles=gpio.h;usart.h;stm32f1xx_it.h;stm32f1xx_hal_conf.h;main.h; +SourcePath=C:/Users/supowang/Desktop/CubeMx/TencentOS_tiny/ALIENTEK-MiniSTM32F103RCT6/Src +SourceFiles=gpio.c;usart.c;stm32f1xx_it.c;stm32f1xx_hal_msp.c;main.c; + +[PreviousLibFiles] +LibFiles=Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h; + +[PreviousUsedKeilFiles] +SourceFiles=..\Src\main.c;..\Src\gpio.c;..\Src\usart.c;..\Src\stm32f1xx_it.c;..\Src\stm32f1xx_hal_msp.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;../\Src/system_stm32f1xx.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;../\Src/system_stm32f1xx.c;../Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;null; +HeaderPath=..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include;..\Inc; +CDefines=USE_HAL_DRIVER;STM32F103xE;USE_HAL_DRIVER;STM32F103xE; + diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/ALIENTEK-MiniSTM32F103RCT6.ioc b/board/MDK_Simulator_STM32F103RCT6/BSP/ALIENTEK-MiniSTM32F103RCT6.ioc new file mode 100644 index 00000000..0b2bee57 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/ALIENTEK-MiniSTM32F103RCT6.ioc @@ -0,0 +1,125 @@ +#MicroXplorer Configuration settings - do not modify +File.Version=6 +KeepUserPlacement=false +Mcu.Family=STM32F1 +Mcu.IP0=NVIC +Mcu.IP1=RCC +Mcu.IP2=SYS +Mcu.IP3=USART1 +Mcu.IPNb=4 +Mcu.Name=STM32F103R(C-D-E)Tx +Mcu.Package=LQFP64 +Mcu.Pin0=PC14-OSC32_IN +Mcu.Pin1=PC15-OSC32_OUT +Mcu.Pin2=PD0-OSC_IN +Mcu.Pin3=PD1-OSC_OUT +Mcu.Pin4=PA8 +Mcu.Pin5=PA9 +Mcu.Pin6=PA10 +Mcu.Pin7=PD2 +Mcu.Pin8=VP_SYS_VS_ND +Mcu.Pin9=VP_SYS_VS_Systick +Mcu.PinsNb=10 +Mcu.ThirdPartyNb=0 +Mcu.UserConstants= +Mcu.UserName=STM32F103RCTx +MxCube.Version=5.3.0 +MxDb.Version=DB.5.0.30 +NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 +NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true +NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +PA10.Mode=Asynchronous +PA10.Signal=USART1_RX +PA8.GPIOParameters=GPIO_Label +PA8.GPIO_Label=LED0 +PA8.Locked=true +PA8.Signal=GPIO_Output +PA9.Mode=Asynchronous +PA9.Signal=USART1_TX +PC14-OSC32_IN.Mode=LSE-External-Oscillator +PC14-OSC32_IN.Signal=RCC_OSC32_IN +PC15-OSC32_OUT.Mode=LSE-External-Oscillator +PC15-OSC32_OUT.Signal=RCC_OSC32_OUT +PCC.Checker=false +PCC.Line=STM32F103 +PCC.MCU=STM32F103R(C-D-E)Tx +PCC.PartNumber=STM32F103RCTx +PCC.Seq0=0 +PCC.Series=STM32F1 +PCC.Temperature=25 +PCC.Vdd=3.3 +PD0-OSC_IN.Mode=HSE-External-Oscillator +PD0-OSC_IN.Signal=RCC_OSC_IN +PD1-OSC_OUT.Mode=HSE-External-Oscillator +PD1-OSC_OUT.Signal=RCC_OSC_OUT +PD2.GPIOParameters=GPIO_Label +PD2.GPIO_Label=LED1 +PD2.Locked=true +PD2.Signal=GPIO_Output +PinOutPanel.RotationAngle=0 +ProjectManager.AskForMigrate=true +ProjectManager.BackupPrevious=false +ProjectManager.CompilerOptimize=6 +ProjectManager.ComputerToolchain=false +ProjectManager.CoupleFile=true +ProjectManager.CustomerFirmwarePackage= +ProjectManager.DefaultFWLocation=true +ProjectManager.DeletePrevious=true +ProjectManager.DeviceId=STM32F103RCTx +ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.0 +ProjectManager.FreePins=false +ProjectManager.HalAssertFull=false +ProjectManager.HeapSize=0x200 +ProjectManager.KeepUserCode=true +ProjectManager.LastFirmware=true +ProjectManager.LibraryCopy=0 +ProjectManager.MainLocation=Src +ProjectManager.NoMain=false +ProjectManager.PreviousToolchain= +ProjectManager.ProjectBuild=false +ProjectManager.ProjectFileName=ALIENTEK-MiniSTM32F103RCT6.ioc +ProjectManager.ProjectName=ALIENTEK-MiniSTM32F103RCT6 +ProjectManager.StackSize=0x400 +ProjectManager.TargetToolchain=MDK-ARM V5 +ProjectManager.ToolChainLocation= +ProjectManager.UnderRoot=false +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART1_UART_Init-USART1-false-HAL-true +RCC.ADCFreqValue=36000000 +RCC.AHBFreq_Value=72000000 +RCC.APB1CLKDivider=RCC_HCLK_DIV2 +RCC.APB1Freq_Value=36000000 +RCC.APB1TimFreq_Value=72000000 +RCC.APB2Freq_Value=72000000 +RCC.APB2TimFreq_Value=72000000 +RCC.FCLKCortexFreq_Value=72000000 +RCC.FamilyName=M +RCC.HCLKFreq_Value=72000000 +RCC.I2S2Freq_Value=72000000 +RCC.I2S3Freq_Value=72000000 +RCC.IPParameters=ADCFreqValue,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,I2S2Freq_Value,I2S3Freq_Value,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,PLLSourceVirtual,SDIOFreq_Value,SDIOHCLKDiv2FreqValue,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USBFreq_Value,VCOOutput2Freq_Value +RCC.MCOFreq_Value=72000000 +RCC.PLLCLKFreq_Value=72000000 +RCC.PLLMCOFreq_Value=36000000 +RCC.PLLMUL=RCC_PLL_MUL9 +RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE +RCC.SDIOFreq_Value=72000000 +RCC.SDIOHCLKDiv2FreqValue=36000000 +RCC.SYSCLKFreq_VALUE=72000000 +RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK +RCC.TimSysFreq_Value=72000000 +RCC.USBFreq_Value=72000000 +RCC.VCOOutput2Freq_Value=8000000 +USART1.IPParameters=VirtualMode +USART1.VirtualMode=VM_ASYNC +VP_SYS_VS_ND.Mode=No_Debug +VP_SYS_VS_ND.Signal=SYS_VS_ND +VP_SYS_VS_Systick.Mode=SysTick +VP_SYS_VS_Systick.Signal=SYS_VS_Systick +board=custom diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/gpio.h b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/gpio.h new file mode 100644 index 00000000..40490539 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/gpio.h @@ -0,0 +1,57 @@ +/** + ****************************************************************************** + * File Name : gpio.h + * Description : This file contains all the functions prototypes for + * the gpio + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __gpio_H +#define __gpio_H +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* USER CODE BEGIN Private defines */ + +/* USER CODE END Private defines */ + +void MX_GPIO_Init(void); + +/* USER CODE BEGIN Prototypes */ + +/* USER CODE END Prototypes */ + +#ifdef __cplusplus +} +#endif +#endif /*__ pinoutConfig_H */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/main.h b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/main.h new file mode 100644 index 00000000..a121e7d9 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/main.h @@ -0,0 +1,75 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.h + * @brief : Header for main.c file. + * This file contains the common defines of the application. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __MAIN_H +#define __MAIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32f1xx_hal.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Exported types ------------------------------------------------------------*/ +/* USER CODE BEGIN ET */ + +/* USER CODE END ET */ + +/* Exported constants --------------------------------------------------------*/ +/* USER CODE BEGIN EC */ + +/* USER CODE END EC */ + +/* Exported macro ------------------------------------------------------------*/ +/* USER CODE BEGIN EM */ + +/* USER CODE END EM */ + +/* Exported functions prototypes ---------------------------------------------*/ +void Error_Handler(void); + +/* USER CODE BEGIN EFP */ + +/* USER CODE END EFP */ + +/* Private defines -----------------------------------------------------------*/ +#define LED0_Pin GPIO_PIN_8 +#define LED0_GPIO_Port GPIOA +#define LED1_Pin GPIO_PIN_2 +#define LED1_GPIO_Port GPIOD +/* USER CODE BEGIN Private defines */ + +/* USER CODE END Private defines */ + +#ifdef __cplusplus +} +#endif + +#endif /* __MAIN_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/mcu_init.h b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/mcu_init.h new file mode 100644 index 00000000..6c0b92ca --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/mcu_init.h @@ -0,0 +1,19 @@ +#ifndef __MCU_INIT_H +#define __MCU_INIT_H +#ifdef __cplusplus + extern "C" { +#endif + +#include "main.h" +#include "stm32f1xx_hal.h" +#include "usart.h" +#include "gpio.h" +#include "tos_k.h" + +void board_init(void); +void SystemClock_Config(void); + +#ifdef __cplusplus +} +#endif +#endif /*__ __MCU_INIT_H */ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/stm32f1xx_hal_conf.h b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/stm32f1xx_hal_conf.h new file mode 100644 index 00000000..742b0ff5 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/stm32f1xx_hal_conf.h @@ -0,0 +1,392 @@ +/** + ****************************************************************************** + * @file stm32f1xx_hal_conf.h + * @brief HAL configuration file. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F1xx_HAL_CONF_H +#define __STM32F1xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ + +#define HAL_MODULE_ENABLED + /*#define HAL_ADC_MODULE_ENABLED */ +/*#define HAL_CRYP_MODULE_ENABLED */ +/*#define HAL_CAN_MODULE_ENABLED */ +/*#define HAL_CAN_LEGACY_MODULE_ENABLED */ +/*#define HAL_CEC_MODULE_ENABLED */ +/*#define HAL_CORTEX_MODULE_ENABLED */ +/*#define HAL_CRC_MODULE_ENABLED */ +/*#define HAL_DAC_MODULE_ENABLED */ +/*#define HAL_DMA_MODULE_ENABLED */ +/*#define HAL_ETH_MODULE_ENABLED */ +/*#define HAL_FLASH_MODULE_ENABLED */ +#define HAL_GPIO_MODULE_ENABLED +/*#define HAL_I2C_MODULE_ENABLED */ +/*#define HAL_I2S_MODULE_ENABLED */ +/*#define HAL_IRDA_MODULE_ENABLED */ +/*#define HAL_IWDG_MODULE_ENABLED */ +/*#define HAL_NOR_MODULE_ENABLED */ +/*#define HAL_NAND_MODULE_ENABLED */ +/*#define HAL_PCCARD_MODULE_ENABLED */ +/*#define HAL_PCD_MODULE_ENABLED */ +/*#define HAL_HCD_MODULE_ENABLED */ +/*#define HAL_PWR_MODULE_ENABLED */ +/*#define HAL_RCC_MODULE_ENABLED */ +/*#define HAL_RTC_MODULE_ENABLED */ +/*#define HAL_SD_MODULE_ENABLED */ +/*#define HAL_MMC_MODULE_ENABLED */ +/*#define HAL_SDRAM_MODULE_ENABLED */ +/*#define HAL_SMARTCARD_MODULE_ENABLED */ +/*#define HAL_SPI_MODULE_ENABLED */ +/*#define HAL_SRAM_MODULE_ENABLED */ +/*#define HAL_TIM_MODULE_ENABLED */ +#define HAL_UART_MODULE_ENABLED +/*#define HAL_USART_MODULE_ENABLED */ +/*#define HAL_WWDG_MODULE_ENABLED */ +/*#define HAL_EXTI_MODULE_ENABLED */ + +#define HAL_CORTEX_MODULE_ENABLED +#define HAL_DMA_MODULE_ENABLED +#define HAL_FLASH_MODULE_ENABLED +#define HAL_EXTI_MODULE_ENABLED +#define HAL_GPIO_MODULE_ENABLED +#define HAL_PWR_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED + +/* ########################## Oscillator Values adaptation ####################*/ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) + #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT ((uint32_t)100) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) + #define HSI_VALUE ((uint32_t)8000000) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @brief Internal Low Speed oscillator (LSI) value. + */ +#if !defined (LSI_VALUE) + #define LSI_VALUE 40000U /*!< LSI Typical Value in Hz */ +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz + The real value may vary depending on the variations + in voltage and temperature. */ + +/** + * @brief External Low Speed oscillator (LSE) value. + * This value is used by the UART, RTC HAL module to compute the system frequency + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE ((uint32_t)32768) /*!< Value of the External oscillator in Hz*/ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE ((uint32_t)3300) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY ((uint32_t)0) /*!< tick interrupt priority (lowest by default) */ +#define USE_RTOS 0 +#define PREFETCH_ENABLE 1 + +#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */ +#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */ +#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */ +#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */ +#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */ +#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */ +#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */ +#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */ +#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */ +#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */ +#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */ +#define USE_HAL_PCCARD_REGISTER_CALLBACKS 0U /* PCCARD register callback disabled */ +#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */ +#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */ +#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */ +#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */ +#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */ +#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */ +#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */ +#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */ +#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */ +#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */ +#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */ + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1U */ + +/* ################## Ethernet peripheral configuration ##################### */ + +/* Section 1 : Ethernet peripheral configuration */ + +/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ +#define MAC_ADDR0 2 +#define MAC_ADDR1 0 +#define MAC_ADDR2 0 +#define MAC_ADDR3 0 +#define MAC_ADDR4 0 +#define MAC_ADDR5 0 + +/* Definition of the Ethernet driver buffers size and count */ +#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ +#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ +#define ETH_RXBUFNB ((uint32_t)8) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ +#define ETH_TXBUFNB ((uint32_t)4) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ + +/* Section 2: PHY configuration section */ + +/* DP83848_PHY_ADDRESS Address*/ +#define DP83848_PHY_ADDRESS 0x01U +/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ +#define PHY_RESET_DELAY ((uint32_t)0x000000FF) +/* PHY Configuration delay */ +#define PHY_CONFIG_DELAY ((uint32_t)0x00000FFF) + +#define PHY_READ_TO ((uint32_t)0x0000FFFF) +#define PHY_WRITE_TO ((uint32_t)0x0000FFFF) + +/* Section 3: Common PHY Registers */ + +#define PHY_BCR ((uint16_t)0x00) /*!< Transceiver Basic Control Register */ +#define PHY_BSR ((uint16_t)0x01) /*!< Transceiver Basic Status Register */ + +#define PHY_RESET ((uint16_t)0x8000) /*!< PHY Reset */ +#define PHY_LOOPBACK ((uint16_t)0x4000) /*!< Select loop-back mode */ +#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100) /*!< Set the full-duplex mode at 100 Mb/s */ +#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000) /*!< Set the half-duplex mode at 100 Mb/s */ +#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100) /*!< Set the full-duplex mode at 10 Mb/s */ +#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000) /*!< Set the half-duplex mode at 10 Mb/s */ +#define PHY_AUTONEGOTIATION ((uint16_t)0x1000) /*!< Enable auto-negotiation function */ +#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200) /*!< Restart auto-negotiation function */ +#define PHY_POWERDOWN ((uint16_t)0x0800) /*!< Select the power down mode */ +#define PHY_ISOLATE ((uint16_t)0x0400) /*!< Isolate PHY from MII */ + +#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020) /*!< Auto-Negotiation process completed */ +#define PHY_LINKED_STATUS ((uint16_t)0x0004) /*!< Valid link established */ +#define PHY_JABBER_DETECTION ((uint16_t)0x0002) /*!< Jabber condition detected */ + +/* Section 4: Extended PHY Registers */ +#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */ + +#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */ +#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */ + +/* ################## SPI peripheral configuration ########################## */ + +/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver +* Activated: CRC code is present inside driver +* Deactivated: CRC code cleaned from driver +*/ + +#define USE_SPI_CRC 0U + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED +#include "stm32f1xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED +#include "stm32f1xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_EXTI_MODULE_ENABLED +#include "stm32f1xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED +#include "stm32f1xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_ETH_MODULE_ENABLED +#include "stm32f1xx_hal_eth.h" +#endif /* HAL_ETH_MODULE_ENABLED */ + +#ifdef HAL_CAN_MODULE_ENABLED +#include "stm32f1xx_hal_can.h" +#endif /* HAL_CAN_MODULE_ENABLED */ + +#ifdef HAL_CAN_LEGACY_MODULE_ENABLED + #include "Legacy/stm32f1xx_hal_can_legacy.h" +#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED +#include "stm32f1xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED +#include "stm32f1xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED +#include "stm32f1xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED +#include "stm32f1xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED +#include "stm32f1xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED +#include "stm32f1xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_SRAM_MODULE_ENABLED +#include "stm32f1xx_hal_sram.h" +#endif /* HAL_SRAM_MODULE_ENABLED */ + +#ifdef HAL_NOR_MODULE_ENABLED +#include "stm32f1xx_hal_nor.h" +#endif /* HAL_NOR_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED +#include "stm32f1xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED +#include "stm32f1xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED +#include "stm32f1xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED +#include "stm32f1xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED +#include "stm32f1xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_PCCARD_MODULE_ENABLED +#include "stm32f1xx_hal_pccard.h" +#endif /* HAL_PCCARD_MODULE_ENABLED */ + +#ifdef HAL_SD_MODULE_ENABLED +#include "stm32f1xx_hal_sd.h" +#endif /* HAL_SD_MODULE_ENABLED */ + +#ifdef HAL_NAND_MODULE_ENABLED +#include "stm32f1xx_hal_nand.h" +#endif /* HAL_NAND_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED +#include "stm32f1xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED +#include "stm32f1xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED +#include "stm32f1xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED +#include "stm32f1xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED +#include "stm32f1xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED +#include "stm32f1xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED +#include "stm32f1xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED +#include "stm32f1xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED +#include "stm32f1xx_hal_hcd.h" +#endif /* HAL_HCD_MODULE_ENABLED */ + +#ifdef HAL_MMC_MODULE_ENABLED +#include "stm32f1xx_hal_mmc.h" +#endif /* HAL_MMC_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ +#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ +void assert_failed(uint8_t* file, uint32_t line); +#else +#define assert_param(expr) ((void)0U) +#endif /* USE_FULL_ASSERT */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32F1xx_HAL_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/stm32f1xx_it.h b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/stm32f1xx_it.h new file mode 100644 index 00000000..101d8aa7 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/stm32f1xx_it.h @@ -0,0 +1,69 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32f1xx_it.h + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F1xx_IT_H +#define __STM32F1xx_IT_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Exported types ------------------------------------------------------------*/ +/* USER CODE BEGIN ET */ + +/* USER CODE END ET */ + +/* Exported constants --------------------------------------------------------*/ +/* USER CODE BEGIN EC */ + +/* USER CODE END EC */ + +/* Exported macro ------------------------------------------------------------*/ +/* USER CODE BEGIN EM */ + +/* USER CODE END EM */ + +/* Exported functions prototypes ---------------------------------------------*/ +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +/* USER CODE BEGIN EFP */ + +/* USER CODE END EFP */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32F1xx_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/usart.h b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/usart.h new file mode 100644 index 00000000..824c866b --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Inc/usart.h @@ -0,0 +1,58 @@ +/** + ****************************************************************************** + * File Name : USART.h + * Description : This file provides code for the configuration + * of the USART instances. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __usart_H +#define __usart_H +#ifdef __cplusplus + extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +extern UART_HandleTypeDef huart1; + +/* USER CODE BEGIN Private defines */ + +/* USER CODE END Private defines */ + +void MX_USART1_UART_Init(void); + +/* USER CODE BEGIN Prototypes */ + +/* USER CODE END Prototypes */ + +#ifdef __cplusplus +} +#endif +#endif /*__ usart_H */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Src/gpio.c b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/gpio.c new file mode 100644 index 00000000..7dfcd2bb --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/gpio.c @@ -0,0 +1,76 @@ +/** + ****************************************************************************** + * File Name : gpio.c + * Description : This file provides code for the configuration + * of all used GPIO pins. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "gpio.h" +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/*----------------------------------------------------------------------------*/ +/* Configure GPIO */ +/*----------------------------------------------------------------------------*/ +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ + +/** Configure pins as + * Analog + * Input + * Output + * EVENT_OUT + * EXTI +*/ +void MX_GPIO_Init(void) +{ + + GPIO_InitTypeDef GPIO_InitStruct = {0}; + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin : PtPin */ + GPIO_InitStruct.Pin = LED0_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(LED0_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pin : PtPin */ + GPIO_InitStruct.Pin = LED1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(LED1_GPIO_Port, &GPIO_InitStruct); + +} + +/* USER CODE BEGIN 2 */ + +/* USER CODE END 2 */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Src/main.c b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/main.c new file mode 100644 index 00000000..ec9d5230 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/main.c @@ -0,0 +1,24 @@ +#include "mcu_init.h" +#include "cmsis_os.h" + +#define APPLICATION_TASK_STK_SIZE 1024 +extern void application_entry(void *arg); +osThreadDef(application_entry, osPriorityNormal, 1, APPLICATION_TASK_STK_SIZE); + +__weak void application_entry(void *arg) +{ + while (1) { + printf("This is a demo task,please use your task entry!\r\n"); + tos_task_delay(1000); + } +} + +int main(void) +{ + board_init(); + printf("Welcome to TencentOS tiny\r\n"); + osKernelInitialize(); // TOS Tiny kernel initialize + osThreadCreate(osThread(application_entry), NULL); // Create TOS Tiny task + osKernelStart(); // Start TOS Tiny +} + diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Src/mcu_init.c b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/mcu_init.c new file mode 100644 index 00000000..aee3b1b3 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/mcu_init.c @@ -0,0 +1,103 @@ +#include "mcu_init.h" + +#define ITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n))) +#define ITM_Port16(n) (*((volatile unsigned short*)(0xE0000000+4*n))) +#define ITM_Port32(n) (*((volatile unsigned long *)(0xE0000000+4*n))) +#define DEMCR (*((volatile unsigned long *)(0xE000EDFC))) +#define TRCENA 0x01000000 + +struct __FILE { int handle; /* Add whatever you need here */ }; + FILE __stdout; + FILE __stdin; + +int fputc(int ch, FILE *f) +{ + if (DEMCR & TRCENA) + { + while (ITM_Port32(0) == 0); + ITM_Port8(0) = ch; + } + return(ch); +} + +void board_init(void) +{ + + HAL_Init(); + SystemClock_Config(); + MX_GPIO_Init(); + MX_USART1_UART_Init(); + +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; + RCC_OscInitStruct.HSEState = RCC_HSE_ON; + RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) + { + Error_Handler(); + } +} + +/* USER CODE BEGIN 4 */ + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + + /* USER CODE END Error_Handler_Debug */ +} + +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Src/stm32f1xx_hal_msp.c b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/stm32f1xx_hal_msp.c new file mode 100644 index 00000000..779dbf51 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/stm32f1xx_hal_msp.c @@ -0,0 +1,88 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * File Name : stm32f1xx_hal_msp.c + * Description : This file provides code for the MSP Initialization + * and de-Initialization codes. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN TD */ + +/* USER CODE END TD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN Define */ + +/* USER CODE END Define */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN Macro */ + +/* USER CODE END Macro */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* External functions --------------------------------------------------------*/ +/* USER CODE BEGIN ExternalFunctions */ + +/* USER CODE END ExternalFunctions */ + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ +/** + * Initializes the Global MSP. + */ +void HAL_MspInit(void) +{ + /* USER CODE BEGIN MspInit 0 */ + + /* USER CODE END MspInit 0 */ + + __HAL_RCC_AFIO_CLK_ENABLE(); + __HAL_RCC_PWR_CLK_ENABLE(); + + /* System interrupt init*/ + + /** DISABLE: JTAG-DP Disabled and SW-DP Disabled + */ + __HAL_AFIO_REMAP_SWJ_DISABLE(); + + /* USER CODE BEGIN MspInit 1 */ + + /* USER CODE END MspInit 1 */ +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Src/stm32f1xx_it.c b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/stm32f1xx_it.c new file mode 100644 index 00000000..e7dc1502 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/stm32f1xx_it.c @@ -0,0 +1,210 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32f1xx_it.c + * @brief Interrupt Service Routines. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "stm32f1xx_it.h" +#include "tos_k.h" +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN TD */ + +/* USER CODE END TD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/* External variables --------------------------------------------------------*/ + +/* USER CODE BEGIN EV */ + +/* USER CODE END EV */ + +/******************************************************************************/ +/* Cortex-M3 Processor Interruption and Exception Handlers */ +/******************************************************************************/ +/** + * @brief This function handles Non maskable interrupt. + */ +void NMI_Handler(void) +{ + /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ + + /* USER CODE END NonMaskableInt_IRQn 0 */ + /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ + + /* USER CODE END NonMaskableInt_IRQn 1 */ +} + +/** + * @brief This function handles Hard fault interrupt. + */ +void HardFault_Handler(void) +{ + /* USER CODE BEGIN HardFault_IRQn 0 */ + + /* USER CODE END HardFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_HardFault_IRQn 0 */ + /* USER CODE END W1_HardFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Memory management fault. + */ +void MemManage_Handler(void) +{ + /* USER CODE BEGIN MemoryManagement_IRQn 0 */ + + /* USER CODE END MemoryManagement_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */ + /* USER CODE END W1_MemoryManagement_IRQn 0 */ + } +} + +/** + * @brief This function handles Prefetch fault, memory access fault. + */ +void BusFault_Handler(void) +{ + /* USER CODE BEGIN BusFault_IRQn 0 */ + + /* USER CODE END BusFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_BusFault_IRQn 0 */ + /* USER CODE END W1_BusFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Undefined instruction or illegal state. + */ +void UsageFault_Handler(void) +{ + /* USER CODE BEGIN UsageFault_IRQn 0 */ + + /* USER CODE END UsageFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_UsageFault_IRQn 0 */ + /* USER CODE END W1_UsageFault_IRQn 0 */ + } +} + +/** + * @brief This function handles System service call via SWI instruction. + */ +void SVC_Handler(void) +{ + /* USER CODE BEGIN SVCall_IRQn 0 */ + + /* USER CODE END SVCall_IRQn 0 */ + /* USER CODE BEGIN SVCall_IRQn 1 */ + + /* USER CODE END SVCall_IRQn 1 */ +} + +/** + * @brief This function handles Debug monitor. + */ +void DebugMon_Handler(void) +{ + /* USER CODE BEGIN DebugMonitor_IRQn 0 */ + + /* USER CODE END DebugMonitor_IRQn 0 */ + /* USER CODE BEGIN DebugMonitor_IRQn 1 */ + + /* USER CODE END DebugMonitor_IRQn 1 */ +} + +/** + * @brief This function handles Pendable request for system service. + */ +__weak void PendSV_Handler(void) +{ + /* USER CODE BEGIN PendSV_IRQn 0 */ + + /* USER CODE END PendSV_IRQn 0 */ + /* USER CODE BEGIN PendSV_IRQn 1 */ + + /* USER CODE END PendSV_IRQn 1 */ +} + +/** + * @brief This function handles System tick timer. + */ +void SysTick_Handler(void) +{ + /* USER CODE BEGIN SysTick_IRQn 0 */ + + /* USER CODE END SysTick_IRQn 0 */ + HAL_IncTick(); + if (tos_knl_is_running()) + { + tos_knl_irq_enter(); + tos_tick_handler(); + tos_knl_irq_leave(); + } + /* USER CODE BEGIN SysTick_IRQn 1 */ + + /* USER CODE END SysTick_IRQn 1 */ +} + +/******************************************************************************/ +/* STM32F1xx Peripheral Interrupt Handlers */ +/* Add here the Interrupt Handlers for the used peripherals. */ +/* For the available peripheral interrupt handler names, */ +/* please refer to the startup file (startup_stm32f1xx.s). */ +/******************************************************************************/ + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Src/system_stm32f1xx.c b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/system_stm32f1xx.c new file mode 100644 index 00000000..7cacb329 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/system_stm32f1xx.c @@ -0,0 +1,430 @@ +/** + ****************************************************************************** + * @file system_stm32f1xx.c + * @author MCD Application Team + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * factors, AHB/APBx prescalers and Flash settings). + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f1xx_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f1xx_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depending on + * the product used), refer to "HSE_VALUE". + * When HSE is used as system clock source, directly or through PLL, and you + * are using different crystal you have to adapt the HSE value to your own + * configuration. + * + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f1xx_system + * @{ + */ + +/** @addtogroup STM32F1xx_System_Private_Includes + * @{ + */ + +#include "stm32f1xx.h" + +/** + * @} + */ + +/** @addtogroup STM32F1xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F1xx_System_Private_Defines + * @{ + */ + +#if !defined (HSE_VALUE) + #define HSE_VALUE 8000000U /*!< Default value of the External oscillator in Hz. + This value can be provided and adapted by the user application. */ +#endif /* HSE_VALUE */ + +#if !defined (HSI_VALUE) + #define HSI_VALUE 8000000U /*!< Default value of the Internal oscillator in Hz. + This value can be provided and adapted by the user application. */ +#endif /* HSI_VALUE */ + +/*!< Uncomment the following line if you need to use external SRAM */ +#if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || defined(STM32F103xG) +/* #define DATA_IN_ExtSRAM */ +#endif /* STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ + + +/** + * @} + */ + +/** @addtogroup STM32F1xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F1xx_System_Private_Variables + * @{ + */ + + /* This variable is updated in three ways: + 1) by calling CMSIS function SystemCoreClockUpdate() + 2) by calling HAL API function HAL_RCC_GetHCLKFreq() + 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency + Note: If you use this function to configure the system clock; then there + is no need to call the 2 first functions listed above, since SystemCoreClock + variable is updated automatically. + */ +uint32_t SystemCoreClock = 16000000; +const uint8_t AHBPrescTable[16U] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; +const uint8_t APBPrescTable[8U] = {0, 0, 0, 0, 1, 2, 3, 4}; + +/** + * @} + */ + +/** @addtogroup STM32F1xx_System_Private_FunctionPrototypes + * @{ + */ + +#if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || defined(STM32F103xG) +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ +#endif /* STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */ + +/** + * @} + */ + +/** @addtogroup STM32F1xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ + /* Set HSION bit */ + RCC->CR |= 0x00000001U; + + /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ +#if !defined(STM32F105xC) && !defined(STM32F107xC) + RCC->CFGR &= 0xF8FF0000U; +#else + RCC->CFGR &= 0xF0FF0000U; +#endif /* STM32F105xC */ + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= 0xFEF6FFFFU; + + /* Reset HSEBYP bit */ + RCC->CR &= 0xFFFBFFFFU; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ + RCC->CFGR &= 0xFF80FFFFU; + +#if defined(STM32F105xC) || defined(STM32F107xC) + /* Reset PLL2ON and PLL3ON bits */ + RCC->CR &= 0xEBFFFFFFU; + + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x00FF0000U; + + /* Reset CFGR2 register */ + RCC->CFGR2 = 0x00000000U; +#elif defined(STM32F100xB) || defined(STM32F100xE) + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000U; + + /* Reset CFGR2 register */ + RCC->CFGR2 = 0x00000000U; +#else + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000U; +#endif /* STM32F105xC */ + +#if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || defined(STM32F103xG) + #ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); + #endif /* DATA_IN_ExtSRAM */ +#endif + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz or 25 MHz, depending on the product used), user has to ensure + * that HSE_VALUE is same as the real frequency of the crystal used. + * Otherwise, this function may have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0U, pllmull = 0U, pllsource = 0U; + +#if defined(STM32F105xC) || defined(STM32F107xC) + uint32_t prediv1source = 0U, prediv1factor = 0U, prediv2factor = 0U, pll2mull = 0U; +#endif /* STM32F105xC */ + +#if defined(STM32F100xB) || defined(STM32F100xE) + uint32_t prediv1factor = 0U; +#endif /* STM32F100xB or STM32F100xE */ + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00U: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04U: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08U: /* PLL used as system clock */ + + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + +#if !defined(STM32F105xC) && !defined(STM32F107xC) + pllmull = ( pllmull >> 18U) + 2U; + + if (pllsource == 0x00U) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1U) * pllmull; + } + else + { + #if defined(STM32F100xB) || defined(STM32F100xE) + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1U; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + #else + /* HSE selected as PLL clock entry */ + if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) + {/* HSE oscillator clock divided by 2 */ + SystemCoreClock = (HSE_VALUE >> 1U) * pllmull; + } + else + { + SystemCoreClock = HSE_VALUE * pllmull; + } + #endif + } +#else + pllmull = pllmull >> 18U; + + if (pllmull != 0x0DU) + { + pllmull += 2U; + } + else + { /* PLL multiplication factor = PLL input clock * 6.5 */ + pllmull = 13U / 2U; + } + + if (pllsource == 0x00U) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1U) * pllmull; + } + else + {/* PREDIV1 selected as PLL clock entry */ + + /* Get PREDIV1 clock source and division factor */ + prediv1source = RCC->CFGR2 & RCC_CFGR2_PREDIV1SRC; + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1U; + + if (prediv1source == 0U) + { + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + else + {/* PLL2 clock selected as PREDIV1 clock entry */ + + /* Get PREDIV2 division factor and PLL2 multiplication factor */ + prediv2factor = ((RCC->CFGR2 & RCC_CFGR2_PREDIV2) >> 4U) + 1U; + pll2mull = ((RCC->CFGR2 & RCC_CFGR2_PLL2MUL) >> 8U) + 2U; + SystemCoreClock = (((HSE_VALUE / prediv2factor) * pll2mull) / prediv1factor) * pllmull; + } + } +#endif /* STM32F105xC */ + break; + + default: + SystemCoreClock = HSI_VALUE; + break; + } + + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4U)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +#if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || defined(STM32F103xG) +/** + * @brief Setup the external memory controller. Called in startup_stm32f1xx.s + * before jump to __main + * @param None + * @retval None + */ +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in startup_stm32f1xx_xx.s/.c before jump to main. + * This function configures the external SRAM mounted on STM3210E-EVAL + * board (STM32 High density devices). This SRAM will be used as program + * data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ + __IO uint32_t tmpreg; + /*!< FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is + required, then adjust the Register Addresses */ + + /* Enable FSMC clock */ + RCC->AHBENR = 0x00000114U; + + /* Delay after an RCC peripheral clock enabling */ + tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_FSMCEN); + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */ + RCC->APB2ENR = 0x000001E0U; + + /* Delay after an RCC peripheral clock enabling */ + tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPDEN); + + (void)(tmpreg); + +/* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/ +/*---------------- SRAM Address lines configuration -------------------------*/ +/*---------------- NOE and NWE configuration --------------------------------*/ +/*---------------- NE3 configuration ----------------------------------------*/ +/*---------------- NBL0, NBL1 configuration ---------------------------------*/ + + GPIOD->CRL = 0x44BB44BBU; + GPIOD->CRH = 0xBBBBBBBBU; + + GPIOE->CRL = 0xB44444BBU; + GPIOE->CRH = 0xBBBBBBBBU; + + GPIOF->CRL = 0x44BBBBBBU; + GPIOF->CRH = 0xBBBB4444U; + + GPIOG->CRL = 0x44BBBBBBU; + GPIOG->CRH = 0x444B4B44U; + +/*---------------- FSMC Configuration ---------------------------------------*/ +/*---------------- Enable FSMC Bank1_SRAM Bank ------------------------------*/ + + FSMC_Bank1->BTCR[4U] = 0x00001091U; + FSMC_Bank1->BTCR[5U] = 0x00110212U; +} +#endif /* DATA_IN_ExtSRAM */ +#endif /* STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/BSP/Src/usart.c b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/usart.c new file mode 100644 index 00000000..799f741e --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/BSP/Src/usart.c @@ -0,0 +1,109 @@ +/** + ****************************************************************************** + * File Name : USART.c + * Description : This file provides code for the configuration + * of the USART instances. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "usart.h" + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +UART_HandleTypeDef huart1; + +/* USART1 init function */ + +void MX_USART1_UART_Init(void) +{ + + huart1.Instance = USART1; + huart1.Init.BaudRate = 115200; + huart1.Init.WordLength = UART_WORDLENGTH_8B; + huart1.Init.StopBits = UART_STOPBITS_1; + huart1.Init.Parity = UART_PARITY_NONE; + huart1.Init.Mode = UART_MODE_TX_RX; + huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart1.Init.OverSampling = UART_OVERSAMPLING_16; + if (HAL_UART_Init(&huart1) != HAL_OK) + { + Error_Handler(); + } + +} + +void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) +{ + + GPIO_InitTypeDef GPIO_InitStruct = {0}; + if(uartHandle->Instance==USART1) + { + /* USER CODE BEGIN USART1_MspInit 0 */ + + /* USER CODE END USART1_MspInit 0 */ + /* USART1 clock enable */ + __HAL_RCC_USART1_CLK_ENABLE(); + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**USART1 GPIO Configuration + PA9 ------> USART1_TX + PA10 ------> USART1_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_9; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = GPIO_PIN_10; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* USER CODE BEGIN USART1_MspInit 1 */ + + /* USER CODE END USART1_MspInit 1 */ + } +} + +void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) +{ + + if(uartHandle->Instance==USART1) + { + /* USER CODE BEGIN USART1_MspDeInit 0 */ + + /* USER CODE END USART1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USART1_CLK_DISABLE(); + + /**USART1 GPIO Configuration + PA9 ------> USART1_TX + PA10 ------> USART1_RX + */ + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); + + /* USER CODE BEGIN USART1_MspDeInit 1 */ + + /* USER CODE END USART1_MspDeInit 1 */ + } +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/MDK_Simulator_STM32F103RCT6.uvoptx b/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/MDK_Simulator_STM32F103RCT6.uvoptx new file mode 100644 index 00000000..08fbcc85 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/MDK_Simulator_STM32F103RCT6.uvoptx @@ -0,0 +1,883 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + MDK_Simulator_STM32F103RCT6 + 0x4 + ARM-ADS + + 72000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\list\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 18 + + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 6 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGDARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=75,104,496,531,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(125=-1,-1,-1,-1,0)(126=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + -T0 + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)) + + + 0 + ST-LINKIII-KEIL_SWO + -U003900513137510B39383538 -O2254 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL040000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM) + + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 1 + 0 + 2 + 10000000 + + + + + + Application/MDK-ARM + 0 + 0 + 0 + 0 + + 1 + 1 + 2 + 0 + 0 + 0 + startup_stm32f103xe.s + startup_stm32f103xe.s + 0 + 0 + + + + + Application/User + 1 + 0 + 0 + 0 + + 2 + 2 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\gpio.c + gpio.c + 0 + 0 + + + 2 + 3 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\main.c + main.c + 0 + 0 + + + 2 + 4 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\mcu_init.c + mcu_init.c + 0 + 0 + + + 2 + 5 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\stm32f1xx_hal_msp.c + stm32f1xx_hal_msp.c + 0 + 0 + + + 2 + 6 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\stm32f1xx_it.c + stm32f1xx_it.c + 0 + 0 + + + 2 + 7 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\usart.c + usart.c + 0 + 0 + + + + + Drivers/STM32F1xx_HAL_Driver + 0 + 0 + 0 + 0 + + 3 + 8 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c + stm32f1xx_hal.c + 0 + 0 + + + 3 + 9 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c + stm32f1xx_hal_cortex.c + 0 + 0 + + + 3 + 10 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c + stm32f1xx_hal_dma.c + 0 + 0 + + + 3 + 11 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c + stm32f1xx_hal_exti.c + 0 + 0 + + + 3 + 12 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c + stm32f1xx_hal_flash.c + 0 + 0 + + + 3 + 13 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c + stm32f1xx_hal_flash_ex.c + 0 + 0 + + + 3 + 14 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c + stm32f1xx_hal_gpio.c + 0 + 0 + + + 3 + 15 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c + stm32f1xx_hal_gpio_ex.c + 0 + 0 + + + 3 + 16 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c + stm32f1xx_hal_pwr.c + 0 + 0 + + + 3 + 17 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c + stm32f1xx_hal_rcc.c + 0 + 0 + + + 3 + 18 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c + stm32f1xx_hal_rcc_ex.c + 0 + 0 + + + 3 + 19 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c + stm32f1xx_hal_tim.c + 0 + 0 + + + 3 + 20 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c + stm32f1xx_hal_tim_ex.c + 0 + 0 + + + 3 + 21 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c + stm32f1xx_hal_uart.c + 0 + 0 + + + + + Drivers/CMSIS + 0 + 0 + 0 + 0 + + 4 + 22 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\system_stm32f1xx.c + system_stm32f1xx.c + 0 + 0 + + + + + tos/arch + 0 + 0 + 0 + 0 + + 5 + 23 + 1 + 0 + 0 + 0 + ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c + tos_cpu.c + 0 + 0 + + + 5 + 24 + 1 + 0 + 0 + 0 + ..\..\..\..\arch\arm\arm-v7m\cortex-m3\armcc\port_c.c + port_c.c + 0 + 0 + + + 5 + 25 + 2 + 0 + 0 + 0 + ..\..\..\..\arch\arm\arm-v7m\cortex-m3\armcc\port_s.S + port_s.S + 0 + 0 + + + + + tos/kernel + 0 + 0 + 0 + 0 + + 6 + 26 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_event.c + tos_event.c + 0 + 0 + + + 6 + 27 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_global.c + tos_global.c + 0 + 0 + + + 6 + 28 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_mmblk.c + tos_mmblk.c + 0 + 0 + + + 6 + 29 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_mmheap.c + tos_mmheap.c + 0 + 0 + + + 6 + 30 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_mutex.c + tos_mutex.c + 0 + 0 + + + 6 + 31 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_pend.c + tos_pend.c + 0 + 0 + + + 6 + 32 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_robin.c + tos_robin.c + 0 + 0 + + + 6 + 33 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_sched.c + tos_sched.c + 0 + 0 + + + 6 + 34 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_sem.c + tos_sem.c + 0 + 0 + + + 6 + 35 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_sys.c + tos_sys.c + 0 + 0 + + + 6 + 36 + 1 + 1 + 0 + 0 + ..\..\..\..\kernel\core\tos_task.c + tos_task.c + 0 + 0 + + + 6 + 37 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_tick.c + tos_tick.c + 0 + 0 + + + 6 + 38 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_time.c + tos_time.c + 0 + 0 + + + 6 + 39 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_timer.c + tos_timer.c + 0 + 0 + + + 6 + 40 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_binary_heap.c + tos_binary_heap.c + 0 + 0 + + + 6 + 41 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_char_fifo.c + tos_char_fifo.c + 0 + 0 + + + 6 + 42 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_completion.c + tos_completion.c + 0 + 0 + + + 6 + 43 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_countdownlatch.c + tos_countdownlatch.c + 0 + 0 + + + 6 + 44 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_mail_queue.c + tos_mail_queue.c + 0 + 0 + + + 6 + 45 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_message_queue.c + tos_message_queue.c + 0 + 0 + + + 6 + 46 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_priority_mail_queue.c + tos_priority_mail_queue.c + 0 + 0 + + + 6 + 47 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_priority_message_queue.c + tos_priority_message_queue.c + 0 + 0 + + + 6 + 48 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_priority_queue.c + tos_priority_queue.c + 0 + 0 + + + 6 + 49 + 1 + 0 + 0 + 0 + ..\..\..\..\kernel\core\tos_ring_queue.c + tos_ring_queue.c + 0 + 0 + + + + + tos/cmsis + 0 + 0 + 0 + 0 + + 7 + 50 + 1 + 0 + 0 + 0 + ..\..\..\..\osal\cmsis_os\cmsis_os.c + cmsis_os.c + 0 + 0 + + + + + examples + 0 + 0 + 0 + 0 + + 8 + 51 + 1 + 0 + 0 + 0 + ..\..\..\..\examples\hello_world\hello_world.c + hello_world.c + 0 + 0 + + + + + ::CMSIS + 0 + 0 + 0 + 1 + + +
diff --git a/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/MDK_Simulator_STM32F103RCT6.uvprojx b/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/MDK_Simulator_STM32F103RCT6.uvprojx new file mode 100644 index 00000000..ec3bbb7a --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/MDK_Simulator_STM32F103RCT6.uvprojx @@ -0,0 +1,697 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + + MDK_Simulator_STM32F103RCT6 + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 + + + STM32F103RC + STMicroelectronics + Keil.STM32F1xx_DFP.2.3.0 + http://www.keil.com/pack/ + IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + + + + + + + + + + + + + + $$Device:STM32F103RC$SVD\STM32F103xx.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\obj\ + MDK_Simulator_STM32F103RCT6 + 1 + 0 + 0 + 1 + 0 + .\list\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP + DARMSTM.DLL + -pSTM32F103RC + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103RC + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4107 + + 1 + STLink\ST-LINKIII-KEIL_SWO.dll + + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + USE_HAL_DRIVER,STM32F103xE,USE_HAL_DRIVER,STM32F103xE + + ..\..\BSP\Inc;..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Inc;..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Inc\Legacy;..\..\..\..\platform\vendor_bsp\st\CMSIS\Device\ST\STM32F1xx\Include;..\..\..\..\platform\vendor_bsp\st\CMSIS\Include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m3\armcc;..\..\..\..\kernel\core\include;..\..\..\..\kernel\pm\include;..\..\..\..\osal\cmsis_os;..\..\TOS-CONFIG + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + + Application/MDK-ARM + + + startup_stm32f103xe.s + 2 + startup_stm32f103xe.s + + + + + Application/User + + + gpio.c + 1 + ..\..\BSP\Src\gpio.c + + + main.c + 1 + ..\..\BSP\Src\main.c + + + mcu_init.c + 1 + ..\..\BSP\Src\mcu_init.c + + + stm32f1xx_hal_msp.c + 1 + ..\..\BSP\Src\stm32f1xx_hal_msp.c + + + stm32f1xx_it.c + 1 + ..\..\BSP\Src\stm32f1xx_it.c + + + usart.c + 1 + ..\..\BSP\Src\usart.c + + + + + Drivers/STM32F1xx_HAL_Driver + + + stm32f1xx_hal.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c + + + stm32f1xx_hal_cortex.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c + + + stm32f1xx_hal_dma.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c + + + stm32f1xx_hal_exti.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c + + + stm32f1xx_hal_flash.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c + + + stm32f1xx_hal_flash_ex.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c + + + stm32f1xx_hal_gpio.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c + + + stm32f1xx_hal_gpio_ex.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c + + + stm32f1xx_hal_pwr.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c + + + stm32f1xx_hal_rcc.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c + + + stm32f1xx_hal_rcc_ex.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c + + + stm32f1xx_hal_tim.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c + + + stm32f1xx_hal_tim_ex.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c + + + stm32f1xx_hal_uart.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c + + + + + Drivers/CMSIS + + + system_stm32f1xx.c + 1 + ..\..\BSP\Src\system_stm32f1xx.c + + + + + tos/arch + + + tos_cpu.c + 1 + ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c + + + port_c.c + 1 + ..\..\..\..\arch\arm\arm-v7m\cortex-m3\armcc\port_c.c + + + port_s.S + 2 + ..\..\..\..\arch\arm\arm-v7m\cortex-m3\armcc\port_s.S + + + + + tos/kernel + + + tos_event.c + 1 + ..\..\..\..\kernel\core\tos_event.c + + + tos_global.c + 1 + ..\..\..\..\kernel\core\tos_global.c + + + tos_mmblk.c + 1 + ..\..\..\..\kernel\core\tos_mmblk.c + + + tos_mmheap.c + 1 + ..\..\..\..\kernel\core\tos_mmheap.c + + + tos_mutex.c + 1 + ..\..\..\..\kernel\core\tos_mutex.c + + + tos_pend.c + 1 + ..\..\..\..\kernel\core\tos_pend.c + + + tos_robin.c + 1 + ..\..\..\..\kernel\core\tos_robin.c + + + tos_sched.c + 1 + ..\..\..\..\kernel\core\tos_sched.c + + + tos_sem.c + 1 + ..\..\..\..\kernel\core\tos_sem.c + + + tos_sys.c + 1 + ..\..\..\..\kernel\core\tos_sys.c + + + tos_task.c + 1 + ..\..\..\..\kernel\core\tos_task.c + + + tos_tick.c + 1 + ..\..\..\..\kernel\core\tos_tick.c + + + tos_time.c + 1 + ..\..\..\..\kernel\core\tos_time.c + + + tos_timer.c + 1 + ..\..\..\..\kernel\core\tos_timer.c + + + tos_binary_heap.c + 1 + ..\..\..\..\kernel\core\tos_binary_heap.c + + + tos_char_fifo.c + 1 + ..\..\..\..\kernel\core\tos_char_fifo.c + + + tos_completion.c + 1 + ..\..\..\..\kernel\core\tos_completion.c + + + tos_countdownlatch.c + 1 + ..\..\..\..\kernel\core\tos_countdownlatch.c + + + tos_mail_queue.c + 1 + ..\..\..\..\kernel\core\tos_mail_queue.c + + + tos_message_queue.c + 1 + ..\..\..\..\kernel\core\tos_message_queue.c + + + tos_priority_mail_queue.c + 1 + ..\..\..\..\kernel\core\tos_priority_mail_queue.c + + + tos_priority_message_queue.c + 1 + ..\..\..\..\kernel\core\tos_priority_message_queue.c + + + tos_priority_queue.c + 1 + ..\..\..\..\kernel\core\tos_priority_queue.c + + + tos_ring_queue.c + 1 + ..\..\..\..\kernel\core\tos_ring_queue.c + + + + + tos/cmsis + + + cmsis_os.c + 1 + ..\..\..\..\osal\cmsis_os\cmsis_os.c + + + + + examples + + + hello_world.c + 1 + ..\..\..\..\examples\hello_world\hello_world.c + + + + + ::CMSIS + + + + + + + + + + + + + + + + + + +
diff --git a/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/startup_stm32f103xe.s b/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/startup_stm32f103xe.s new file mode 100644 index 00000000..40bc8e6e --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world/startup_stm32f103xe.s @@ -0,0 +1,356 @@ +;******************** (C) COPYRIGHT 2017 STMicroelectronics ******************** +;* File Name : startup_stm32f103xe.s +;* Author : MCD Application Team +;* Description : STM32F103xE Devices vector table for MDK-ARM toolchain. +;* This module performs: +;* - Set the initial SP +;* - Set the initial PC == Reset_Handler +;* - Set the vector table entries with the exceptions ISR address +;* - Configure the clock system +;* - Branches to __main in the C library (which eventually +;* calls main()). +;* After Reset the Cortex-M3 processor is in Thread mode, +;* priority is Privileged, and the Stack is set to Main. +;****************************************************************************** +;* @attention +;* +;* Copyright (c) 2017 STMicroelectronics. +;* All rights reserved. +;* +;* This software component is licensed by ST under BSD 3-Clause license, +;* the "License"; You may not use this file except in compliance with the +;* License. You may obtain a copy of the License at: +;* opensource.org/licenses/BSD-3-Clause +;* +;****************************************************************************** + +; Amount of memory (in bytes) allocated for Stack +; Tailor this value to your application needs +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +Stack_Mem SPACE Stack_Size +__initial_sp + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x200 + + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; NMI Handler + DCD HardFault_Handler ; Hard Fault Handler + DCD MemManage_Handler ; MPU Fault Handler + DCD BusFault_Handler ; Bus Fault Handler + DCD UsageFault_Handler ; Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; SVCall Handler + DCD DebugMon_Handler ; Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; PendSV Handler + DCD SysTick_Handler ; SysTick Handler + + ; External Interrupts + DCD WWDG_IRQHandler ; Window Watchdog + DCD PVD_IRQHandler ; PVD through EXTI Line detect + DCD TAMPER_IRQHandler ; Tamper + DCD RTC_IRQHandler ; RTC + DCD FLASH_IRQHandler ; Flash + DCD RCC_IRQHandler ; RCC + DCD EXTI0_IRQHandler ; EXTI Line 0 + DCD EXTI1_IRQHandler ; EXTI Line 1 + DCD EXTI2_IRQHandler ; EXTI Line 2 + DCD EXTI3_IRQHandler ; EXTI Line 3 + DCD EXTI4_IRQHandler ; EXTI Line 4 + DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 + DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 + DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 + DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 + DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 + DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 + DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 + DCD ADC1_2_IRQHandler ; ADC1 & ADC2 + DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX + DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 + DCD CAN1_RX1_IRQHandler ; CAN1 RX1 + DCD CAN1_SCE_IRQHandler ; CAN1 SCE + DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 + DCD TIM1_BRK_IRQHandler ; TIM1 Break + DCD TIM1_UP_IRQHandler ; TIM1 Update + DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation + DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare + DCD TIM2_IRQHandler ; TIM2 + DCD TIM3_IRQHandler ; TIM3 + DCD TIM4_IRQHandler ; TIM4 + DCD I2C1_EV_IRQHandler ; I2C1 Event + DCD I2C1_ER_IRQHandler ; I2C1 Error + DCD I2C2_EV_IRQHandler ; I2C2 Event + DCD I2C2_ER_IRQHandler ; I2C2 Error + DCD SPI1_IRQHandler ; SPI1 + DCD SPI2_IRQHandler ; SPI2 + DCD USART1_IRQHandler ; USART1 + DCD USART2_IRQHandler ; USART2 + DCD USART3_IRQHandler ; USART3 + DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 + DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line + DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend + DCD TIM8_BRK_IRQHandler ; TIM8 Break + DCD TIM8_UP_IRQHandler ; TIM8 Update + DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation + DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare + DCD ADC3_IRQHandler ; ADC3 + DCD FSMC_IRQHandler ; FSMC + DCD SDIO_IRQHandler ; SDIO + DCD TIM5_IRQHandler ; TIM5 + DCD SPI3_IRQHandler ; SPI3 + DCD UART4_IRQHandler ; UART4 + DCD UART5_IRQHandler ; UART5 + DCD TIM6_IRQHandler ; TIM6 + DCD TIM7_IRQHandler ; TIM7 + DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 + DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 + DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 + DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5 +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + +; Reset handler +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT __main + IMPORT SystemInit + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + +; Dummy Exception Handlers (infinite loops which can be modified) + +NMI_Handler PROC + EXPORT NMI_Handler [WEAK] + B . + ENDP +HardFault_Handler\ + PROC + EXPORT HardFault_Handler [WEAK] + B . + ENDP +MemManage_Handler\ + PROC + EXPORT MemManage_Handler [WEAK] + B . + ENDP +BusFault_Handler\ + PROC + EXPORT BusFault_Handler [WEAK] + B . + ENDP +UsageFault_Handler\ + PROC + EXPORT UsageFault_Handler [WEAK] + B . + ENDP +SVC_Handler PROC + EXPORT SVC_Handler [WEAK] + B . + ENDP +DebugMon_Handler\ + PROC + EXPORT DebugMon_Handler [WEAK] + B . + ENDP +PendSV_Handler PROC + EXPORT PendSV_Handler [WEAK] + B . + ENDP +SysTick_Handler PROC + EXPORT SysTick_Handler [WEAK] + B . + ENDP + +Default_Handler PROC + + EXPORT WWDG_IRQHandler [WEAK] + EXPORT PVD_IRQHandler [WEAK] + EXPORT TAMPER_IRQHandler [WEAK] + EXPORT RTC_IRQHandler [WEAK] + EXPORT FLASH_IRQHandler [WEAK] + EXPORT RCC_IRQHandler [WEAK] + EXPORT EXTI0_IRQHandler [WEAK] + EXPORT EXTI1_IRQHandler [WEAK] + EXPORT EXTI2_IRQHandler [WEAK] + EXPORT EXTI3_IRQHandler [WEAK] + EXPORT EXTI4_IRQHandler [WEAK] + EXPORT DMA1_Channel1_IRQHandler [WEAK] + EXPORT DMA1_Channel2_IRQHandler [WEAK] + EXPORT DMA1_Channel3_IRQHandler [WEAK] + EXPORT DMA1_Channel4_IRQHandler [WEAK] + EXPORT DMA1_Channel5_IRQHandler [WEAK] + EXPORT DMA1_Channel6_IRQHandler [WEAK] + EXPORT DMA1_Channel7_IRQHandler [WEAK] + EXPORT ADC1_2_IRQHandler [WEAK] + EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK] + EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK] + EXPORT CAN1_RX1_IRQHandler [WEAK] + EXPORT CAN1_SCE_IRQHandler [WEAK] + EXPORT EXTI9_5_IRQHandler [WEAK] + EXPORT TIM1_BRK_IRQHandler [WEAK] + EXPORT TIM1_UP_IRQHandler [WEAK] + EXPORT TIM1_TRG_COM_IRQHandler [WEAK] + EXPORT TIM1_CC_IRQHandler [WEAK] + EXPORT TIM2_IRQHandler [WEAK] + EXPORT TIM3_IRQHandler [WEAK] + EXPORT TIM4_IRQHandler [WEAK] + EXPORT I2C1_EV_IRQHandler [WEAK] + EXPORT I2C1_ER_IRQHandler [WEAK] + EXPORT I2C2_EV_IRQHandler [WEAK] + EXPORT I2C2_ER_IRQHandler [WEAK] + EXPORT SPI1_IRQHandler [WEAK] + EXPORT SPI2_IRQHandler [WEAK] + EXPORT USART1_IRQHandler [WEAK] + EXPORT USART2_IRQHandler [WEAK] + EXPORT USART3_IRQHandler [WEAK] + EXPORT EXTI15_10_IRQHandler [WEAK] + EXPORT RTC_Alarm_IRQHandler [WEAK] + EXPORT USBWakeUp_IRQHandler [WEAK] + EXPORT TIM8_BRK_IRQHandler [WEAK] + EXPORT TIM8_UP_IRQHandler [WEAK] + EXPORT TIM8_TRG_COM_IRQHandler [WEAK] + EXPORT TIM8_CC_IRQHandler [WEAK] + EXPORT ADC3_IRQHandler [WEAK] + EXPORT FSMC_IRQHandler [WEAK] + EXPORT SDIO_IRQHandler [WEAK] + EXPORT TIM5_IRQHandler [WEAK] + EXPORT SPI3_IRQHandler [WEAK] + EXPORT UART4_IRQHandler [WEAK] + EXPORT UART5_IRQHandler [WEAK] + EXPORT TIM6_IRQHandler [WEAK] + EXPORT TIM7_IRQHandler [WEAK] + EXPORT DMA2_Channel1_IRQHandler [WEAK] + EXPORT DMA2_Channel2_IRQHandler [WEAK] + EXPORT DMA2_Channel3_IRQHandler [WEAK] + EXPORT DMA2_Channel4_5_IRQHandler [WEAK] + +WWDG_IRQHandler +PVD_IRQHandler +TAMPER_IRQHandler +RTC_IRQHandler +FLASH_IRQHandler +RCC_IRQHandler +EXTI0_IRQHandler +EXTI1_IRQHandler +EXTI2_IRQHandler +EXTI3_IRQHandler +EXTI4_IRQHandler +DMA1_Channel1_IRQHandler +DMA1_Channel2_IRQHandler +DMA1_Channel3_IRQHandler +DMA1_Channel4_IRQHandler +DMA1_Channel5_IRQHandler +DMA1_Channel6_IRQHandler +DMA1_Channel7_IRQHandler +ADC1_2_IRQHandler +USB_HP_CAN1_TX_IRQHandler +USB_LP_CAN1_RX0_IRQHandler +CAN1_RX1_IRQHandler +CAN1_SCE_IRQHandler +EXTI9_5_IRQHandler +TIM1_BRK_IRQHandler +TIM1_UP_IRQHandler +TIM1_TRG_COM_IRQHandler +TIM1_CC_IRQHandler +TIM2_IRQHandler +TIM3_IRQHandler +TIM4_IRQHandler +I2C1_EV_IRQHandler +I2C1_ER_IRQHandler +I2C2_EV_IRQHandler +I2C2_ER_IRQHandler +SPI1_IRQHandler +SPI2_IRQHandler +USART1_IRQHandler +USART2_IRQHandler +USART3_IRQHandler +EXTI15_10_IRQHandler +RTC_Alarm_IRQHandler +USBWakeUp_IRQHandler +TIM8_BRK_IRQHandler +TIM8_UP_IRQHandler +TIM8_TRG_COM_IRQHandler +TIM8_CC_IRQHandler +ADC3_IRQHandler +FSMC_IRQHandler +SDIO_IRQHandler +TIM5_IRQHandler +SPI3_IRQHandler +UART4_IRQHandler +UART5_IRQHandler +TIM6_IRQHandler +TIM7_IRQHandler +DMA2_Channel1_IRQHandler +DMA2_Channel2_IRQHandler +DMA2_Channel3_IRQHandler +DMA2_Channel4_5_IRQHandler + B . + + ENDP + + ALIGN + +;******************************************************************************* +; User Stack and Heap initialization +;******************************************************************************* + IF :DEF:__MICROLIB + + EXPORT __initial_sp + EXPORT __heap_base + EXPORT __heap_limit + + ELSE + + IMPORT __use_two_region_memory + EXPORT __user_initial_stackheap + +__user_initial_stackheap + + LDR R0, = Heap_Mem + LDR R1, =(Stack_Mem + Stack_Size) + LDR R2, = (Heap_Mem + Heap_Size) + LDR R3, = Stack_Mem + BX LR + + ALIGN + + ENDIF + + END + +;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE***** diff --git a/board/MDK_Simulator_STM32F103RCT6/TOS-CONFIG/tos_config.h b/board/MDK_Simulator_STM32F103RCT6/TOS-CONFIG/tos_config.h new file mode 100644 index 00000000..02e58669 --- /dev/null +++ b/board/MDK_Simulator_STM32F103RCT6/TOS-CONFIG/tos_config.h @@ -0,0 +1,39 @@ +#ifndef _TOS_CONFIG_H_ +#define _TOS_CONFIG_H_ + +#include "stm32f1xx.h" + +#define TOS_CFG_TICKLESS_EN 0u + +#define TOS_CFG_TASK_PRIO_MAX 10u + +#define TOS_CFG_ROUND_ROBIN_EN 1u + +#define TOS_CFG_OBJECT_VERIFY_EN 0u + +#define TOS_CFG_TASK_DYNAMIC_CREATE_EN 0u + +#define TOS_CFG_EVENT_EN 1u + +#define TOS_CFG_MMBLK_EN 1u + +#define TOS_CFG_MMHEAP_EN 1u + +#define TOS_CFG_MMHEAP_DEFAULT_POOL_SIZE 0x6000 + +#define TOS_CFG_MUTEX_EN 1u + +#define TOS_CFG_TIMER_EN 1u + +#define TOS_CFG_SEM_EN 1u + +#define TOS_CFG_IDLE_TASK_STK_SIZE 80u + +#define TOS_CFG_CPU_TICK_PER_SECOND 1000u + +#define TOS_CFG_CPU_CLOCK (SystemCoreClock) + +#define TOS_CFG_TIMER_AS_PROC 1u + +#endif + diff --git a/doc/19.TencentOS_Tiny_Simulator_Use_MDK.md b/doc/19.TencentOS_Tiny_Simulator_Use_MDK.md new file mode 100644 index 00000000..ce7da0af --- /dev/null +++ b/doc/19.TencentOS_Tiny_Simulator_Use_MDK.md @@ -0,0 +1,41 @@ +# 浣跨敤MDK杞欢鍏ㄤ豢鐪熻皟璇曚綋楠孴encentOS Tiny + +鏈夎澶氭湅鍙嬫兂浣撻獙鎴栬呭涔犱竴涓婽encentOS Tiny鍐呮牳锛屼絾鏄墜涓婂嵈娌℃湁鍚堥傜殑纭欢锛屾病鍏崇郴锛佹湰鏂囧皢鏁欐偍濡備綍浣跨敤MDK杞欢鏉ヤ豢鐪熻皟璇昑encentOS Tiny鍐呮牳銆 + +鍙傝冨伐绋嬭繛鎺ワ細https://github.com/Tencent/TencentOS-tiny/tree/master/board/MDK_Simulator_STM32F103RCT6/KEIL/hello_world + +鎴戜滑棣栧厛鍦═encentOS Tiny瀹樺簱涓婃壘鍒颁竴涓猄TM32宸ョ▼锛岀敤MDK杞欢鎵撳紑锛屼慨鏀筽rintf 鍑芥暟鏄犲皠锛屽鍥炬墍绀猴細 +![](image/MDK_Simulator_Guide/add_printf_code.png) + +闇瑕佹坊鍔犵殑浠g爜濡備笅锛 + +``` +#include "stdio.h" + +#define ITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n))) +#define ITM_Port16(n) (*((volatile unsigned short*)(0xE0000000+4*n))) +#define ITM_Port32(n) (*((volatile unsigned long *)(0xE0000000+4*n))) +#define DEMCR (*((volatile unsigned long *)(0xE000EDFC))) +#define TRCENA 0x01000000 + +struct __FILE { int handle; /* Add whatever you need here */ }; + FILE __stdout; + FILE __stdin; + +int fputc(int ch, FILE *f) +{ + if (DEMCR & TRCENA) + { + while (ITM_Port32(0) == 0); + ITM_Port8(0) = ch; + } + return(ch); +} +``` +娣诲姞瀹屾瘯鍚庯紝鍦∕DK宸ョ▼涓婃墦寮option閫夐」锛岄夋嫨debug閫夐」寮锛岃皟璇曟柟寮忛夋嫨User Simulator锛屽苟淇敼璋冭瘯鍙傛暟锛屽涓嬪浘锛 +![](image/MDK_Simulator_Guide/set_simulator_para.png) + +瀹屾垚杞欢浠跨湡鍙傛暟閰嶇疆鍚庯紝灏卞彲浠ョ偣鍑籨ebug鎸夐挳寮濮嬭皟璇曚簡锛屾墦寮璋冭瘯绐楀彛鍚庯紝閫夋嫨view->Serial windows->debug 灏卞彲浠ユ墦寮璋冭瘯鏃ュ織绐楀彛浜嗭紝濡傚浘锛屽彲浠ョ湅鍒癟encentOS Tiny鍐呮牳鐨勪袱涓换鍔¤緭鍑虹殑鏃ュ織淇℃伅銆 +![](image/MDK_Simulator_Guide/debug_window.png) + + diff --git a/doc/image/MDK_Simulator_Guide/add_printf_code.png b/doc/image/MDK_Simulator_Guide/add_printf_code.png new file mode 100644 index 0000000000000000000000000000000000000000..e4077f4292fe298b97b02b53d7c28b1392d1b9c7 GIT binary patch literal 69941 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 z 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�n08C?_Q7sQrpFN9%{D0hI-eYBk}b}78t~AbLSKu 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%0DwNeGPGT&s(M{aR*&7qVDYJc{ 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 literal 0 HcmV?d00001 diff --git a/doc/image/MDK_Simulator_Guide/set_simulator_para.png b/doc/image/MDK_Simulator_Guide/set_simulator_para.png new file mode 100644 index 0000000000000000000000000000000000000000..050804133d47faece97f99835d5a29b2fb2f9244 GIT binary patch literal 91052 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%0A#(IVtmk}d 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