source: ctrl/firmware/Main/CubeMX/NetXDuo/App/app_netxduo.c @ 69

Last change on this file since 69 was 69, checked in by Zed, 37 hours ago

NetX can be compiled and initialized.

File size: 3.1 KB
Line 
1/* USER CODE BEGIN Header */
2/**
3  ******************************************************************************
4  * @file    app_netxduo.c
5  * @author  MCD Application Team
6  * @brief   NetXDuo applicative file
7  ******************************************************************************
8  * @attention
9  *
10  * Copyright (c) 2020-2021 STMicroelectronics.
11  * All rights reserved.
12  *
13  * This software is licensed under terms that can be found in the LICENSE file
14  * in the root directory of this software component.
15  * If no LICENSE file comes with this software, it is provided AS-IS.
16  *
17  ******************************************************************************
18  */
19
20/* USER CODE END Header */
21
22/* Includes ------------------------------------------------------------------*/
23#include "app_netxduo.h"
24
25/* Private includes ----------------------------------------------------------*/
26/* USER CODE BEGIN Includes */
27
28/* USER CODE END Includes */
29
30/* Private typedef -----------------------------------------------------------*/
31/* USER CODE BEGIN PTD */
32
33/* USER CODE END PTD */
34
35/* Private define ------------------------------------------------------------*/
36/* USER CODE BEGIN PD */
37
38#define IP_HELPER_THREAD_STACK_SIZE                       (512U)
39#define NX_PACKET_POOL_SIZE                                       (1024U)
40
41/* USER CODE END PD */
42
43/* Private macro -------------------------------------------------------------*/
44/* USER CODE BEGIN PM */
45
46/* USER CODE END PM */
47
48/* Private variables ---------------------------------------------------------*/
49/* USER CODE BEGIN PV */
50
51NX_IP ip;
52static CHAR ipName[] = "Eth";
53static CHAR ip_helper_thread_stack[IP_HELPER_THREAD_STACK_SIZE]                                 __attribute__((section(".DTCM_RAM")));
54static CHAR nx_packet_pool_memory[NX_PACKET_POOL_SIZE]                                                  __attribute__((section(".DTCM_RAM"), aligned(4)));
55static NX_PACKET_POOL pool;
56
57/* USER CODE END PV */
58
59/* Private function prototypes -----------------------------------------------*/
60/* USER CODE BEGIN PFP */
61
62VOID ip_network_driver(NX_IP_DRIVER *ipDrv);
63
64/* USER CODE END PFP */
65
66/**
67  * @brief  Application NetXDuo Initialization.
68  * @param memory_ptr: memory pointer
69  * @retval int
70  */
71UINT MX_NetXDuo_Init(VOID *memory_ptr)
72{
73  UINT ret = NX_SUCCESS;
74
75  TX_BYTE_POOL *byte_pool = (TX_BYTE_POOL*)memory_ptr;
76
77  /* USER CODE BEGIN MX_NetXDuo_MEM_POOL */
78  (void)byte_pool;
79  /* USER CODE END MX_NetXDuo_MEM_POOL */
80
81  /* USER CODE BEGIN 0 */
82
83  nx_system_initialize();
84
85  UINT r = nx_packet_pool_create(&pool, "NX packet pool", 512, nx_packet_pool_memory, NX_PACKET_POOL_SIZE);
86  //printf("Result = %u\n", r);
87
88  r = nx_ip_create(&ip, ipName, IP_ADDRESS(192, 168, 1, 177), 0xFFFFFFFF, &pool, ip_network_driver, ip_helper_thread_stack, IP_HELPER_THREAD_STACK_SIZE, 1);
89  //printf("Result = %u\n", r);
90
91  /* USER CODE END 0 */
92
93  /* USER CODE BEGIN MX_NetXDuo_Init */
94
95  /* USER CODE END MX_NetXDuo_Init */
96
97  return ret;
98}
99
100/* USER CODE BEGIN 1 */
101
102VOID ip_network_driver(NX_IP_DRIVER *ipDrv)
103{
104        printf("Network Driver is working!\n");
105}
106
107/* USER CODE END 1 */
Note: See TracBrowser for help on using the repository browser.