联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明
目录
- 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
- 联盛德 HLK-W806 (三): 免按键自动下载和复位
- 联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD
- 联盛德 HLK-W806 (五): W801开发板上手报告
介绍
W806是32位MCU, 1MB flash, 288K内存, 是W800去掉无线部分的版本, 这个芯片背后是T-HEAD 800 系列. 这个月HLK还会上架带无线部分的版本, 型号是W801.
T-HEAD 500, 600 和 800 系列都是基于 CSKY 架构, 其中 T-HEAD 500 和 600 系列基于 CSKY V1, T-HEAD 800 系列基于 CSKY V2. T-HEAD 800 系列的 ABI 是 CSKY ABI V2.
关于W806
题外话, 顺便了解一下. 2006年初的汉芯事件, 其中一个关键人物是这个项目的评审专家组组长严晓浪, 严是中天微的创始人, 而W806呢, 其实就是中天微的XT804内核给联盛德贴牌的产品.
当时这个圈子, 基本上都是从moto-freescale一脉相承, 汉芯虽然是用dsp56800打磨, 但是确实弄到了dsp56800的源代码, 中天微的自定义指令集CSKY v1, v2, 也是moto-freescale m-core的一个分支. 杭州中天微系统有限公司2001年成立, 主要领域是嵌入式CPU和自定义指令集, 前面两代CSKY v1,v2是兼容m-core(moto rce)的定制化指令集, 2015年前后开始与阿里合作, 2018年4月正式被阿里收购, 改名叫平头哥, 同年年底发布的v3转向了开源的risc-v. 联盛德是2017年前后开始参乎进来的, 成为阿里iot伙伴之后也就顺理成章的在中天微的芯片基础上发布产品, 2018年发布了W600系列, 2019年发布了W800系列.
中天微的产品系列是CK61x, CK80x, CK81x系列, CK90x系列, 其中
- CK61x 属于CSKY v1, 发布时间不详, 和T-HEAD 500,600 是同一个系列
- CK80x, CK81x 属于CSKY v2, 2011年前后发布, 和T-HEAD 800是同一个系列.
- CK90x 属于risc-v, 2018年9月发布, 之后发布的新品, 指令集都是基于risc-v
关于CSKY架构
CSKY架构在2018年底被合并入Kernel. 关于这个架构, Bergmann的评论:
In commenting on C-SKY, Arnd Bergmann commented that C-SKY might end up being the last new CPU architecture added to the kernel... He rightfully points out that most vendors now not part of the ARM/x86/POWER bandwagon are pursuing RISC-V based designs, which is already part of the mainline kernel. For low-power devices ARM and RISC-V are likely the future and with those architectures there isn't much of an advantage for hardware vendors to pursue their own architectures from scratch. On the high performance computing front, nothing is expected to unseat x86_64 and POWER anytime soon... If any new CPU targets are added to the Linux kernel in the coming years, it's likely to be some virtual target. One more general comment: I think this may well be the last new CPU architecture we ever add to the kernel. Both nds32 and c-sky are made by companies that also work on risc-v, and generally speaking risc-v seems to be killing off any of the minor licensable instruction set projects, just like ARM has mostly killed off the custom vendor-specific instruction sets already. If we add another architecture in the future, it may instead be something like the LLVM bitcode or WebAssembly, who knows?
另一个评论:
While there isn't anything preventing new architectures from being introduced, the general trend is that fewer and fewer architectures are being developed. x86, ARM, and now RISC-V are fulfilling more and more use cases. It's much cheaper to tweak an existing processor or platform than to invent your own from nothing. With RISC-V, this becomes even more the case since there are no royalties involved. MIPS also went open source recently, which is popular in routers and embedded devices. AFAIK, C-SKY doesn't exist for technical reasons, it only exists because the Chinese wanted their own architecture.
HLK-W806 开发板
这个板子在淘宝上的实际售价差不多在8 RMB, 加上一些商家优惠, 可以真正做到低于0.99 USD, 这个价格的32位MCU, 性价比完胜STC的那些8位MCU了.
正面

背面

参数
- MCU – WinnerMicro W806 32-bit XT804 MCU
- 240 MHz
- 1MB Flash
- 288KB RAM
- FPU, DSP, crtypto engine
- 2x24排针
- 1x SDIO host with support for SDIO 2.0, SDHC, MMC 4.2
- 1x SDIO device up to 200 Mbps
- Up to 6x UART, 1x I2C
- 1x SPI slave up to 50 MHz, 1x master/slave SPI
- LCD controller with support for 4×32 interface
- 1x I2S
- Up to 4x ADC (16-bit, 1KHz sampling rate)
- Up to 44x GPIOs, 5x PWM, PWM最高到160KHz, 分辨率比较低只有8bit
- Up to 15 touch sensors
- ISO/IEC 7816 smart card interface
- Reset, Wakeup, 3.3V, and GND signals
- Debugging – CH340 via micro USB port
- Misc – Reset and Boot buttons
- Power Supply – 5V via micro USB port
- 尺寸65 x 26 mm
使用
下载
- https://occ.t-head.cn/community/download 下载编译工具
- 导航->工具->工具链-800系列->(当前是V3.10.29)
- 根据自己的操作系统, 下载对应版本, 对于Ubuntu20.04, 下载 csky-elfabiv2-tools-x86_64-minilibc-yyyymmdd.tar
- 如果上面的链接有问题或者无法注册, 可以通过百度盘下载 https://pan.baidu.com/s/1Mp-oHNM3k4Hb8vEybv8pZg code:vw42
安装
上面下载的tar.gz文件外层路径用的是./目录, 建议放到一个单独的目录中解压, 或者指定解压目录解压目录, 参考命令如下
mkdir csky-elfabiv2-tools-x86_64-minilibc-20210423
tar xvf csky-elfabiv2-tools-x86_64-minilibc-20210423.tar.gz -C csky-elfabiv2-tools-x86_64-minilibc-20210423/
移动到/opt下, 目录可以自己定, 设置权限禁止普通用户修改
cd /opt/toolchains/
sudo mv ~/Download/csky-elfabiv2-tools-x86_64-minilibc-20210423/ .
sudo chown -R root:root csky-elfabiv2-tools-x86_64-minilibc-20210423/
不需要添加系统路径
编译
导出此项目
git clone https://github.com/IOsetting/wm-sdk-w806.git
运行menuconfig, 配置工具路径
cd wm-sdk-w806
make menuconfig
在menuconfig界面中, Toolchain Configuration -> 第二个toolchain path, 将刚才的路径填进去, 需要完整路径, 带最后的斜杆, 例如
/opt/toolchains/csky-elfabiv2-tools-x86_64-minilibc-20210423/bin/
其他不用动, Save后退出menuconfig
执行编译
make
写入开发板
首先通过dmesg,lsusb, ls /dev/tty*等命令确定自己开发板在系统中对应的USB端口, 例如ttyUSB0.
运行menuconfig, 配置端口名称
cd wm-sdk-w806
make menuconfig
在menuconfig界面中, Download Configuration -> download port, 填入开发板在你的系统中对应的USB端口, 例如ttyUSB0, 注意这里只需要填纯端口名, 不需要用完整的路径. 可以调高波特率加快下载,只支持115200, 460800, 921600, 1000000, 2000000, Save后退出menuconfig
执行烧录
make flash
根据输出的提示, 按一下reset键就会开始下载. 如果前一次写入的固件已经开启了USE_UART0_AUTO_DL则不需要按键, 会自动开始下载
enerate compressed image completed.
build finished!
connecting serial...
serial connected.
wait serial sync......... <----- 这里按下reset
please manually reset the device. <----- 或者这里
....
serial sync sucess.
mac CC-CC-CC-CC-CC-CC.
start download.
0% [###] 100%
download completed.
reset command has been sent.
下载完成后, 下载工具会发送复位指令, 复位成功后程序会自动开始执行. 如果自动复位失败, 则需要按一下Reset键手工复位.
更多下载选项
显示串口列表
make list
烧录并打开串口监视器
make run
只打开串口监视器
make monitor
问题
如果出现can not open serial make: *** [tools/w806/rules.mk:158: flash] Error 255错误, 检查一下是否有其他串口软件占用了这个端口, 如果有需要先关闭
参考
- 相关讨论 https://www.cnx-software.com/2021/11/08/winnermicro-w806-240-mhz-mcu-2-development-board/
- 资料下载 https://occ.t-head.cn/community/download
- 资料下载 https://h.hlktech.com/Mobile/download/fdetail/143.html
联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明的更多相关文章
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- Ubuntu16.04下搭建开发环境及编译tiny4412 Android系统【转】
本文转载自:http://blog.csdn.net/songze_lee/article/details/72808631 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.安装ssh服务器 ...
- HC32L110(五) Ubuntu20.04 VSCode的Debug环境配置
目录 HC32L110(一) HC32L110芯片介绍和Win10下的烧录 HC32L110(二) HC32L110在Ubuntu下的烧录 HC32L110(三) HC32L110的GCC工具链和VS ...
- Ubuntu 14.04下java开发环境的搭建--3--Tomcat及MySQL的安装
前面两篇文章,已经说明了JDK和Eclipse 的安装方法,下面简单说一下,Tomcat及MySQL的安装方法. Tomcat的安装. 在合适的地方解压apache-tomcat-6.0.39.tar ...
- Ubuntu 16.04下的LAMP环境配置
在学习开发过程中,每当遇到新的问题时,通常都能在网上搜到解决的方法,但是网上的方法千千万,有些是已经过时了的,有些是跟自己开发环境不同的,总是不能第一时间能找到答案. 而当时遇到的问题可能在今后的开发 ...
- Ubuntu16.04安装后开发环境配置和常用软件安装
Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安 ...
- 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程
目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...
- Ubuntu 14.04下java开发环境的搭建--1--JDK的安装
说明:以下内容均是本人个人经验,接触ubuntu系统是从10.04开始,转眼转眼之间已经四年了,经常浏览各种相关论坛,发现从我刚开始基础到现在,论坛上还有很多人在问关于JAVA环境配置的相关问题.所以 ...
- Ubuntu16.04下的stm32环境配置
安装stlink 必须安装libusb-1.0-0-dev, 其他安装不起作用 -dev git clone https://github.com/texane/stlink.git cd stlin ...
随机推荐
- 浏览器有别_HTTP报文的回车换行
本来以为浏览器HTTP报文的生成应该是完全一致的.但最近在做一个项目的时候,发现Safari和Chrome提交同一份表单,后端的处理结果不一致.看提交结果呢,是因为Safari多了个回车.由于原项目的 ...
- JavaScript04
分离绑定事件 使用分离方式绑定元素事件可以使用页面元素与JavaScript代码完全分离,有利于代码分工和维护,是目前开发主流,分为两步: 1.获取需要绑定事件的元素 语法:根据id属性值取元素节点 ...
- Beta版本发布计划
Beta版本新功能 小程序v2.0新功能 新功能列表 页面 新功能描述 图片涂鸦页 增加了马赛克方块形式的涂鸦,同样支持撤销和保存 图片裁切页 增加了图片裁切功能,实现对目标图片的尺寸进行裁切 编辑图 ...
- [技术博客] K-Means算法
遇到的问题 在对微软\(OCR\)的\(api\)进行测试的过程中,我发现有时候它并不能分析出一个表格的形态,也就是说不知道每个文本对应在表格中的第几行第几列.但是它可以较为准确的给出这些文本的坐标. ...
- [no_code团队]项目介绍 & 需求分析 & 发布预测
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 团队项目选择 我们在这个课程的目标是 在团队合作中提升软件开发水平 这个作业在哪个具体方面帮助我们实现目标 进行项目 ...
- 修炼Servlet
修炼Servlet 一.Servlet简单认识 1.Servlet是什么 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的 ...
- 手写vue-router & 什么是Vue插件
博文分享 这篇文章你可以学习到: 实现一个自己的vue-router 了解什么是Vue的插件 学习b站大佬后做的笔记整理和源码实现 1.1.3一步一步带你弄懂vue-router核心原理及实现哔哩哔哩 ...
- mdev 响应热插拔事件
热插拔事件是从内核空间发送到用户空间的通知,一般这时候系统配置出现了变化,比如插入/移除耳机,插入/移除SD卡或者USB存储设备等. 热插拔事件默认会调用/sbin/hotplug来加载驱动程序,创建 ...
- Ubuntu鼠标变十字 不能点击
出现这种情况,应该是bash 直接运行了python文件 系统中出现了一个import 进程. python文件中除了注释应该是import在最前边 ps -ef|grep import 可以查看系统 ...
- MarkDown学习随笔
MarkDown语法的学习 标题 设置标题方法是在前面加#号,一级标题(最大)是加#+空格 ,二级标题是加##+空格,之后的以此类推. 字体 在文本的前后分别加上一个星号表示斜体字 在文本的前后分 ...