Настройка Ethernet. Отправка UDP пакета средствами.
This commit is contained in:
@@ -31,7 +31,7 @@ extern "C" {
|
|||||||
|
|
||||||
/* Private includes ----------------------------------------------------------*/
|
/* Private includes ----------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
|
#include <string.h>
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
|
|
||||||
/* Exported types ------------------------------------------------------------*/
|
/* Exported types ------------------------------------------------------------*/
|
||||||
@@ -59,7 +59,7 @@ void Error_Handler(void);
|
|||||||
/* Private defines -----------------------------------------------------------*/
|
/* Private defines -----------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN Private defines */
|
/* USER CODE BEGIN Private defines */
|
||||||
#define ISA_BASE_RD 0x60000000U
|
#define ISA_BASE_RD 0x60000000U
|
||||||
#define ISA_BASE_WR 0x60200000U
|
#define ISA_BASE_WR 0x60400000U
|
||||||
/* USER CODE END Private defines */
|
/* USER CODE END Private defines */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ static void MX_FMC_Init(void);
|
|||||||
/* USER CODE BEGIN PFP */
|
/* USER CODE BEGIN PFP */
|
||||||
void write_isa(uint16_t addr, uint16_t data);
|
void write_isa(uint16_t addr, uint16_t data);
|
||||||
uint16_t read_isa(uint16_t addr);
|
uint16_t read_isa(uint16_t addr);
|
||||||
|
void sock_init(struct udp_pcb * pcb);
|
||||||
/* USER CODE END PFP */
|
/* USER CODE END PFP */
|
||||||
|
|
||||||
/* Private user code ---------------------------------------------------------*/
|
/* Private user code ---------------------------------------------------------*/
|
||||||
@@ -67,7 +68,6 @@ uint16_t read_isa(uint16_t addr);
|
|||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
/* USER CODE BEGIN 1 */
|
/* USER CODE BEGIN 1 */
|
||||||
|
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
|
|
||||||
/* MCU Configuration--------------------------------------------------------*/
|
/* MCU Configuration--------------------------------------------------------*/
|
||||||
@@ -90,24 +90,32 @@ int main(void)
|
|||||||
MX_GPIO_Init();
|
MX_GPIO_Init();
|
||||||
MX_LWIP_Init();
|
MX_LWIP_Init();
|
||||||
MX_FMC_Init();
|
MX_FMC_Init();
|
||||||
/* USER CODE BEGIN 2 */
|
|
||||||
|
|
||||||
|
/* USER CODE BEGIN 2 */
|
||||||
|
struct udp_pcb * pcb = udp_new();
|
||||||
|
sock_init(pcb);
|
||||||
|
const char* msg = "hello world1234";
|
||||||
|
struct pbuf *p = pbuf_alloc(0, 100, PBUF_RAM);
|
||||||
|
uint32_t br_addr = ipaddr_addr("10.1.1.5");
|
||||||
|
u16_t dst_port = 50000U;
|
||||||
|
p->len = strlen(msg);
|
||||||
|
p->tot_len = p->len;
|
||||||
|
strcpy(p->payload, msg);
|
||||||
/* USER CODE END 2 */
|
/* USER CODE END 2 */
|
||||||
|
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
/* USER CODE BEGIN WHILE */
|
/* USER CODE BEGIN WHILE */
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
MX_LWIP_Process();
|
MX_LWIP_Process();
|
||||||
//write_isa(0x100, 0x1111);
|
//write_isa(0x110, 0x5555);
|
||||||
//write_isa(0x102, 0x1111);
|
//write_isa(0x108, 0xaaaa);
|
||||||
//read_isa(0x1);
|
//read_isa(0x2);
|
||||||
read_isa(0x1);
|
//read_isa(0x4);
|
||||||
read_isa(0x4);
|
|
||||||
//read_isa(0x8);
|
|
||||||
//read_isa(0x10);
|
|
||||||
//read_isa(0x20);
|
|
||||||
|
|
||||||
|
err_t errok = udp_sendto(pcb, p, (ip_addr_t*)&br_addr, dst_port);
|
||||||
|
HAL_Delay(100);
|
||||||
|
read_isa(0x4);
|
||||||
}
|
}
|
||||||
/* USER CODE END WHILE */
|
/* USER CODE END WHILE */
|
||||||
}
|
}
|
||||||
@@ -167,7 +175,6 @@ static void MX_FMC_Init(void)
|
|||||||
/* USER CODE END FMC_Init 0 */
|
/* USER CODE END FMC_Init 0 */
|
||||||
|
|
||||||
FMC_NORSRAM_TimingTypeDef Timing = {0};
|
FMC_NORSRAM_TimingTypeDef Timing = {0};
|
||||||
FMC_NORSRAM_TimingTypeDef ExtTiming = {0};
|
|
||||||
|
|
||||||
/* USER CODE BEGIN FMC_Init 1 */
|
/* USER CODE BEGIN FMC_Init 1 */
|
||||||
|
|
||||||
@@ -188,7 +195,7 @@ static void MX_FMC_Init(void)
|
|||||||
hsram1.Init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS;
|
hsram1.Init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS;
|
||||||
hsram1.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE;
|
hsram1.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE;
|
||||||
hsram1.Init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE;
|
hsram1.Init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE;
|
||||||
hsram1.Init.ExtendedMode = FMC_EXTENDED_MODE_ENABLE;
|
hsram1.Init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE;
|
||||||
hsram1.Init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE;
|
hsram1.Init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE;
|
||||||
hsram1.Init.WriteBurst = FMC_WRITE_BURST_DISABLE;
|
hsram1.Init.WriteBurst = FMC_WRITE_BURST_DISABLE;
|
||||||
hsram1.Init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ONLY;
|
hsram1.Init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ONLY;
|
||||||
@@ -202,15 +209,8 @@ static void MX_FMC_Init(void)
|
|||||||
Timing.DataLatency = 17;
|
Timing.DataLatency = 17;
|
||||||
Timing.AccessMode = FMC_ACCESS_MODE_A;
|
Timing.AccessMode = FMC_ACCESS_MODE_A;
|
||||||
/* ExtTiming */
|
/* ExtTiming */
|
||||||
ExtTiming.AddressSetupTime = 15;
|
|
||||||
ExtTiming.AddressHoldTime = 15;
|
|
||||||
ExtTiming.DataSetupTime = 255;
|
|
||||||
ExtTiming.BusTurnAroundDuration = 15;
|
|
||||||
ExtTiming.CLKDivision = 16;
|
|
||||||
ExtTiming.DataLatency = 17;
|
|
||||||
ExtTiming.AccessMode = FMC_ACCESS_MODE_A;
|
|
||||||
|
|
||||||
if (HAL_SRAM_Init(&hsram1, &Timing, &ExtTiming) != HAL_OK)
|
if (HAL_SRAM_Init(&hsram1, &Timing, NULL) != HAL_OK)
|
||||||
{
|
{
|
||||||
Error_Handler( );
|
Error_Handler( );
|
||||||
}
|
}
|
||||||
@@ -251,14 +251,23 @@ static void MX_GPIO_Init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE BEGIN 4 */
|
/* USER CODE BEGIN 4 */
|
||||||
|
|
||||||
|
void sock_init(struct udp_pcb * pcb)
|
||||||
|
{
|
||||||
|
uint32_t ipaddr = ipaddr_addr("10.1.1.69");
|
||||||
|
u16_t port = 50069U;
|
||||||
|
err_t errok = udp_bind(pcb, (ip_addr_t*)&ipaddr, port);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
uint16_t read_isa(uint16_t addr)
|
uint16_t read_isa(uint16_t addr)
|
||||||
{
|
{
|
||||||
return *(uint16_t*)(ISA_BASE_RD + addr);
|
return *(uint16_t*)(ISA_BASE_RD + (addr << 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
void write_isa(uint16_t addr, uint16_t data)
|
void write_isa(uint16_t addr, uint16_t data)
|
||||||
{
|
{
|
||||||
*(uint16_t*)(ISA_BASE_WR + addr) = data;
|
*(uint16_t*)(ISA_BASE_WR + (addr << 1)) = data;
|
||||||
}
|
}
|
||||||
/* USER CODE END 4 */
|
/* USER CODE END 4 */
|
||||||
|
|
||||||
|
|||||||
@@ -134,11 +134,13 @@ static void HAL_FMC_MspInit(void){
|
|||||||
PD4 ------> FMC_NOE
|
PD4 ------> FMC_NOE
|
||||||
PD5 ------> FMC_NWE
|
PD5 ------> FMC_NWE
|
||||||
PD7 ------> FMC_NE1
|
PD7 ------> FMC_NE1
|
||||||
|
PE0 ------> FMC_NBL0
|
||||||
|
PE1 ------> FMC_NBL1
|
||||||
*/
|
*/
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6
|
GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6
|
||||||
|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
|
|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
|
||||||
|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
|
|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
|
||||||
|GPIO_PIN_15;
|
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
@@ -243,11 +245,13 @@ static void HAL_FMC_MspDeInit(void){
|
|||||||
PD4 ------> FMC_NOE
|
PD4 ------> FMC_NOE
|
||||||
PD5 ------> FMC_NWE
|
PD5 ------> FMC_NWE
|
||||||
PD7 ------> FMC_NE1
|
PD7 ------> FMC_NE1
|
||||||
|
PE0 ------> FMC_NBL0
|
||||||
|
PE1 ------> FMC_NBL1
|
||||||
*/
|
*/
|
||||||
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6
|
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6
|
||||||
|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
|
|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
|
||||||
|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
|
|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
|
||||||
|GPIO_PIN_15);
|
|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
|
||||||
|
|
||||||
HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
|
HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
|
||||||
|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_12|GPIO_PIN_13
|
|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_12|GPIO_PIN_13
|
||||||
|
|||||||
70463
Debug/yau-07b.list
70463
Debug/yau-07b.list
File diff suppressed because it is too large
Load Diff
16
yau-07b.ioc
16
yau-07b.ioc
@@ -1,7 +1,7 @@
|
|||||||
#MicroXplorer Configuration settings - do not modify
|
#MicroXplorer Configuration settings - do not modify
|
||||||
ETH.IPParameters=MediaInterface
|
ETH.IPParameters=MediaInterface
|
||||||
ETH.MediaInterface=HAL_ETH_RMII_MODE
|
ETH.MediaInterface=HAL_ETH_RMII_MODE
|
||||||
FMC.ExtendedMode1=FMC_EXTENDED_MODE_ENABLE
|
FMC.ExtendedMode1=FMC_EXTENDED_MODE_DISABLE
|
||||||
FMC.IPParameters=WriteOperation1,ExtendedMode1
|
FMC.IPParameters=WriteOperation1,ExtendedMode1
|
||||||
FMC.WriteOperation1=FMC_WRITE_OPERATION_ENABLE
|
FMC.WriteOperation1=FMC_WRITE_OPERATION_ENABLE
|
||||||
File.Version=6
|
File.Version=6
|
||||||
@@ -83,13 +83,15 @@ Mcu.Pin50=PD4
|
|||||||
Mcu.Pin51=PD5
|
Mcu.Pin51=PD5
|
||||||
Mcu.Pin52=PD7
|
Mcu.Pin52=PD7
|
||||||
Mcu.Pin53=PG14
|
Mcu.Pin53=PG14
|
||||||
Mcu.Pin54=VP_LWIP_VS_Enabled
|
Mcu.Pin54=PE0
|
||||||
Mcu.Pin55=VP_SYS_VS_Systick
|
Mcu.Pin55=PE1
|
||||||
|
Mcu.Pin56=VP_LWIP_VS_Enabled
|
||||||
|
Mcu.Pin57=VP_SYS_VS_Systick
|
||||||
Mcu.Pin6=PF1
|
Mcu.Pin6=PF1
|
||||||
Mcu.Pin7=PF2
|
Mcu.Pin7=PF2
|
||||||
Mcu.Pin8=PF3
|
Mcu.Pin8=PF3
|
||||||
Mcu.Pin9=PF4
|
Mcu.Pin9=PF4
|
||||||
Mcu.PinsNb=56
|
Mcu.PinsNb=58
|
||||||
Mcu.ThirdPartyNb=0
|
Mcu.ThirdPartyNb=0
|
||||||
Mcu.UserConstants=
|
Mcu.UserConstants=
|
||||||
Mcu.UserName=STM32F429ZITx
|
Mcu.UserName=STM32F429ZITx
|
||||||
@@ -142,6 +144,8 @@ PD7.Mode=NorPsramChipSelect1_1
|
|||||||
PD7.Signal=FMC_NE1
|
PD7.Signal=FMC_NE1
|
||||||
PD8.Signal=FMC_D13_DA13
|
PD8.Signal=FMC_D13_DA13
|
||||||
PD9.Signal=FMC_D14_DA14
|
PD9.Signal=FMC_D14_DA14
|
||||||
|
PE0.Signal=FMC_NBL0
|
||||||
|
PE1.Signal=FMC_NBL1
|
||||||
PE10.Signal=FMC_D7_DA7
|
PE10.Signal=FMC_D7_DA7
|
||||||
PE11.Signal=FMC_D8_DA8
|
PE11.Signal=FMC_D8_DA8
|
||||||
PE12.Signal=FMC_D9_DA9
|
PE12.Signal=FMC_D9_DA9
|
||||||
@@ -320,6 +324,10 @@ SH.FMC_D8_DA8.0=FMC_D8,16b-d1
|
|||||||
SH.FMC_D8_DA8.ConfNb=1
|
SH.FMC_D8_DA8.ConfNb=1
|
||||||
SH.FMC_D9_DA9.0=FMC_D9,16b-d1
|
SH.FMC_D9_DA9.0=FMC_D9,16b-d1
|
||||||
SH.FMC_D9_DA9.ConfNb=1
|
SH.FMC_D9_DA9.ConfNb=1
|
||||||
|
SH.FMC_NBL0.0=FMC_NBL0,2ByteEnable1
|
||||||
|
SH.FMC_NBL0.ConfNb=1
|
||||||
|
SH.FMC_NBL1.0=FMC_NBL1,2ByteEnable1
|
||||||
|
SH.FMC_NBL1.ConfNb=1
|
||||||
SH.FMC_NOE.0=FMC_NOE,Sram1
|
SH.FMC_NOE.0=FMC_NOE,Sram1
|
||||||
SH.FMC_NOE.ConfNb=1
|
SH.FMC_NOE.ConfNb=1
|
||||||
SH.FMC_NWE.0=FMC_NWE,Sram1
|
SH.FMC_NWE.0=FMC_NWE,Sram1
|
||||||
|
|||||||
Reference in New Issue
Block a user