[Kinetis] FRDM-K64F + uC/OS-III + μC/TCP-IP + uC/HTTP + uC/DHCP测试

[复制链接]
 楼主| ideafor 发表于 2016-1-25 21:12 | 显示全部楼层 |阅读模式
利用IAR打开工程文件,并编译下载到开发板中,下载成功后,RGB指示灯将快速闪烁,频率为100ms。
工程路径:
$\Micrium\Examples\Freescale\FRDM-K64F\OS3-TCPIP-HTTPs-DHCPc-KSDK\IAR-No-Source\OS3-TCPIP-HTTPs-DHCPc-KSDK-No-Source.eww

指示灯频率修改代码app.c
    while (DEF_TRUE) {                                          /* Task body, always written as an infinite loop.       */
        GPIO_DRV_TogglePinOutput(BOARD_GPIO_LED_GREEN);
        OSTimeDlyHMSM(0u, 0u, 0u, 100u,
                      OS_OPT_TIME_HMSM_STRICT,
                      &os_err);
    }



默认工程配置,tcp、http、dhcp全部使能。
  1. app_cfg.h
  2. /*
  3. *********************************************************************************************************
  4. *                                       ADDITIONAL uC/MODULE ENABLES
  5. *********************************************************************************************************
  6. */

  7. #define  APP_CFG_TCPIP_EN                              DEF_ENABLED
  8. #define  APP_CFG_HTTP_S_EN                           DEF_ENABLED
  9. #define  APP_CFG_DHCP_C_EN                          DEF_ENABLED

 楼主| ideafor 发表于 2016-1-25 21:12 | 显示全部楼层
4,组网配置

K64和调试PC均接入上层路由器


5,DHCP测试步骤
  • 编译默认的demo工程,无需修改任何地方(指示灯闪烁频率除外),下载。
  • 打开串口Jlink-CDC uart,波特率默认:115200

 楼主| ideafor 发表于 2016-1-25 21:13 | 显示全部楼层




  • 观察串口输出信息,K64F将自动获取上层路由器分配的IP地址,我的IP地址段位192.168.10.XXX。

       如下图所示: 自动获取的IP地址为192.168.10.140



  • 打开PC端的cmd
      ipconfig查询到调试PC的IP地址为:192.168.10.132,与K64F获取的地址192.168.10.140在同一网段。
      ping 192.168.10.140




  • 打开网页,访问web服务器地址: 192.168.10.140




 楼主| ideafor 发表于 2016-1-25 21:15 | 显示全部楼层
6,固定IP测试步骤

  • 修改代码
app_cfg.h
  1. /*
  2. *********************************************************************************************************
  3. *                                       ADDITIONAL uC/MODULE ENABLES
  4. *********************************************************************************************************
  5. */

  6. #define  APP_CFG_TCPIP_EN                           DEF_ENABLED
  7. #define  APP_CFG_HTTP_S_EN                          DEF_ENABLED
  8. #define  APP_CFG_DHCP_C_EN                          DEF_DISABLED






app_tcpip.c中的IP地址项:
  1. #if  APP_CFG_DHCP_C_EN == DEF_ENABLED
  2.     started = AppDHCPc_Init(if_nbr_ether);

  3.     if (started != DEF_YES) {
  4.         APP_TRACE_INFO(("App_DHCPc_Init() returned an error, uC/DHCPc is not started"));
  5.         return (DEF_FAIL);
  6.     }
  7. #else

  8.     ip      = NetASCII_Str_to_IPv4((CPU_CHAR *)"192.168.10.240",   &net_err);
  9.     msk     = NetASCII_Str_to_IPv4((CPU_CHAR *)"255.255.255.0", &net_err);
  10.     gateway = NetASCII_Str_to_IPv4((CPU_CHAR *)"192.168.10.1",     &net_err);

  11.     (void)NetIPv4_CfgAddrAdd( if_nbr_ether,
  12.                               ip,
  13.                               msk,
  14.                               gateway,
  15.                              &net_err);
  16.     if (net_err != NET_IPv4_ERR_NONE) {
  17.         APP_TRACE_INFO(("NetIPv4_CfgAddrAdd() failed w/err = %d \r\n", net_err));
  18.         return (DEF_FAIL);



 楼主| ideafor 发表于 2016-1-25 21:15 | 显示全部楼层




  • 重新编译下载

  • 串口观察k64启动信息



  • ping 192.168.10.240



  • 访问WEB服务器地址:192.168.10.240




如需在该demo工程上进行产品开发,一定要熟悉uC/OS-III的操作系统原理和API接口,只有掌握了该RTOS的工作原理,设计应用层时对多任务和中断等特性才能灵活运用,加速项目的开发时间。
月光疾風 发表于 2016-1-26 22:47 | 显示全部楼层
这个好强大!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

149

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部