ZYQ
ZYQ
我已不再支持 W80X 任何相关问题的回复, 请大家不要私信, 有问题找 isme 谢谢

注册于 2 年前

回答
172
文章
8
关注者
11

有可能卡在初始化了哦, W800 上有些功能 W806 是没有呢

Server 警告
WARNING: Address 0x08011c28 can't be written when insert soft-bkpt.
这个只是告诉你不能下软断点, 因为断点分为两种一种是硬断点, 一种是软断点, 软断点一般针对程序所有部分均在 RAM 中, 但是 W800 系列的固件太大 RAM 不能够存储的下, 因此会将程序的部分放在 FLASH 中, 故此时不能下载软断点, 你应该改成硬断点就不会出现这个警告情况了.

另外关于去除 TRST 使能可以仿真的话, 我猜测有可能 W806 复位重启之后所需电流比较大, 导致 Cklink 不能正常工作

设置固定 IP 的话, 把 DHCP 关闭, 之后手动写上将要设置的 IP 地址即可, 以官方 demo 为例 在函数 demo_connect_net 中 , 修改如下

    ip_param = tls_mem_alloc (sizeof (struct tls_param_ip) ) ; 
    if  (ip_param) 
    {
        ip4_addr_t loop_ipaddr,  loop_netmask,  loop_gw; 
        tls_param_get (TLS_PARAM_ID_IP,  ip_param,  FALSE) ; 
        ip_param-" dhcp_enable = FALSE; 
        IP4_ADDR (&loop_gw,  192, 168, 0, 1) ; 
        IP4_ADDR (&loop_ipaddr,  192, 168, 0, 116) ; 
        IP4_ADDR (&loop_netmask,  255, 255, 255, 0) ; 

        memcpy (ip_param-" ip ,  &loop_ipaddr , sizeof (loop_ipaddr) ) ; 
        memcpy (ip_param-" netmask ,  &loop_netmask , sizeof (loop_netmask) ) ; 
        memcpy (ip_param-" gateway ,  &loop_gw , sizeof (loop_gw) ) ; 
        tls_param_set (TLS_PARAM_ID_IP,  ip_param,  FALSE) ; 
        tls_mem_free (ip_param) ; 
    }

image. png
这样的话 再次连接路由的话 就是你设定的 IP 地址了

你把错误信息截图发出来, 我帮你看下另外确认你的工程没有问题

我从你这看出 你的第二个参数传错了, 第二个参数是传入的应该是个指针

你可以研究下 tools/w800 目录下的 wm_tool. c 文件, 这个就是 fls 文件生成的流程

工程文件在 WM_SDK_W806toolsW806projectsSDK_ProjectprojectCDK_WS

你这个问题感觉问的不明白啊, 你自己写代码的时候, printf 前后用 自己定义的宏控制一下不就好了, 例如这样

#ifdef  DEBUG_PRINT
    printf ("demo test \r\n") ; 
#endif

或者找到 libc_port. c 找到里面的 fputc 函数, 把里面的发送字符函数屏蔽了这都是可以的

int fputc (int ch,  FILE *stream) 
{
     (void) stream; 
#if USE_UART0_PRINT
    sendchar (ch) ; 
#else
    sendchar1 (ch) ; 
#endif

    return 0; 
}

发布
问题