解决方法:用新唐 NuMicro M483这款单片机遇到的一些问题

一、软件介绍

这个软件是新唐科技(Nuvoton)Nu-Link 仿真器的 Keil 驱动程序,主要用于嵌入式开发场景,核心作用是连接计算机与新唐单片机,实现代码调试、程序烧录等功能。

具体来说,它的功能包括:

  • 桥接开发工具与硬件:让 Keil(嵌入式开发常用的 IDE)能识别 Nu-Link 仿真器,进而与新唐单片机通信;
  • 程序下载 / 烧录:把在 Keil 中编写、编译好的代码,下载到新唐单片机的芯片中;
  • 硬件调试:支持在线调试(比如设置断点、查看内存 / 寄存器数据),帮助开发者排查程序问题;
  • 兼容多内核芯片:支持新唐的 51 内核、Cortex-M0/M4 等系列单片机。

简单讲,这是新唐单片机开发者在 Keil 环境下,连接硬件、写代码到芯片里的 "必备驱动"。


这个软件是新唐科技(Nuvoton)的 NuMicro ICP 编程工具,专门用于新唐单片机的程序烧录(也叫固件下载)。

它的核心作用是:

  • 直接将编译好的程序文件(比如 Hex、Bin 格式)写入新唐 NuMicro 系列单片机的闪存中;
  • 支持批量烧录、擦除芯片数据、读取芯片信息等功能;
  • 不需要依赖 Keil 等 IDE,是独立的硬件编程工具,适合生产或快速烧录场景。

简单说,这是给新唐单片机 "写程序" 的独立工具,比依赖 IDE 的方式更直接。


这个文件是ARM Compiler 5(版本 5.06,编译号 b960)的安装包,是 ARM 公司推出的编译器工具,主要用于嵌入式开发中编译 ARM 架构(如 Cortex-M、Cortex-A 系列)的代码。

它的核心作用是:

  • 配合 Keil、MDK 等 IDE,将 C/C++ 代码编译成 ARM 芯片能识别的机器指令(生成 Hex/Bin 等可执行文件);
  • 支持 ARMv7 及以下架构的芯片(比如 Cortex-M3/M4 等常用单片机),是嵌入式开发中编译代码的关键工具之一。

简单说,这是给 ARM 架构单片机编写程序时,用来 "翻译" 代码的编译器安装包。


ARM Compiler 5 和 Keil 不是 "同类工具",而是嵌入式开发流程中 "分工不同的组件",关系类似于 "钢笔和笔记本"------ 前者是 "写内容的工具",后者是 "承载内容 + 辅助编辑的平台"。

具体区别看这两点:

1. 功能定位不同

  • ARM Compiler 5 :是编译器,核心作用是 "把你写的 C/C++ 代码,翻译成单片机能看懂的机器指令(比如 Hex/Bin 文件)",只负责 "代码编译" 这一个环节。
  • Keil(通常指 Keil MDK) :是集成开发环境(IDE),包含了 "代码编辑、项目管理、调用编译器(比如 ARM Compiler)、调试 / 烧录" 等全套功能,是一个 "一站式开发平台"。

2. 依赖关系

Keil 本身不自带编译器(或只带基础版本),需要安装 ARM Compiler(比如 5/6 版本)后,在 Keil 里配置调用它,才能完成代码的编译。

简单说:Keil 是 "工作台",ARM Compiler 5 是工作台上的 "翻译工具",两者配合才能完成从 "写代码" 到 "生成可执行文件" 的流程。


你说的没错!Keil(比如 MDK)本身是集成了 "编译 + 下载(烧录)" 功能的 IDE ,但它的 "编译" 功能是依赖编译器(比如 ARM Compiler 5/6) 实现的,"下载" 功能是依赖仿真器驱动(比如 Nu-Link 驱动)+ 硬件仿真器实现的 ------ 相当于 Keil 把这些工具 "整合到了自己的平台里"。

举个例子:

  • 你在 Keil 里写代码→点击 "编译"→Keil 会调用 ARM Compiler把代码翻译成机器指令;
  • 编译完成后→点击 "下载"→Keil 会调用 Nu-Link 驱动 + 仿真器,把生成的文件烧到单片机里。

所以它不是 "自己单独完成编译 / 下载",而是把编译器、驱动这些工具 "打包调用" 了,是个 "一站式的整合平台"。


这个文件是Keil MDK 的安装包(版本为 MDK5.43a),是目前嵌入式开发中最常用的 ARM 架构单片机开发环境之一。

核心信息:

  • MDK是 "Microcontroller Development Kit" 的缩写,是 Keil 针对 ARM 芯片推出的集成开发环境(就是你之前提到的 "能编译 + 下载" 的 Keil 工具);
  • 5.43a 是它的版本号,包含了代码编辑、项目管理、编译器(通常自带基础版本,也可搭配 ARM Compiler 5/6)、调试 / 烧录等全套功能,支持 Cortex-M 系列等主流 ARM 单片机。

简单说,这就是Keil MDK 的安装程序,安装后就能直接用来开发 ARM 架构的单片机项目了。


二、问题解决方法

新唐官方Keil Download教程网址:

https://www.nuvoton.com.cn/tool-and-software/ide-and-compiler/keil-download/

Arm 与新唐科技为软件开发者提供免费的 Keil® MDK 专业工具:Keil MDK Nuvoton Edition - Full Cortex-M 开发基于 Arm® Cortex-M 的新唐产品,并可用于商业用途。

安装与启用

  1. 下载Arm Keil MDK
  2. 执行下载的 exe 安装程序
  3. 选择安装位置(默认为 C:\Keil_v5)。如果您希望保留现有的 MDK 安装,请选择一个新文件夹
  4. 在 Pack Installer 中,点击 Install 来下载并安装新唐科技提供的系列套件
  5. 申请用户许可以获得【新唐科技授权与使用声明】(至2027年9月25日有效)
  6. 现在已经可以开始使用 MDK

开始一个范例项目

  1. 根据所需的产品系列,下载对应的 BSP(Board Support Package)
  2. 对下载的 BSP 进行解压缩
  3. 根据以下路径开启 "Template.uvproj(x)" 专案:Mxx_Series_BSP\SampleCode\Template\Keil
  4. 按下 Build 以编译项目,若在 build output 窗口看到 0 error 即表示项目编译成功
  5. 选择适合的开发板,并按照快速指南页面,将代码烧录至开发板中

常见问题官方教程网址:

https://www.nuvoton.com.cn/tool-and-software/ide-and-compiler/keil-mdk-nuvoton-edition/?index=1


现在 Keil 仍提示 "Compiler 不可用",是因为还没在项目中手动指定编译器路径:

补充步骤:

  1. 打开 Keil 的Manage Project Items(菜单栏Project → Manage → Project Items);
  2. 切换到Folders/Extensions选项卡;
  3. ARM Compiler区域,点击Add,选择你当前的ARMCC目录(即Keil_v5\ARM\ARMCC);
  4. 确认后回到项目的Options for Target → Target,就能在ARM Compiler下拉框中看到Version 5了。

这个操作是让 Keil 主动识别已安装的 Compiler 5 路径,解决 "未检测到" 的问题。

选择上面那一行第二个

然后点...添加对应的编译器即可

然后点魔术棒就可以选择5了(不能用6的原因:切换到 ARM Compiler 6(V6.24)后编译报错,核心是retarget.c文件第 354 行的汇编语法不兼容 Compiler 6------ARM Compiler 5 和 6 对汇编语法的解析规则不同,这段代码是为 Compiler 5 写的,在 Compiler 6 下会报括号匹配错误)


要在 Keil 中设置生成 HEX 文件,需通过 "Output" 选项卡配置,步骤如下:

步骤 1:打开项目输出配置

在当前的Options for Target窗口中,切换到Output选项卡(位于窗口上方的标签栏)。

步骤 2:勾选生成 HEX 文件的选项

在 Output 界面中:

  1. 找到 "Create HEX File" 复选框,勾选它;
  2. 可选择 HEX 文件的格式(默认 "32-bit" 即可,适配 M483 芯片)。

步骤 3:保存配置并重新编译

  1. 点击OK关闭配置窗口;
  2. 点击 Keil 工具栏的Rebuild按钮重新编译项目,编译完成后,在项目的obj文件夹下会生成对应的.hex文件。

完成上述操作后,Keil 就会在每次编译时自动生成 HEX 格式的程序文件,可用于后续烧录。

是的,烧录时选择binhex文件二选一即可,二者的核心区别在于文件格式和包含的信息

1. 格式与信息差异

  • HEX 文件 :是ASCII 文本格式 ,包含地址信息 + 数据 + 校验码,每个数据块都标注了存储地址(比如 "这段数据要烧到 0x08000000 地址")。优点:烧录工具可直接根据文件内的地址自动分配存储位置,无需手动指定地址。

  • BIN 文件 :是二进制原始数据格式 ,仅包含程序数据,不包含地址、校验等额外信息。优点:文件体积更小;缺点:烧录时需要手动指定存储的起始地址(比如 STM32/M483 的程序起始地址是 0x00000000 或 0x08000000)。

2. 适用场景

  • HEX:更适合新手,烧录工具(如 NuMicro ICP)会自动识别地址,无需额外配置。
  • BIN:适合熟悉硬件地址的开发者,或需要手动调整存储区域的场景。

你当前obj文件夹里同时有DSP_Convolution.hexDSP_Convolution.bin,直接选 HEX 文件烧录更方便,不会出错。


有时候keil在线下载PACK包那个有时候没网,以下是arm KEIL官方网页下载包的路径,把下载的包安装了放在keil软件所处的路径下的PACK文件夹以下即可

网址:https://www.keil.com/dd2/nuvoton/m482sidae/


Nu-Link驱动网址:https://www.nuvoton.com.cn/tool-and-software/ide-and-compiler/

这是新唐科技提供的开源 IDE(NuEclipse)及 Nu-Link 驱动的下载列表,核心信息可梳理为以下两类内容:

一、开源 IDE(NuEclipse)

NuEclipse 是新唐基于 Eclipse 定制的免费开发工具,分为两类版本:

档案名称 适用场景 版本 更新时间
NuEclipse Windows/Linux(For NuMicro 8051) 适配 8 位 NuMicro 8051 系列芯片,支持 Windows/Linux 系统 V1.02.028 2024-07-30
NuEclipse V1.02.029 Windows/Linux 适配 Cortex-M/A 内核的 NuMicro 芯片,支持 Windows/Linux 系统 V1.02.029 2025-03-06

特点

  • 免费且跨平台,是新唐芯片的原生开发工具;
  • 不同版本对应不同架构的芯片,需根据目标芯片选择(8051 架构选前者,ARM 架构选后者)。

Nu-Link 是新唐的调试器,需安装对应驱动以适配不同开发环境:

档案名称 适用场景 版本 更新时间
Nu-Link Keil Driver V3.20.7778r 适配 Keil 开发环境,支持所有 NuMicro 系列芯片 V3.20.7778r 2025-03-26
Nu-Link IAR Driver V3.20.7778r 适配 IAR 开发环境,支持所有 NuMicro 系列芯片 V3.20.7778r 2025-03-26

特点

  • 驱动需与开发环境匹配(用 Keil 则装 Keil 版本驱动,用 IAR 则装 IAR 版本);
  • 支持新唐全系列微控制器,是 Nu-Link 调试器正常工作的必要组件。

用途总结

该页面是新唐官方提供的开发工具与驱动下载入口,开发者可根据目标芯片(8051/ARM)和使用的开发环境(Keil/IAR/NuEclipse),选择对应的 IDE 和驱动文件。


官方BSP和范例代码网址:

https://www.nuvoton.com.cn/tool-and-software/bsp-and-example-code/example-code/

相关推荐
国科安芯2 小时前
商业卫星载荷FPGA转RISC-V架构MCU方案经济性评估
单片机·嵌入式硬件·fpga开发·架构·安全威胁分析·risc-v
polarislove02142 小时前
9.1[ 定时器 ] 时基单元-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
三品吉他手会点灯2 小时前
STM32F103 学习笔记-21-串口通信(第1节)-串口通信协议简介
笔记·stm32·单片机·嵌入式硬件·学习
星源~2 小时前
TensorFlow 开发环境搭建指南:Anaconda 与 Miniconda 抉择及环境搭建步骤
人工智能·python·tensorflow·嵌入式·mcu+ai
就是蠢啊2 小时前
51单片机——LCD1602液晶显示(二)
单片机·嵌入式硬件·51单片机
竹叶萧萧3 小时前
stm32u575从bank2启动,擦写bank1失败
stm32·单片机·嵌入式硬件·双bank升级·双bank切换·bank2·dual-bank
悠哉悠哉愿意3 小时前
【嵌入式学习笔记】Key模块解析
笔记·单片机·嵌入式硬件·学习
huangjiazhi_3 小时前
arduino uno单片机+AM2032 DHT22 Sensor温湿度开发
单片机·嵌入式硬件
福尔摩斯张3 小时前
嵌入式硬件篇:常见单片机型号深度解析与技术选型指南
网络·数据库·stm32·单片机·网络协议·tcp/ip·mongodb