目录

CDK开发环境介绍

CDK全称C-SKY Development Kit, 是平头哥推出的, 支持平头哥自研指令集C-SKY架构和RISC-V架构的芯片的集成开发环境, 为开发者提供统一的图形开发界面, 帮助开发者进行应用开发. 这篇说明是为了让CDK用户能快速上手使用SDK运行示例代码.

下载, 安装和运行

  • CDK最新版本下载地址 https://occ.t-head.cn/community/download 点击工具->集成开发环境CDK
  • 当前版本为 V2.10.5, 大小 959.91MB, 安装需要 3.64 GB 空间
  • 直接解压缩后运行setup.exe安装, 建议使用默认路径D:\C-Sky\CDK, 如果C盘空间充足, 也可以使用C:\C-Sky\CDK. 注意路径中不能包含中文
  • 安装结束后可以在Windows程序菜单中找到CDK, 直接点击可以启动CDK

打开项目

因为CDK本身不带版本管理工具, 所以需要自行检出wm-sdk-w806项目(Github地址, Gitee地址), 命令如下

# github
git clone https://github.com/IOsetting/wm-sdk-w806.git
# 或者使用 gitee
git clone https://gitee.com/iosetting/wm-sdk-w806.git

在CDK中,

  • 点击菜单Project->Open Multi-Project Workspace,
  • 打开项目文件, 项目文件的路径tools\W806\projects\SDK_Project\project\CDK_WS\W806_SDK\W806_SDK.cdkws

此时在CDK中就可以看到一个名为W806_SDK的项目

第一次编译

项目已经预置了流水灯示例代码, 可以直接使用菜单Project->Build Active Project进行编译(也可以使用对应的快捷键F7). 如果一切正常, 下方Output View会显示以下输出

Build target ' W806_SDK BuildSet '
"----------Building project:[ W806_SDK - BuildSet ]----------"
csky-elfabiv2-gcc -c ../../../../../../..
...
csky-elfabiv2-gcc -o Obj/W806.elf -Wl,-zmax-page-size=1024 ... -lm
csky-elfabiv2-objdump -S .//Obj/W806.elf > .//Lst/W806.asm
size of target:
text data bss dec hex filename
14608 108 6048 20764 511c ./Obj/W806.elf
checksum value of target:0x31862AA0 (1,187,340)
Obj/W806.elf is modified at: 2021-12-18 21:37:33
Executing Post Build commands ...
W806
1
generate normal image completed.
generate normal image completed.
compress binary completed.
generate compressed image completed.
Done
====0 error(s), 0 warning(s), total time : 12s461ms====

第一次烧录

对于大多数没有CKLink的用户, 需要使用单独的烧录工具将生成的固件写入W806开发板. 联盛德提供的烧录工具是 Upgrade_Tools.exe

  • 运行 Upgrade_Tools.exe

  1. 选择COM口. 如果连接了多个USB2TTL设备, 需要选择对应开发板的COM口, 如果只连接了一个, 这里使用默认显示的即可
  2. 点击打开串口
  3. 点击...选择固件, 路径为bin\W806\W806.fls
  4. 点击下载,
  5. 在出现Waiting for restarting device...后, 按开发板上的RESET按钮开始下载
  6. 当显示Download "wm-sdk-w806-cdk/bin/W806/W806.fls" file success!后, 再次按开发板上的RESET按钮开始运行

如果一切正常, 你会看到W806开发板上的3个LED显示流水灯效果

运行DEMO中的示例代码

DEMO里有W806各个外设功能的演示代码, 下面以PWM功能为例, 演示如何使用示例代码

1.从项目中移除 app/src 目录

在 app/src 目录上右键, 点击Remove Virtual Folder, 这一步是将预置的项目代码从项目中移除, 这一步并不会真的删除文件

2.添加示例代码到项目中

在 app 目录上右键, 点击Add Source Folder, 这一步是将示例代码添加到项目中, 这一步并不会在文件系统中拷贝代码

在弹出的对话框中选择目录demo\pwm\2_led_fade_complementary, 这个是PB0, PB1, PB2, PB3 4个PWM通道组成两对互补输出的示例展示.

项目树会更新为下面的结构, 这时候就可以进行编译了

3.编译和烧录

使用菜单Project->Build Active Project编译(也可以使用对应的快捷键F7), 编译完成后, 和上面介绍的方式一样, 用Upgrade_Tools.exe进行烧录

如果一切正常, 你会看到W806开发板上LED显示的变化, 如果PB3外接LED(记得加1K以上的电阻限流), 可以观察到互补的亮度变化

其他的示例代码, 都可以参照上面的方式运行.

如果有问题请留言.

联盛德 HLK-W806 (十): 在 CDK IDE开发环境中使用WM-SDK-W806的更多相关文章

  1. 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  2. 联盛德 HLK-W806 (十二): Makefile组织结构和编译流程说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  3. 联盛德 HLK-W806 (十三): 运行FatFs读写FAT和exFat格式的SD卡/TF卡

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  4. 联盛德 HLK-W806 (十一): 软件SPI和硬件SPI驱动ST7567液晶LCD

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  5. 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  6. 联盛德 HLK-W806 (五): W801开发板上手报告

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  7. 联盛德 HLK-W806 (三): 免按键自动下载和复位

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  8. 联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  9. 联盛德 HLK-W806 (六): I2C驱动SSD1306 128x64 OLED液晶屏

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

随机推荐

  1. go语言并发编程

    引言 说到go语言最厉害的是什么就不得不提到并发,并发是什么?,与并发相关的并行又是什么? 并发:同一时间段内执行多个任务 并行:同一时刻执行多个任务 进程.线程与协程 进程: 进程是具有一定独立功能 ...

  2. 设计模式学习-使用go实现访问者模式

    访问者模式 定义 优点 缺点 适用范围 代码实现 什么是 Double Dispatch 参考 访问者模式 定义 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作.它使你可以在不 ...

  3. java 必应壁纸批量下载

    基于java 必应壁纸批量下载 - rookie丶k - 博客园 (cnblogs.com)实现 上面代码运行本地有点小问题,改了改 1.ssl验证 2.请求头 3.需要优化下载速度,多线程方式(还不 ...

  4. 8.5 Ingress实现基于域名的多虚拟主机、URL转发、及多域名https实现等案例

    1.什么是Ingress Ingress 公开了从k8s集群外部到集群内服务的 HTTP 和 HTTPS 路由. 流量路由由 Ingress 资源上定义的规则控制. 可以将 Ingress 配置为服务 ...

  5. uniapp增加自定义埋点功能

    起因 首先来说,uniapp其实是自带系统埋点统计功能的.基本也算是面面俱到. 但是一些未知原因,貌似数据有所丢失,再加上没有一些重要的定制化功能,以及最重要的数据安全方面的考虑,还是决定接入公司的埋 ...

  6. Hbuilder/Uniapp 格式化的时候,很多属性会排列在一行,如何结局?

    因为自己遇到这个问题,然后百度了很久都得不到解决办法,所以解决问题以后在博客园写下此文,希望能帮助到更多人! //在jsbeautifyrc.js里面的html中加入这个,就OK了 "wra ...

  7. Codeforces 1375F - Integer Game(交互)

    Codeforces 题面传送门 & 洛谷题面传送门 一个奇怪的做法. 首先我们猜测答案总是 First.考虑什么样的情况能够一步把对方一步干掉.方便起见我们假设 \(a<b<c\ ...

  8. Atcoder Regular Contest 123 题解

    u1s1 我是真的不知道为什么现场这么多人切了 D,感觉 D 对思维要求显然要高于其他 300+ 人切掉的 D 吧(也有可能是 Atc 用户整体水平提升了?) A 开 幕 雷 击(这题似乎 wjz 交 ...

  9. Atcoder Grand Contest 003 F - Fraction of Fractal(矩阵乘法)

    Atcoder 题面传送门 & 洛谷题面传送门 Yet another AGC F,然鹅这次就没能自己想出来了-- 首先需注意到题目中有一个条件叫做"黑格子组成的连通块是四联通的&q ...

  10. micropython1.16官方文档转PDF

    折腾了一天,终于把micropython1.16的官方文档给转成了pdf格式. 不过转换成PDF格式以后存在两点问题: 1.PDF文档有些地方的排版中有些行距没有调整好: 2.使用latex编译tex ...