虽然 W806 和 W800/W801 的内部结构几乎相同 (虽说 W806 和 W800/W800 少了 wifi 和蓝牙, 但经网友实际的测试, W806 还是有配备有 wifi 和蓝牙核) , 而唯一称得上差别的就是 W806 Flash 为 1M 而 W800/W801 为 2M; 因此, W800/W800 SDK 编译的程序, 需要做简单的修改, 方能在 W806 上运行;
按大佬指导, 按文档http: //ask. winnermicro. com/question/131. html 的说明修改 还是有问题, 经过琢磨测试, 终于更改成功, 记录如下:
修改方法如下
1. 修改 ld/w800/gcc_csky. ld
I-SRAM : ORIGIN = 0x080D040D 改为 0x08010400, 长度 LENGTH 相应改为 0xE0000
不再保留 OTA 分区, 否则, W800 编译后的固件需要的空间可能不够 , 更改后, 固件占用空间为 0x08010400~0xF0400
此更改是和上文最大的区别;
2. CDK 编译, 修改. /tools/w800/utilities/aft build project. sh
run_img header=8010000
run img_pos=8010400
3. 修改. /include/driver/wm flash_map. h
CODE RUN START ADDR 改为 0x8010000UL, 测试此处没有修改也可以正常运行, 这几个常数应该是 OTA 使用, 但我们已经取消了 OTA 功能
4. 修改. /platform/drivers/internalflash/wm internal fls. c
TLS FLASH * 等 6 个宏定义, 0x81F 全部改为 0x80F
thanks.
are you able to provide a link to where this was discovered?
"actual testing by netizens shows that W806 is still equipped with Wi-Fi and Bluetooth cores"
and what does it mean if the flasher is erroring with fail! Error code: "NAK" after trying to flash a binary compiled using a modified W800 SDK onto a W806?