标题:
STM32F4移植FreeRTOS及FreeRTOSTCPIP工程源码
[打印本页]
作者:
hange_v
时间:
2020-5-7 17:21
标题:
STM32F4移植FreeRTOS及FreeRTOSTCPIP工程源码
Keil MDK下的STM32F407移植FreeRTOS及FreeRTOSTCPIP,不是lwip,是FreeRTOS自己的TCPIP协议栈。其他单片机可供参考。
单片机源程序如下:
#include "stm32f4xx.h"
#include "public.h"
#include "mQueue.h"
#include "FreeRTOS.h"
#include "task.h"
#include "FreeRTOS_IP.h"
#include "LAN8720.h"
extern ETH_DMADESCTypeDef DMARxDscrTab[ETH_RXBUFNB]; //stm32f4x7_eth.c
extern ETH_DMADESCTypeDef DMATxDscrTab[ETH_TXBUFNB];
extern uint8_t Rx_Buff[ETH_RX_BUF_SIZE * ETH_RXBUFNB];
extern uint8_t Tx_Buff[ETH_TX_BUF_SIZE * ETH_TXBUFNB];
extern NetworkParm networkParm; //LAN8720.c
int main(void)
{
delay_ms(100);
mNVIC_config();
mIWDG_config(6, 625); //4s看门狗
mUSART1_config(921600); //打印使用
mPrintf("start...\r\n");
mRNG_Init(); //初始化随机数
LAN8720_Init(); //初始化LAN8720
ETH_MACDMA_Config(); //配置STM32以太网控制器
ETH_MACAddressConfig(ETH_MAC_Address0, networkParm.mac); //向STM32F4的MAC地址寄存器中写入MAC地址
ETH_DMATxDescChainInit(DMATxDscrTab, Tx_Buff, ETH_TXBUFNB);
ETH_DMARxDescChainInit(DMARxDscrTab, Rx_Buff, ETH_RXBUFNB);
for(u8 i = 0; i < ETH_TXBUFNB; i++) //使能ipv4发送帧校验和生成
{
/* FreeRTOSTCPIP只支持硬件生成ipv4校验和,不支持TCP/UDP/ICMP校验和 */
ETH_DMATxDescChecksumInsertionConfig(&DMATxDscrTab[i], ETH_DMATxDesc_ChecksumIPV4Header);
}
ETH_Start(); //开启MAC和DMA
hange_vUSE_DHCP = networkParm.dhcp; /* 见hange_vUSE_DHCP定义 */
FreeRTOS_IPInit(networkParm.ip,
networkParm.sub,
networkParm.gw,
networkParm.domainS1,
networkParm.mac);
xTaskCreate(ethCardRxTask,
"ethCardRxTask",
ethCardRxStackSize,
(void* )NULL,
ethCardRxPrio,
ðCardRxHandler);
vTaskStartScheduler(); //启动任务调度
while(1) //真执行这里也就崩了
{
taskENTER_CRITICAL(); //进临界状态,关闭所有中断
mPrintf("OS没启动或崩了\r\n");
STM32_SYSTEM_RESET;
}
// return 0;
}
复制代码
所有程序51hei提供下载:
STM32F407-FreeRTOS TCPIP.7z
(697.48 KB, 下载次数: 80)
2020-5-7 17:39 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
LI-GONG-004
时间:
2022-10-29 08:18
老大,FREERTOS也有自己的IP栈啊? 我只知道LWIP和
UCOS 的IP栈
作者:
hange_v
时间:
2022-10-29 20:55
LI-GONG-004 发表于 2022-10-29 08:18
老大,FREERTOS也有自己的IP栈啊? 我只知道LWIP和 UCOS 的IP栈
当然了,2016年出的,亚马逊出品,绝对好用
作者:
yanrz
时间:
2023-10-30 09:45
不错,应该可以用来做串口服务器,有时间的话,我下载下来看看!谢谢!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1