- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
CH32V208系列是沁恒32位RISC-V中比较新的一个系列, 基于青稞RISC-V4C内核, 最高144MHz主频, 64KB SRAM,128KB Flash, 供电电压2.5/3.3V. 。
这个型号的特点: 除了特有的硬件堆栈区、快速中断入口, 片上集成了 2Mbps低功耗蓝牙BLE 5.3 , 10M以太网MAC+PHY , USB2.0全速设备+主机/设备接口 , CAN控制器. 。
10M以太网是带 PHY 的, 可以直连网口, 省掉焊接LAN8720了 。
这个板比较大, 尺寸8.6cm * 9.5cm, 上面集成了蓝牙天线, RJ45网口, 两个USB-A母口 。
烧录 CH32V208 可以用 WCH-Link 或 WCH-LinkE 。
Win10下的开发环境比较简单, 使用软件 MounRiver, 当前版本v1.84, 可以支持沁恒全系列的RISC-V芯片. 下载地址 http://mounriver.com/download 。
软件集成了代码编辑, 编译环境和烧录工具. 直接安装即可. 基于 Eclipse 开发, 需要熟悉一下 Eclipse 的快捷键. 。
注意要使用较新的版本, 旧版本不支持 CH32V208 。
MounRiver的使用说明参考 官方专栏 , 介绍得较为详细 。
从 CH32V208 产品页 https://www.wch.cn/products/CH32V208.html 可以找到 CH32V208 评估板说明及应用参考例程 CH32V20xEVT.ZIP 。
下载后, 解压得到的目录结构如下, 其中 PUB 下是评估板的说明和电路图, EXAM 下是按外设区分的各个例程的子目录 。
|-- PUB:
| |-- CH32V20x评估板说明书.pdf:CH32V20x评估板说明及工程创建说明
| |-- CH32V20xSCH.pdf:CH32V20x评估板原理图
|-- EXAM:
| |-- SRC
| | |-- Core:内核系统头文件
| | |-- Debug:延时函数、串口调试源文件及头文件
| | |-- Ld:ld文件
| | |-- Peripheral:基本外设驱动源文件及头文件
| | |-- Startup:启动文件。针对用户使用芯片型号包含下列相应的启动文件,同时在ch32v20x.h文件中选择匹配芯片型号定义
| | | |-- startup_ch32v20x_D6.S:适用于CH32V203F6-CH32V203G6-CH32V203K6-CH32V203K8-CH32V203C6-CH32V203C8系列
| | | |-- startup_ch32v20x_D8.S:适用于CH32V203RB系列
| | | |-- startup_ch32v20x_D8W.S:适用于CH32V208系列
| |-- ADC ADC 例程
| |-- BLE ——仅适用于CH32V20x_D8W
| |-- BKP:BKP例程
| |-- CAN ——仅适用于CH32V20x_D6-CH32V20x_D8W
| |-- CRC:CRC例程
| |-- DMA
| |-- ETH ——仅适用于CH32V20x_D8-CH32V20x_D8W
| |-- EXTI:外部中断线例程
| |-- FLASH:FLASH的擦/读/写,以及快速编程
| |-- FreeRTOS:FreeRTOS移植例程
| |-- GPIO:GPIO例程
| |-- HarmonyOS:HarmonyOS移植例程
| |-- I2C
| |-- INT
| |-- IAP:IAP升级例程-内置Hex转Bin工具和IAP升级工具
| |-- IWDG:独立看门狗例程
| |-- OPA:OPA4作电压跟随器输出例程
| |-- PWR
| |-- RCC
| |-- RT-Thread:RT-Thread移植例程
| |-- RTC:日历例程
| |-- SPI
| |-- TencentOS:TencentOS移植例程
| |-- TIM
| |-- TOUCHKEY:TouchKey检测例程
| |-- USART
| |-- USB
| |-- WWDG:窗口看门狗例程
下面以最简单的GPIO示例走一遍编译烧录的过程 。
开发板 ---> WCHLink, 注意不要连USB口, 如果已经通过PC的USB口连接了开发板, 就不要连WCHLink VCC, 如果连了WCHLink VCC, 就不要接USB口 。
开发板本身 。
下载的示例代码解压后, 在MounRiver中 File -> Load -> Project, 打开 EVT\EXAM\GPIO\GPIO_Toggle目录下的 GPIO_Toggle.wvproj 。
按 Shift + F7 或通过工具栏按钮编译即可. 编译正常会显示 。
12:08:14 **** Build of configuration obj for project GPIO_Toggle ****
make -j4 all
text data bss dec hex filename
6908 136 2072 9116 239c GPIO_Toggle.elf
12:08:19 Build Finished. 0 errors, 0 warnings. (took 5s.11ms)
示例项目中默认的构建结果为 hex 文件, 编译结束后在 obj 目录下能看到 GPIO_Toggle.hex 。
通过 WCH-Link 连接开发板之后, 在 MounRiver 中通过菜单 Flash -> Configuration 可以打开下载设置 。
点击第一个图标 Query Status 查询芯片状态, 连接成功后底下会显示 0000#07:48:33:283>> Query Success , 同时会显示红色的 Code Read-Protect Status Disabled 或绿色的 Code Read-Protect Status Enabled , 红色的表示读保护关闭, 这时候可以烧录, 如果是绿色表示读保护打开, 需要关闭后才能烧录. 下面 Target 中会显示检测到的MCU类型, 写入开始地址 0x08000000, 以及要写入的文件 obj\GPIO_Toggle.hex 。
以上无误后, 应用保存, 按 F8 或点击工具栏图标烧录, 烧录过程输出 。
------------ Begin flash process of "obj\GPIO_Toggle.hex" ------------
12:14:11:930 >> Current project vendor is WCH, debugger is WCH-Link
12:14:11:930 >> Attempt to open link device and upgrade firmware if necessary...
12:14:11:987 >> Link Device is CH549. Already the latest version v2.8, no need to upgrade
12:14:12:059 >> Starting to Send Chip Type...
12:14:12:102 >> Send Chip Type Success
12:14:12:102 >> Starting to Check Read-Protect Status...
12:14:12:103 >> Read-Protect Status Currently Disabled
12:14:12:103 >> Starting to Erase All...
12:14:12:242 >> Erase All Success
12:14:12:244 >> Starting to Download & Verify...
12:14:13:077 >> Download & Verify Success
12:14:13:077 >> Starting to Reset...
12:14:13:090 >> Reset Success
12:14:13:090 >> Starting to Close Link...
12:14:13:092 >> Close Link Success
---------------------------------End ---------------------------------
Operation Finished (took 1s.166ms)
烧录成功后就能看到连接的LED开始闪烁 。
当使用过旧版 WCH-DAPLink 或者安装中未正常升级, 在连接DAPLink模式的 WCH-Link 后, 设备管理器显示带黄色警告的WCH CMSIS-DAP, 此时在 WCH-LinkUtility里是无法找到WCHLink的, 需要先安装驱动. 沁恒并没有单独提供这个驱动的下载, 但是在安装了 MounRiver 之后, 其目录下实际上是包含了对应驱动的. 。
首先电脑要能正确识别 CMSIS-DAP 模式的 WCH-Link, 如果驱动未安装, 可以参考上一步. 在 CMSIS-DAP 模式下, WCH-Link 的 CON 灯是常亮的. 。
最后此篇关于沁恒CH32V208(一):CH32V208WBU6评估板上手报告和Win10环境配置的文章就讲到这里了,如果你想了解更多关于沁恒CH32V208(一):CH32V208WBU6评估板上手报告和Win10环境配置的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在文档中找不到答案,所以我在这里问。 在 Grails 中,当您创建应用程序时,您会默认获得生产、开发等环境。 如果您想为生产构建 WAR,您可以运行以下任一命令: grails war 或者 gr
我们组织的网站正在迁移到 Sitecore CMS,但我们正在努力以某种方式为开发人员 (4)、设计师 (4)、QA 人员 (3)、作者 (10-15) 和批准者 (4-10) 设置环境在他们可以独立
如何在WinCVS中设置CVSROOT环境变量? 最佳答案 简单的回答是:您不需要。 CVSROOT 环境变量被高估了。 CVS(NT) 只会在确定存储库连接字符串的所有其他方法都已用尽时才使用它。人
我最近完成了“learnyouahaskell”一书,现在我想通过构建 yesod 应用程序来应用我所学到的知识。 但是我不确定如何开始。 关于如何设置 yesod 项目似乎有两个选项。一是Stack
在这一章中,我们将讨论创建 C# 编程所需的工具。我们已经提到 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。因此,在讨论运行 C# 程序的可用工具之前,让我们先了解一下 C#
运行Ruby 代码需要配置 Ruby 编程语言的环境。本章我们会学习到如何在各个平台上配置安装 Ruby 环境。 各个平台上安装 Ruby 环境 Linux/Unix 上的 Ruby 安装
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我有一个这样的计算(请注意,这只是非常简化的、缩减版的、最小的可重现示例!): computation <- function() # simplified version! { # a lo
我使用环境作为哈希表。键是来自常规文本文档的单词,值是单个整数(某个其他结构的索引)。 当我加载数百万个元素时,更新和查找都变慢了。下面是一些代码来显示行为。 看起来从一开始的行为在 O(n) 中比在
我正在构建一个 R 包并使用 data-raw和 data存储预定义的库 RxODE楷模。这非常有效。 然而,由此产生的.rda文件每代都在变化。某些模型包含 R 环境,并且序列化似乎包含“创建时间”
(不确定问题是否属于这里,所以道歉是为了) 我很喜欢 Sublime Text ,我经常发现 Xcode 缺少一些文本/数据处理的东西。我可能有不止一个问题—— 'Command +/' 注释代码但没
我正在使用 SF2,并且创建了一些有助于项目调试的路由: widget_debug_page: path: /debug/widget/{widgetName} defau
我创建了一个名为 MyDjangoEnv 的 conda 环境。当我尝试使用 source activate MyDjangoEnv 激活它时,出现错误: No such file or direct
有没有办法区分从本地机器运行的包和从 Cordova 应用商店安装的包? 例如,我想像这样设置一个名为“evn”的 JavaScript 变量: if(cordovaLocal){ env = 'de
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我的任务是使用 java 和 mysql 开发一个交互式网站:使用 servlet 检索和处理数据,applet 对数据客户端进行特殊处理,并处理客户端对不同数据 View 的请求。 对于使用 jav
这按预期工作: [dgorur@ted ~]$ env -i env [dgorur@ted ~]$ 这样做: [dgorur@ted ~]$ env -i which date which: no
我想进行非常快速的搜索,看来使用哈希(通过环境)是最好的方法。现在,我得到了一个在环境中运行的示例,但它没有返回我需要的内容。 这是一个例子: a system.time(benchEnv(), g
我想开始开发 OpenACC 程序,我有几个问题要问:是否可以在 AMD gpu 上执行 OpenACC 代码? 如果是这样,我正在寻找适用于 Windows 环境的编译器。我花了将近一个小时什么也没
这可能看起来很奇怪,但是有没有办法制作机器(linux/unix 风格 - 最好是 RHEL)。我需要控制机器的速度以确保代码在非常慢的系统上工作并确定正确的断点(在时间方面)。 我能做到的一种方法是
我是一名优秀的程序员,十分优秀!