在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → STM32F407+UCOSIII+LWIP 完美移植

STM32F407+UCOSIII+LWIP 完美移植

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.38M
  • 下载次数:24
  • 浏览次数:566
  • 发布时间:2021-11-06
  • 实例类别:一般编程问题
  • 发 布 人:js2021
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
1. 关于使用外设库和芯片选择 需定义USE_STDPERIPH_DRIVER和STM32F40_41xxx 具体在stm32f4xx.h定义或者Target Options里配置 2. 关于时钟配置 本工程外部晶振使用8M 因此需要修改外部晶振以及PLL相关的宏定义 stm32f4xx.h里配置 #define HSE_VALUE ((uint32_t)8000000) system_stm32f4xx.c里配置 #define PLL_M 8 3. 移植UCOSIII 第一步, 添加ucosiii文件 添加cpu,lib,core,port: Micrium_STM3240G-EVAL_OS3\Micrium\Software 添加ucos_config: Micrium_STM3240G-EVAL_OS3\Micrium\Examples\ST\STM3240G-EVAL\OS3 最后添加os_cpu_bsp.c和os_cpu_bsp.h,自己修改的,实现了SYSTick以及TMR的相关接口,这样可以免除添加官方bsp那些乱七八糟的东西 第二步, 修改部分文件 startup_stm32f40xx.s 如果需要增加FPU的支持,则还要对port里的三个文件进行修改 os_cpu.h os_cpu_c.c os_cpu_a.asm 3. 移植lwip,有RTOS,在无RTOS的版本上作修改 最主要就是sys_arch里实现邮箱,信号量,任务等接口 LwIP_Init里要修改: tcpip_init( NULL, NULL ); netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input); lwipopts.h修改相应参数 最后创建NET接收任务和NET应用任务
【实例截图】
【核心代码】
16359647265140882944.zip
└── f407_ucos3_lwip_os
├── Clean.bat
├── MDK
│   ├── Project.uvopt
│   └── Project.uvproj
├── Output
│   └── Listing
└── Source
├── CMSIS
│   ├── startup_stm32f40xx.s
│   ├── stm32f4xx.h
│   ├── system_stm32f4xx.c
│   └── system_stm32f4xx.h
├── ETH
│   ├── DM8603.H
│   ├── eth_driver.c
│   ├── eth_driver.h
│   ├── stm32f4x7_eth_conf.h
│   ├── stm32f4x7_eth.h
│   └── user_stm32f4x7_eth.c
├── FWlib
│   ├── inc
│   │   ├── misc.h
│   │   ├── stm32f4xx_adc.h
│   │   ├── stm32f4xx_can.h
│   │   ├── stm32f4xx_cec.h
│   │   ├── stm32f4xx_crc.h
│   │   ├── stm32f4xx_cryp.h
│   │   ├── stm32f4xx_dac.h
│   │   ├── stm32f4xx_dbgmcu.h
│   │   ├── stm32f4xx_dcmi.h
│   │   ├── stm32f4xx_dfsdm.h
│   │   ├── stm32f4xx_dma2d.h
│   │   ├── stm32f4xx_dma.h
│   │   ├── stm32f4xx_dsi.h
│   │   ├── stm32f4xx_exti.h
│   │   ├── stm32f4xx_flash.h
│   │   ├── stm32f4xx_flash_ramfunc.h
│   │   ├── stm32f4xx_fmc.h
│   │   ├── stm32f4xx_fmpi2c.h
│   │   ├── stm32f4xx_fsmc.h
│   │   ├── stm32f4xx_gpio.h
│   │   ├── stm32f4xx_hash.h
│   │   ├── stm32f4xx_i2c.h
│   │   ├── stm32f4xx_iwdg.h
│   │   ├── stm32f4xx_lptim.h
│   │   ├── stm32f4xx_ltdc.h
│   │   ├── stm32f4xx_pwr.h
│   │   ├── stm32f4xx_qspi.h
│   │   ├── stm32f4xx_rcc.h
│   │   ├── stm32f4xx_rng.h
│   │   ├── stm32f4xx_rtc.h
│   │   ├── stm32f4xx_sai.h
│   │   ├── stm32f4xx_sdio.h
│   │   ├── stm32f4xx_spdifrx.h
│   │   ├── stm32f4xx_spi.h
│   │   ├── stm32f4xx_syscfg.h
│   │   ├── stm32f4xx_tim.h
│   │   ├── stm32f4xx_usart.h
│   │   └── stm32f4xx_wwdg.h
│   └── src
│   ├── misc.c
│   ├── stm32f4xx_adc.c
│   ├── stm32f4xx_can.c
│   ├── stm32f4xx_cec.c
│   ├── stm32f4xx_crc.c
│   ├── stm32f4xx_cryp_aes.c
│   ├── stm32f4xx_cryp.c
│   ├── stm32f4xx_cryp_des.c
│   ├── stm32f4xx_cryp_tdes.c
│   ├── stm32f4xx_dac.c
│   ├── stm32f4xx_dbgmcu.c
│   ├── stm32f4xx_dcmi.c
│   ├── stm32f4xx_dfsdm.c
│   ├── stm32f4xx_dma2d.c
│   ├── stm32f4xx_dma.c
│   ├── stm32f4xx_dsi.c
│   ├── stm32f4xx_exti.c
│   ├── stm32f4xx_flash.c
│   ├── stm32f4xx_flash_ramfunc.c
│   ├── stm32f4xx_fmc.c
│   ├── stm32f4xx_fmpi2c.c
│   ├── stm32f4xx_fsmc.c
│   ├── stm32f4xx_gpio.c
│   ├── stm32f4xx_hash.c
│   ├── stm32f4xx_hash_md5.c
│   ├── stm32f4xx_hash_sha1.c
│   ├── stm32f4xx_i2c.c
│   ├── stm32f4xx_iwdg.c
│   ├── stm32f4xx_lptim.c
│   ├── stm32f4xx_ltdc.c
│   ├── stm32f4xx_pwr.c
│   ├── stm32f4xx_qspi.c
│   ├── stm32f4xx_rcc.c
│   ├── stm32f4xx_rng.c
│   ├── stm32f4xx_rtc.c
│   ├── stm32f4xx_sai.c
│   ├── stm32f4xx_sdio.c
│   ├── stm32f4xx_spdifrx.c
│   ├── stm32f4xx_spi.c
│   ├── stm32f4xx_syscfg.c
│   ├── stm32f4xx_tim.c
│   ├── stm32f4xx_usart.c
│   └── stm32f4xx_wwdg.c
├── led.c
├── led.h
├── LwIP
│   ├── port
│   │   ├── arch
│   │   │   ├── bpstruct.h
│   │   │   ├── cc.h
│   │   │   ├── cpu.h
│   │   │   ├── epstruct.h
│   │   │   ├── init.h
│   │   │   ├── lib.h
│   │   │   ├── perf.h
│   │   │   └── sys_arch.h
│   │   ├── Standalone
│   │   │   ├── ethernetif.c
│   │   │   └── ethernetif.h
│   │   └── sys_arch_ucos3.c
│   └── src
│   ├── api
│   │   ├── api_lib.c
│   │   ├── api_msg.c
│   │   ├── err.c
│   │   ├── netbuf.c
│   │   ├── netdb.c
│   │   ├── netifapi.c
│   │   ├── sockets.c
│   │   └── tcpip.c
│   ├── core
│   │   ├── def.c
│   │   ├── dhcp.c
│   │   ├── dns.c
│   │   ├── init.c
│   │   ├── ipv4
│   │   │   ├── autoip.c
│   │   │   ├── icmp.c
│   │   │   ├── igmp.c
│   │   │   ├── inet.c
│   │   │   ├── inet_chksum.c
│   │   │   ├── ip_addr.c
│   │   │   ├── ip.c
│   │   │   └── ip_frag.c
│   │   ├── ipv6
│   │   │   ├── icmp6.c
│   │   │   ├── inet6.c
│   │   │   ├── ip6_addr.c
│   │   │   ├── ip6.c
│   │   │   └── README
│   │   ├── mem.c
│   │   ├── memp.c
│   │   ├── netif.c
│   │   ├── pbuf.c
│   │   ├── raw.c
│   │   ├── snmp
│   │   │   ├── asn1_dec.c
│   │   │   ├── asn1_enc.c
│   │   │   ├── mib2.c
│   │   │   ├── mib_structs.c
│   │   │   ├── msg_in.c
│   │   │   └── msg_out.c
│   │   ├── stats.c
│   │   ├── sys.c
│   │   ├── tcp.c
│   │   ├── tcp_in.c
│   │   ├── tcp_out.c
│   │   ├── timers.c
│   │   └── udp.c
│   ├── FILES
│   ├── include
│   │   ├── ipv4
│   │   │   └── lwip
│   │   │   ├── autoip.h
│   │   │   ├── icmp.h
│   │   │   ├── igmp.h
│   │   │   ├── inet_chksum.h
│   │   │   ├── inet.h
│   │   │   ├── ip_addr.h
│   │   │   ├── ip_frag.h
│   │   │   └── ip.h
│   │   ├── ipv6
│   │   │   └── lwip
│   │   │   ├── icmp.h
│   │   │   ├── inet.h
│   │   │   ├── ip_addr.h
│   │   │   └── ip.h
│   │   ├── lwip
│   │   │   ├── api.h
│   │   │   ├── api_msg.h
│   │   │   ├── arch.h
│   │   │   ├── debug.h
│   │   │   ├── def.h
│   │   │   ├── dhcp.h
│   │   │   ├── dns.h
│   │   │   ├── err.h
│   │   │   ├── init.h
│   │   │   ├── mem.h
│   │   │   ├── memp.h
│   │   │   ├── memp_std.h
│   │   │   ├── netbuf.h
│   │   │   ├── netdb.h
│   │   │   ├── netifapi.h
│   │   │   ├── netif.h
│   │   │   ├── opt.h
│   │   │   ├── pbuf.h
│   │   │   ├── raw.h
│   │   │   ├── sio.h
│   │   │   ├── snmp_asn1.h
│   │   │   ├── snmp.h
│   │   │   ├── snmp_msg.h
│   │   │   ├── snmp_structs.h
│   │   │   ├── sockets.h
│   │   │   ├── stats.h
│   │   │   ├── sys.h
│   │   │   ├── tcp.h
│   │   │   ├── tcp_impl.h
│   │   │   ├── tcpip.h
│   │   │   ├── timers.h
│   │   │   └── udp.h
│   │   ├── netif
│   │   │   ├── etharp.h
│   │   │   ├── ppp_oe.h
│   │   │   └── slipif.h
│   │   └── posix
│   │   ├── netdb.h
│   │   └── sys
│   │   └── socket.h
│   └── netif
│   ├── etharp.c
│   ├── ethernetif.c
│   ├── FILES
│   ├── ppp
│   │   ├── auth.c
│   │   ├── auth.h
│   │   ├── chap.c
│   │   ├── chap.h
│   │   ├── chpms.c
│   │   ├── chpms.h
│   │   ├── fsm.c
│   │   ├── fsm.h
│   │   ├── ipcp.c
│   │   ├── ipcp.h
│   │   ├── lcp.c
│   │   ├── lcp.h
│   │   ├── magic.c
│   │   ├── magic.h
│   │   ├── md5.c
│   │   ├── md5.h
│   │   ├── pap.c
│   │   ├── pap.h
│   │   ├── ppp.c
│   │   ├── pppdebug.h
│   │   ├── ppp.h
│   │   ├── ppp_impl.h
│   │   ├── ppp_oe.c
│   │   ├── randm.c
│   │   ├── randm.h
│   │   ├── vj.c
│   │   └── vj.h
│   └── slipif.c
├── main.c
├── NET
│   ├── lwipopts.h
│   ├── netconf.c
│   ├── netconf.h
│   ├── net_config.h
│   ├── tcpecho.c
│   └── udpecho.c
├── readme.txt
├── stm32f4xx_conf.h
├── stm32f4xx_it.c
├── stm32f4xx_it.h
└── UCOSIII
├── bsp
│   ├── os_cpu_bsp.c
│   └── os_cpu_bsp.h
├── config
│   ├── app_cfg.h
│   ├── cpu_cfg.h
│   ├── lib_cfg.h
│   ├── os_app_hooks.c
│   ├── os_app_hooks.h
│   ├── os_cfg_app.h
│   └── os_cfg.h
├── uC-CPU
│   ├── cpu_a.asm
│   ├── cpu_c.c
│   ├── cpu_core.c
│   ├── cpu_core.h
│   ├── cpu_def.h
│   └── cpu.h
├── uC-LIB
│   ├── lib_ascii.c
│   ├── lib_ascii.h
│   ├── lib_def.h
│   ├── lib_math.c
│   ├── lib_math.h
│   ├── lib_mem_a.asm
│   ├── lib_mem.c
│   ├── lib_mem.h
│   ├── lib_str.c
│   └── lib_str.h
└── uCOS-III
├── Ports
│   ├── os_cpu_a.asm
│   ├── os_cpu_a_.asm
│   ├── os_cpu_c.c
│   ├── os_cpu_c_.c
│   ├── os_cpu.h
│   └── os_cpu_.h
└── Source
├── os_cfg_app.c
├── os_core.c
├── os_dbg.c
├── os_flag.c
├── os.h
├── os_int.c
├── os_mem.c
├── os_msg.c
├── os_mutex.c
├── os_pend_multi.c
├── os_prio.c
├── os_q.c
├── os_sem.c
├── os_stat.c
├── os_task.c
├── os_tick.c
├── os_time.c
├── os_tmr.c
├── os_type.h
└── os_var.c

40 directories, 293 files

标签:

实例下载地址

STM32F407+UCOSIII+LWIP 完美移植

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警