HC32L110 系列 M0 MCU 的介绍和Win10下DAP-Link, ST-Link, J-Link的烧录
HC32L110 系列 Cortex M0 MCU
Hackaday 在三月份的时候介绍了一款最小的MCU NEW PART DAY: SMALLEST ARM MCU UPROOTS COMPETITION, NEEDS RESEARCH, 华大的 HC32L110B6YA-CSP16TR, CSP16封装, 尺寸有只1.6mm x 1.4mm, 还不及一粒米大, 从这几张图可以对比看看实物大小
硬件大佬Jeroen Domburg的手工焊接尝试
- Using a tiny HC32L110 ARM chip - Intro
- Using a tiny HC32L110 ARM chip - Soldering a WCSP package
- Using a tiny HC32L110 ARM chip - Programming the chip
有没有点赛博朋克的感觉?
Win10 环境
HC32L110 (以及其他的Cortex M0华大MCU) 在 Windows 下可以选择的烧录选项比较多, 以下说明如何配置 DAP-Link, ST-Link, J-Link 的烧录环境
硬件准备
- 开发板, 可以用泽耀的2.4G模块开发板AS06-VTB07H, 这个开发板最早的版本使用的是STM8S, 现在都改成 HC32L110C4UA 了
- CMSIS DAP-Link 或 J-Link 或 ST-Link 都已经验证可以烧录
软件
- HC32L110_DDL_Rev1.1.4.zip 这个是带项目模板和例子的程序包
- HC32L110_IDE_Rev1.0.3.zip IDE开发的型号支持
安装环境支持包
将 HC32L110_IDE_Rev1.0.3.zip 解压, MDK_IDE下的 HDSC.HC32L110.1.0.3.pack 就是给 Keil MDK 用的芯片型号库, 双击导入, 或者通过 Keil MDK 的 Package Installer 导入. 导入之后, 在 Keil MDK 中新建项目选择芯片时, 就能看到 HC32L110 系列芯片, 选择芯片型号后, 在Debug Download下面就有对应的算法文件. 算法文件的默认路径是 C:\Keil_v5\ARM\PACK\HDSC\HC32L110\1.0.3\Flash
使用 DAP-Link
- 在项目中点开编译选项, 选择正确的芯片型号, 例如 HC32L110C4UA
- 到Debug标签页选择下载设备为CMSIS-DAP Debugger,
- 打开 Settings, 应该能看到识别出的设备为 0x0BC11477 Arm Core Sight SW-DP
- Max Clock 选择10MHz (初始化时经常会自动选择1MHz, 这样下载时最后一步会出错).
- 到Flash Download 标签页, 勾选 Reset and Run, 并且确认下方的Programming Algorithm中已经设置了算法.
之后F7编译, F8下载, 设置正确的话就能看到烧录校验完成的信息
使用 ST-Link V2
如果DAP-Link已经设置正确, ST-Link可以直接使用,
- 在Debug中切换设备为ST-Link Debugger
- 打开 Settings, 能看到识别出的设备 0x0BC11477 Arm Core Sight SW-DP. Port 如果设成了JTAG需要改为SW, Clock设为4MHz
- Flash Download 勾选 Reset and Run
也是 F8 下载. 输出记录:
Build started: Project: x
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'x'
".\Objects\1101_tx.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:00
Load "D:\\WorkMDK\\WorkHC32\\hc32l110_prj\\Objects\\1101_tx.axf"
Erase Done.
Programming Done.
Verify OK.
Application running ...
Flash Load finished at 20:46:34
使用J-Link
J-Link 使用方式和 DAP-Link 基本一致, 如果DAP-Link已经设置正确, J-Link可以直接使用, 在Debug中切换设备为J-Link, 打开 Settings 能看到识别出的设备 0x0BC11477 Arm Core Sight SW-DP. Port 如果设成了JTAG需要改为SW, Clock设为5MHz
Flash Download 勾选 Reset and Run, F8烧录, 输出记录为
Build started: Project: x
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'x'
".\Objects\1101_tx.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:00
Load "D:\\WorkMDK\\WorkHC32\\hc32l110_prj\\Objects\\1101_tx.axf"
* JLink Info: Device "CORTEX-M3" selected.
* JLink Info: Device "CORTEX-M3" selected.
Set JLink Project File to "D:\WorkMDK\WorkHC32\hc32l110_prj\JLinkSettings.ini"
* JLink Info: Device "CORTEX-M3" selected.
JLink info:
------------
DLL: V6.30h, compiled Mar 16 2018 18:02:51
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware: V7.00
S/N : 20090928
Feature(s) : RDI,FlashDL,FlashBP,JFlash,GDB
* JLink Info: Found SW-DP with ID 0x0BC11477
* JLink Info: Scanning AP map to find all available APs
* JLink Info: AP[1]: Stopped AP scan as end of AP map has been reached
* JLink Info: AP[0]: AHB-AP (IDR: 0x04770031)
* JLink Info: Iterating through AP map to find AHB-AP to use
* JLink Info: AP[0]: Core found
* JLink Info: AP[0]: AHB-AP ROM base: 0xE00FF000
* JLink Info: CPUID register: 0x410CC601. Implementer code: 0x41 (ARM)
* JLink Info: Found Cortex-M0 r0p1, Little endian.
**JLink Warning: Identified core does not match configuration. (Found: Cortex-M0, Configured: Cortex-M3)
* JLink Info: FPUnit: 4 code (BP) slots and 0 literal slots
* JLink Info: CoreSight components:
* JLink Info: ROMTbl[0] @ E00FF000
* JLink Info: ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB008 SCS
* JLink Info: ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
* JLink Info: ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB00B FPB
ROMTableAddr = 0xE00FF000
* JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
* JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
Target info:
------------
Device: HC32L110C4UA
VTarget = 3.300V
State of Pins:
TCK: 0, TDI: 0, TDO: 1, TMS: 0, TRES: 1, TRST: 0
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
Watchpoints: 2
JTAG speed: 4000 kHz
Erase Done.
Programming Done.
Verify OK.
* JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
* JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
Application running ...
Flash Load finished at 19:21:41
单独使用 J-Flash
从 segger 官网 https://www.segger.com/ 下载 JLink 整合安装包 JLink_Windows_V770a_i386.exe, 安装完是不带 HC32L110 系列型号的, 需要单独添加
先添加设备, 将 C:\Keil_v5\ARM\PACK\HDSC\HC32L110\1.0.3\Flash 下面的两个算法文件, HC32L110B4_C4.FLM 和 HC32L110B6_C6.FLM 复制到
C:\Program Files (x86)\SEGGER\JLink\Devices\HDSC ,
修改 C:\Program Files (x86)\SEGGER\JLink\JLinkDevices.xml
在结尾的</DataBase>
之前增加这几行
<Device>
<ChipInfo Vendor="HDSC" Name="HC32L110x4" WorkRAMAddr="0x20000000" WorkRAMSize="0x800" Core="JLINK_CORE_CORTEX_M0"/>
<FlashBankInfo Name="Flash_16K" BaseAddr="0x0" MaxSize="0x4000" Loader="Devices/HDSC/HC32L110B4_C4.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>
<Device>
<ChipInfo Vendor="HDSC" Name="HC32L110x6" WorkRAMAddr="0x20000000" WorkRAMSize="0x1000" Core="JLINK_CORE_CORTEX_M0"/>
<FlashBankInfo Name="Flash_32K" BaseAddr="0x0" MaxSize="0x8000" Loader="Devices/HDSC/HC32L110B6_C6.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>
然后打开J-Flash, 在设备列表里就能找到 HC32L110了, 连接后打开要烧录的hex, F7就可以烧录了
待更新
HC32L110 系列 M0 MCU 的介绍和Win10下DAP-Link, ST-Link, J-Link的烧录的更多相关文章
- Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 06 Stack详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 05 Vector详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- N3292系列资料之RTC介绍
N3292系列资料之RTC介绍 1 RTC特性 Ø 拥有时间计数器(秒,分,时)和日历计数器,用来计算时间 Ø 绝对定时功能(秒,分,时,日,月,年) Ø 相对定时功能 Ø 支持12小时/24小时模式 ...
- 智能合约语言Solidity教程系列2 - 地址类型介绍
智能合约语言Solidity教程系列第二篇 - Solidity地址类型介绍. 写在前面 Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你 ...
- 搜索引擎ElasticSearchV5.4.2系列一之ES介绍
相关博文: 搜索引擎ElasticSearchV5.4.2系列一之ES介绍 搜索引擎ElasticSearchV5.4.2系列二之ElasticSearchV5.4.2+kibanaV5.4.2+x- ...
随机推荐
- 羿网通WT2100网络测试仪端口开关功能应用案例
端口开关是羿网通WT2100具备的一项全局性的功能,使用客户端软件Packlark连接WT2100后无需进入具体功能即可使用.该功能是通过控制设备上的以太网开关实现快速.便捷地切换网口通断状态的目标, ...
- 【freertos】010-消息队列概念及其实现细节
目录 前言 10.1 消息队列概念 10.2 消息队列的数据传输机制 10.3 消息队列的阻塞访问机制 10.4 消息队列使用场景 10.5 消息队列控制块 10.5.1 队列控制块源码 10.5.2 ...
- Hash表、 继承
Hash表 我们来了解什么是Hash表?? 要想知道什么是哈希表,那得先了解哈希函数 二叉平衡树 红黑树 B B+树,它们的查找都是先从根节点进行查找,从节点取出数据或索引与查找值进行比较.那么,有没 ...
- 菜鸟学git的基本命令及常见错误
Git init //在当前项目工程下履行这个号令相当于把当前项目git化,变身!\ git config --global user.name "xxx" # 配置用户名 git ...
- jdk8对象集合转map集合
package koukay.Controller.Controllers; import koukay.Portal.webservices.Entity.User; import com.fast ...
- 记一次ms17-010复现过程
最近碰到业务需要使用msf,以前了解过,后面都忘记了.这次干脆写下来,省的每次去找别人写的. 首先是使用nmap探测端口 nmap -O -sV 192.168.153.130 --script=vu ...
- 给你准备好了——50道Python面试题集锦(附答案)
Python是目前编程领域最受欢迎的语言.在本文中,我将总结Python面试中最常见的50个问题.每道题都提供参考答案,希望能够帮助你在2019年求职面试中脱颖而出,找到一份高薪工作.这些面试题涉及P ...
- 老掉牙的 synchronized 锁优化,一次给你讲清楚!
我们都知道 synchronized 关键字能实现线程安全,但是你知道这背后的原理是什么吗?今天我们就来讲一讲 synchronized 实现线程同步背后的原因,以及相关的锁优化策略吧. synchr ...
- docker for window WSL 2 installation is incomplete 错误,导致docker无法启动
1.错误截图如下: 2.错误原因:由于wsl2版本旧,根据提示让我们手动更新包,去微软官网下载最新wsl2后,安装完成重启即可解决. 3.下载地址:download地址
- 使用Win自带的远程工具连接Linux
网上教程一大堆,我这边只简单记录一下,主要是黑屏问题,和剪贴板问题.Win连接Linux,一般都是使用的xrdp, 如果是使用的旧版本的Ubuntu,建议先装一下xfce桌面,gnome桌面一般连不起 ...