1, 买来的 W806 芯片已经焊到自己板子上, 又买了开发板 2 个. 自己的代码放开发板能闪灯, 放到自己的板子上不能自启动, 用下载器 DEBUG 模式可以正确运行.
2, 自己板芯片和开发板芯片互换, 自己的板子就可以正常运行, 所有都正常, 开发板能下载但不能自己运行, 用下载器下载后 DEBUG 模式可以运行. 也即问题现象也互换了;
3, 自己的板+开发板的芯片, 还遇到奇怪的问题, 我代码里面有 2 个函数比较大, 名字 fa 和 fb, 这两个是连续执行的, 也即 fa 执行完执行 fb, 或者 fb 执行完执行 fa, 执行结果与先后顺序无关. 当 fa, fb 都要时, 板子不能自启动, 但是下载器 DEBUG 模式可以正常运行; 当只要 fa (也即注释掉 fb) , 或者 fb 任意一个时, 板子能自启动并且正常运行. (怀疑是哪个 ld 配置没弄对, 用的默认配置文件, 求教在哪里修改. 两类情况下的编译文件数据下图)
就目前对比测试结果来看, 自己买的芯片无疑是有问题, 不用怀疑焊接.
这就让人有点害怕了, 但是不知道究竟是什么情况, 对比了自己买的芯片.
{{QQ 图片 2. png (uploading. . . ) }}
不能运行指的是什么意思, 建议通过串口 0 下载 fls 格式的固件试试. cklink 下载的固件不包含 secboot, 如果芯片空片, 没有通过串口烧录过 fls 固件, 这时仅通过 cklink 烧录固件, 是运行不起来的.