Browse Source

update

zdyz_demo_no_sram
tianjialong 3 years ago
parent
commit
d5b50f5135
  1. BIN
      app/Output/atk_f407.axf
  2. 12
      app/Output/atk_f407.build_log.htm
  3. 11327
      app/Output/atk_f407.hex
  4. 5543
      app/Output/atk_f407.htm
  5. 11
      app/Output/atk_f407.lnp
  6. 4519
      app/Output/atk_f407.map
  7. 1094
      app/Output/atk_f407_lwIP.dep
  8. 160
      app/Projects/MDK-ARM/atk_f407.uvguix.29643
  9. 148
      app/Projects/MDK-ARM/atk_f407.uvoptx
  10. 67
      app/Projects/MDK-ARM/atk_f407.uvprojx
  11. 6
      src/config.c
  12. 24
      src/hardware_main.c
  13. 71
      src/main.h
  14. 32
      src/usermain.c
  15. 154
      src/zport.c
  16. 4
      src/zport.h
  17. 16
      src/zthread.c

BIN
app/Output/atk_f407.axf

12
app/Output/atk_f407.build_log.htm

@ -29,9 +29,15 @@ Project File Date: 02/18/2023
Build target 'lwIP'
Note: source file '..\..\Middlewares\LWIP\src\core\sys.c' - object file renamed from '..\..\Output\sys.o' to '..\..\Output\sys_1.o'.
Note: source file '..\..\Middlewares\LWIP\src\netif\ethernet.c' - object file renamed from '..\..\Output\ethernet.o' to '..\..\Output\ethernet_1.o'.
compiling main.c...
compiling zport.c...
compiling usermain.c...
compiling encoder_acquistion.c...
compiling usart.c...
compiling hardware_main.c...
compiling config.c...
compiling encoder_acquistion_service.c...
linking...
Program Size: Code=89260 RO-data=1736 RW-data=464 ZI-data=101848
Program Size: Code=89884 RO-data=1736 RW-data=464 ZI-data=101848
FromELF: creating hex file...
"..\..\Output\atk_f407.axf" - 0 Error(s), 0 Warning(s).
@ -46,7 +52,7 @@ Package Vendor: Keil
C:\Users\29643\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.16.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include
<h2>Collection of Component Files used:</h2>
Build Time Elapsed: 00:00:03
Build Time Elapsed: 00:00:04
</pre>
</body>
</html>

11327
app/Output/atk_f407.hex
File diff suppressed because it is too large
View File

5543
app/Output/atk_f407.htm
File diff suppressed because it is too large
View File

11
app/Output/atk_f407.lnp

@ -79,6 +79,17 @@
"..\..\output\timers.o"
"..\..\output\heap_4.o"
"..\..\output\port.o"
"..\..\output\config.o"
"..\..\output\encoder_acquistion.o"
"..\..\output\encoder_acquistion_service.o"
"..\..\output\hardware_main.o"
"..\..\output\protocol.o"
"..\..\output\usermain.o"
"..\..\output\zflash.o"
"..\..\output\zport.o"
"..\..\output\zthread.o"
"..\..\output\stm32sdk.o"
"..\..\output\pwm.o"
--library_type=microlib --strict --scatter "..\..\Output\atk_f407.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers

4519
app/Output/atk_f407.map
File diff suppressed because it is too large
View File

1094
app/Output/atk_f407_lwIP.dep
File diff suppressed because it is too large
View File

160
app/Projects/MDK-ARM/atk_f407.uvguix.29643
File diff suppressed because it is too large
View File

148
app/Projects/MDK-ARM/atk_f407.uvoptx

@ -1417,4 +1417,152 @@
</File>
</Group>
<Group>
<GroupName>src</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>82</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\src\config.c</PathWithFileName>
<FilenameWithoutPath>config.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>83</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\src\encoder_acquistion.c</PathWithFileName>
<FilenameWithoutPath>encoder_acquistion.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>84</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\src\encoder_acquistion_service.c</PathWithFileName>
<FilenameWithoutPath>encoder_acquistion_service.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>85</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\src\hardware_main.c</PathWithFileName>
<FilenameWithoutPath>hardware_main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>86</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\src\protocol.c</PathWithFileName>
<FilenameWithoutPath>protocol.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>87</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\src\usermain.c</PathWithFileName>
<FilenameWithoutPath>usermain.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>88</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\src\zflash.c</PathWithFileName>
<FilenameWithoutPath>zflash.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>89</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\src\zport.c</PathWithFileName>
<FilenameWithoutPath>zport.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>90</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\src\zthread.c</PathWithFileName>
<FilenameWithoutPath>zthread.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>iflytop</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>91</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\iflytop_microcontroller\sdk\stm32\stm32sdk.c</PathWithFileName>
<FilenameWithoutPath>stm32sdk.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>92</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\iflytop_microcontroller\sdk\stm32\pwm.c</PathWithFileName>
<FilenameWithoutPath>pwm.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
</ProjectOpt>

67
app/Projects/MDK-ARM/atk_f407.uvprojx

@ -339,7 +339,7 @@
<MiscControls>--diag_suppress=381 --diag_suppress=1 --diag_suppress=177 --diag_suppress=111 --diag_suppress=1295 --diag_suppress=870</MiscControls>
<Define>USE_HAL_DRIVER,STM32F407xx</Define>
<Undefine></Undefine>
<IncludePath>..\..\User;..\..\Drivers;..\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include;..\..\Drivers\CMSIS\Include;..\..\Drivers\STM32F4xx_HAL_Driver\Inc;..\..\Middlewares;..\..\Middlewares\lwip\src\include;..\..\Middlewares\lwip\src\include\lwip;..\..\Middlewares\lwip\arch;..\..\Middlewares\lwip\lwip_app;..\..\Middlewares\lwip;..\..\Middlewares\FreeRTOS\include;..\..\Middlewares\FreeRTOS\portable\RVDS\ARM_CM4F</IncludePath>
<IncludePath>..\..\User;..\..\Drivers;..\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include;..\..\Drivers\CMSIS\Include;..\..\Drivers\STM32F4xx_HAL_Driver\Inc;..\..\Middlewares;..\..\Middlewares\lwip\src\include;..\..\Middlewares\lwip\src\include\lwip;..\..\Middlewares\lwip\arch;..\..\Middlewares\lwip\lwip_app;..\..\Middlewares\lwip;..\..\Middlewares\FreeRTOS\include;..\..\Middlewares\FreeRTOS\portable\RVDS\ARM_CM4F;..\..\..\;..\..\..\src</IncludePath>
</VariousControls>
</Cads>
<Aads>
@ -850,6 +850,71 @@
</File>
</Files>
</Group>
<Group>
<GroupName>src</GroupName>
<Files>
<File>
<FileName>config.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\config.c</FilePath>
</File>
<File>
<FileName>encoder_acquistion.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\encoder_acquistion.c</FilePath>
</File>
<File>
<FileName>encoder_acquistion_service.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\encoder_acquistion_service.c</FilePath>
</File>
<File>
<FileName>hardware_main.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\hardware_main.c</FilePath>
</File>
<File>
<FileName>protocol.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\protocol.c</FilePath>
</File>
<File>
<FileName>usermain.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\usermain.c</FilePath>
</File>
<File>
<FileName>zflash.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\zflash.c</FilePath>
</File>
<File>
<FileName>zport.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\zport.c</FilePath>
</File>
<File>
<FileName>zthread.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\zthread.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>iflytop</GroupName>
<Files>
<File>
<FileName>stm32sdk.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\iflytop_microcontroller\sdk\stm32\stm32sdk.c</FilePath>
</File>
<File>
<FileName>pwm.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\iflytop_microcontroller\sdk\stm32\pwm.c</FilePath>
</File>
</Files>
</Group>
</Groups>
</Target>
</Targets>

6
src/config.c

@ -1,8 +1,10 @@
#include "config.h"
#include "../app/Middlewares/Third_Party/LwIP/src/include/lwip/inet.h"
#include "../iflytop_microcontroller/sdk/stm32/stm32sdk.h"
#include "lwip.h"
#include <lwip/sockets.h>
#include "lwip/opt.h"
#include "lwip/sys.h"
#include "lwip/api.h"
#include "protocol.h"
#include "src/zflash.h"
#include "zboard.h"

24
src/hardware_main.c

@ -3,17 +3,17 @@
#include <stdio.h>
#include <string.h>
#include "cmsis_os.h"
#include "config.h"
#include "encoder_acquistion_service.h"
#include "iwdg.h"
#include "lwip.h"
//#include "iwdg.h"
//#include <lwip/sockets.h>
#include "lwip/opt.h"
#include "lwip/sys.h"
#include "lwip/api.h"
#include "main.h"
#include "protocol.h"
#include "src/demosrc/freertos_demo.h"
#include "src/demosrc/malloc.h"
#include "src/demosrc/sram.h"
#include "usart.h"
//#include "src/demosrc/freertos_demo.h"
//#include "usart.h"
#include "zboard.h"
#include "zport.h"
//
@ -22,13 +22,13 @@
#define TAG "HARDWARE_MAIN"
void hardware_main() {
sram_init(); /* SRAM初始化 */
// sram_init(); /* SRAM初始化 */
my_mem_init(SRAMIN); /* 初始化内部SRAM内存池 */
my_mem_init(SRAMEX); /* 初始化外部SRAM内存池 */
my_mem_init(SRAMCCM); /* 初始化内部CCM内存池 */
// my_mem_init(SRAMIN); /* 初始化内部SRAM内存池 */
// my_mem_init(SRAMEX); /* 初始化外部SRAM内存池 */
// my_mem_init(SRAMCCM); /* 初始化内部CCM内存池 */
freertos_demo();
// freertos_demo();
// ZLOGI(TAG, "start hardware test");
// while (1) {

71
src/main.h

@ -0,0 +1,71 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.h
* @brief : Header for main.c file.
* This file contains the common defines of the application.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
* All rights reserved.</center></h2>
*
* 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 "stm32f4xx_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 -----------------------------------------------------------*/
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
#ifdef __cplusplus
}
#endif
#endif /* __MAIN_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

32
src/usermain.c

@ -3,14 +3,16 @@
#include <stdio.h>
#include <string.h>
#include "cmsis_os.h"
#include "config.h"
#include "encoder_acquistion_service.h"
#include "iwdg.h"
#include "lwip.h"
//#include "iwdg.h"
//#include <lwip/sockets.h>
#include "lwip/opt.h"
#include "lwip/sys.h"
#include "lwip/api.h"
#include "main.h"
#include "protocol.h"
#include "usart.h"
//#include "usart.h"
#include "zboard.h"
#include "zflash.h"
#include "zport.h"
@ -20,17 +22,17 @@
#define TAG "USER_MAIN"
void user_main() {
ZLOGI(TAG, "==============ethernet_sound_acquisition_card=============");
ZLOGI(TAG, "version %d.%d", VERSION_MAIN_ID, VERSION_SUB_ID);
config_init();
// ZLOGI(TAG, "==============ethernet_sound_acquisition_card=============");
// ZLOGI(TAG, "version %d.%d", VERSION_MAIN_ID, VERSION_SUB_ID);
// config_init();
/**
* @brief UDP服务
*/
encoder_acquistion_service_init();
// /**
// * @brief UDP服务
// */
// encoder_acquistion_service_init();
while (1) {
port_do_debug_light_state();
HAL_IWDG_Refresh(&hiwdg);
}
// while (1) {
// port_do_debug_light_state();
// HAL_IWDG_Refresh(&hiwdg);
// }
}

154
src/zport.c

@ -1,84 +1,84 @@
#include "zport.h"
//#include "zport.h"
#include <stdint.h>
#include <stdio.h>
//#include <stdint.h>
//#include <stdio.h>
#include "main.h"
// #include "modbus_processer.h"
#include "tim.h"
#include "usart.h"
//#include "main.h"
//// #include "modbus_processer.h"
////#include "tim.h"
////#include "usart.h"
//
#include "../../../iflytop_microcontroller/sdk/stm32/pwm.h"
#include "../../../iflytop_microcontroller/sdk/stm32/stm32sdk.h"
////
//#include "../../../iflytop_microcontroller/sdk/stm32/pwm.h"
//#include "../../../iflytop_microcontroller/sdk/stm32/stm32sdk.h"
/**********************************************************************************************************************
* ===================================================printf重定向=================================================== *
**********************************************************************************************************************/
int fputc(int ch, FILE* stream) {
uint8_t c = ch;
HAL_UART_Transmit(&DEBUG_UART, &c, 1, 100);
return ch;
}
/***********************************************************************************************************************
* ========================================================================================================= *
***********************************************************************************************************************/
void port_do_debug_light_state(void) {
static uint32_t lastprocess = 0;
if (sys_haspassedms(lastprocess) > 300) {
lastprocess = HAL_GetTick();
HAL_GPIO_TogglePin(DEBUG_LIGHT_PORT, DEBUG_LIGHT_PIN);
}
}
/***********************************************************************************************************************
* =========================================================================================================== *
***********************************************************************************************************************/
///**********************************************************************************************************************
// * ===================================================printf重定向=================================================== *
// **********************************************************************************************************************/
//int fputc(int ch, FILE* stream) {
// uint8_t c = ch;
// HAL_UART_Transmit(&DEBUG_UART, &c, 1, 100);
// return ch;
//}
///***********************************************************************************************************************
// * ========================================================================================================= *
// ***********************************************************************************************************************/
//void port_do_debug_light_state(void) {
// static uint32_t lastprocess = 0;
// if (sys_haspassedms(lastprocess) > 300) {
// lastprocess = HAL_GetTick();
// HAL_GPIO_TogglePin(DEBUG_LIGHT_PORT, DEBUG_LIGHT_PIN);
// }
//}
///***********************************************************************************************************************
// * =========================================================================================================== *
// ***********************************************************************************************************************/
static uart_t m_uarts[] = {
{&DEBUG_UART, 0},
// {&MODBUS_UART, 0},
};
__weak void port_mock_on_uart_rx(uart_t* uart) {}
static void uarts_start_receive(uart_t* uart) { HAL_UART_Receive_IT(uart->uarthandler, &uart->rxbuf, 1); }
void HAL_UART_RxCpltCallback(UART_HandleTypeDef* huart) {
for (size_t i = 0; i < sizeof(m_uarts) / sizeof(uart_t); i++) {
if (m_uarts[i].uarthandler == huart) {
port_mock_on_uart_rx(&m_uarts[i]);
uarts_start_receive(&m_uarts[i]);
return;
}
}
}
void HAL_UART_ErrorCallback(UART_HandleTypeDef* huart) {
for (size_t i = 0; i < sizeof(m_uarts) / sizeof(uart_t); i++) {
if (m_uarts[i].uarthandler == huart) {
uarts_start_receive(&m_uarts[i]);
return;
}
}
}
// export
void port_uart_start_all_uart_receive(void) {
for (size_t i = 0; i < sizeof(m_uarts) / sizeof(uart_t); i++) {
uarts_start_receive(&m_uarts[i]);
}
}
//static uart_t m_uarts[] = {
// {&DEBUG_UART, 0},
// // {&MODBUS_UART, 0},
//};
//__weak void port_mock_on_uart_rx(uart_t* uart) {}
//static void uarts_start_receive(uart_t* uart) { HAL_UART_Receive_IT(uart->uarthandler, &uart->rxbuf, 1); }
//void HAL_UART_RxCpltCallback(UART_HandleTypeDef* huart) {
// for (size_t i = 0; i < sizeof(m_uarts) / sizeof(uart_t); i++) {
// if (m_uarts[i].uarthandler == huart) {
// port_mock_on_uart_rx(&m_uarts[i]);
// uarts_start_receive(&m_uarts[i]);
// return;
// }
// }
//}
//void HAL_UART_ErrorCallback(UART_HandleTypeDef* huart) {
// for (size_t i = 0; i < sizeof(m_uarts) / sizeof(uart_t); i++) {
// if (m_uarts[i].uarthandler == huart) {
// uarts_start_receive(&m_uarts[i]);
// return;
// }
// }
//}
//// export
//void port_uart_start_all_uart_receive(void) {
// for (size_t i = 0; i < sizeof(m_uarts) / sizeof(uart_t); i++) {
// uarts_start_receive(&m_uarts[i]);
// }
//}
bool port_electric_relay_get_state(int relayindex) {
/*
example:
if (relayindex == 1) {
return GPIO_GET(C, 8, !!);
}
*/
//bool port_electric_relay_get_state(int relayindex) {
// /*
// example:
// if (relayindex == 1) {
// return GPIO_GET(C, 8, !!);
// }
// */
return false;
}
void port_electric_relay_set_state(int relayindex, bool state) {
/*
example:
if (relayindex == 1) {
GPIO_SET(C, 8, !!, state);
}
*/
}
// return false;
//}
//void port_electric_relay_set_state(int relayindex, bool state) {
// /*
// example:
// if (relayindex == 1) {
// GPIO_SET(C, 8, !!, state);
// }
// */
//}

4
src/zport.h

@ -3,8 +3,8 @@
#include <stdint.h>
#include <stdio.h>
#include "tim.h"
#include "usart.h"
//#include "tim.h"
//#include "usart.h"
#include "zboard.h"
#define GPIO_SET(port, pin, mirror, _state) \

16
src/zthread.c

@ -1,6 +1,7 @@
#include "zthread.h"
#include "stdbool.h"
#include "iflytop_microcontroller/sdk/stm32/stm32sdk.h"
#include "stdbool.h"
// #include "Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.h"
#include "zassert.h"
@ -8,22 +9,21 @@
extern uint32_t vPortGetIPSR(void);
static __inline bool IS_IRQ(void)
{
if (vPortGetIPSR())
return true;
static __inline bool IS_IRQ(void) {
if (vPortGetIPSR()) return true;
return false;
return false;
}
static void tasksleep(uint32_t ms) { ulTaskNotifyTake(pdFALSE, pdMS_TO_TICKS(ms)); }
static void taskwake(zthread_t *thread) {
BaseType_t state;
if (IS_IRQ())
if (IS_IRQ()) {
vTaskNotifyGiveFromISR(thread->handler, &state);
else
} else {
xTaskNotifyGive(thread->handler);
}
}
static void prvtaskfunction(void *_taskhandler) {

Loading…
Cancel
Save