0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度解析:使用 Eclipse 调试AS32系列MCU芯片的工程搭建

安芯 来源:jf_29981791 作者:jf_29981791 2025-06-08 21:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引言

随着嵌入式技术的飞速发展,芯片调试作为硬件开发流程中的关键环节,其重要性不言而喻。国科安芯的AS32系列MCU芯片凭借其卓越的性能和丰富的功能,逐渐在工业控制物联网等领域崭露头角。然而,对于许多开发人员而言,如何高效地调试AS32系列MCU芯片仍是一个亟待解决的问题。本文将深入探讨基于免费 Eclipse+GCC+JLINK 的AS32系列MCU芯片调试方法,旨在为技术开发人员提供一份详尽、实用的实践指南,助力其在AS32系列MCU芯片应用开发中实现高效调试与功能优化。

一、开发环境搭建

(一)平台资源准备

硬件设备

PC :本操作基于 Windows 10 系统,确保电脑具备充足的存储空间和稳定的电源供应,以满足 Eclipse开发工具及调试过程中的资源需求。

AS32 开发板 :作为调试的核心载体,需提前检查开发板的完整性,确认其芯片型号、引脚定义等参数与所开发项目要求相符。同时,确保开发板与电脑的连接线路无损坏,通信接口(如 JTAG/SWD 接口)能够正常工作,以保障调试数据的稳定传输。

Jlink 调试器 :选择与 AS32 芯片兼容的 Jlink 调试器型号,如 J-Link V9 或 J-Link EDU 等。在使用前,需仔细阅读调试器的用户手册,了解其工作原理、连接方式以及支持的调试协议等信息,确保调试器能够准确地与开发板上的芯片进行通信

软件工具

Eclipse IDE :选用 Eclipse IDE 2025 - 03(4.35.0)版本。Eclipse 作为一款功能强大的集成开发环境,为嵌入式开发提供了丰富的插件和工具支持。其具备良好的跨平台特性,界面友好且易于操作,能够方便地进行代码编辑、编译、调试等一系列开发活动。在安装 Eclipse 时,需注意选择适合 Windows 10 系统的版本,并按照安装向导的提示完成安装过程。安装完成后,建议对 Eclipse 进行个性化配置,如设置代码编辑器的字体、颜色、缩进等格式,以提高代码编写效率和可读性。

ansilic_Toolchain :从国科安芯官网下载 ansilic_Toolchain,该工具链包含 GCC 工具链、OpenOCD 以及相关配置文件。GCC(GNU Compiler Collection)作为一款广泛使用的开源编译器,为 RISC - V 架构的 AS32 芯片提供了高效的代码编译和优化功能;OpenOCD(Open - On - Chip Debugger)则负责实现调试器与芯片之间的通信,是调试过程中的关键组件。下载完成后,建议将 ansilic_Toolchain 文件夹放置于 Eclipse 的安装目录下,以便在后续工程配置中能够方便地进行路径引用和工具链切换。

AS32 驱动库 :同样从国科安芯官网获取 AS32 驱动库。驱动库为开发人员提供了针对 AS32 芯片各个外设(如 GPIO、UART、SPI、I2C 等)的底层驱动函数和操作接口,使得开发人员能够更加便捷地进行芯片功能的开发和调试。在使用驱动库时,需要仔细研读其提供的文档和示例代码,了解每个驱动函数的功能、参数设置以及调用流程,以便在实际项目中正确地调用和配置。

Zadig - 2.7.exe :用于配置 Jlink 驱动。在 Windows 系统中,Zadig 能够方便地将 Jlink 的驱动程序转换为 WinUSB 格式,从而确保 Jlink 调试器与电脑之间能够建立稳定可靠的通信连接。在使用 Zadig 软件时,需先将 Jlink 调试器连接至电脑的 USB 端口,然后按照软件的操作提示,选择设备相应的并进行驱动转换。在转换过程中,软件可能会要求用户安装一些必要的系统更新或驱动组件,需确保这些安装操作顺利完成,以避免驱动配置失败导致调试无法正常进行。

(二)Jlink 驱动配置

在创建工程之前,Jlink 驱动的正确配置是确保调试顺利进行的前提。具体操作步骤如下:

将 Jlink 调试器接入电脑的 USB 端口,确保电脑能够识别到该设备。

打开 Zadig - 2.7.exe 软件,点击 “Options” 按钮,在弹出的下拉菜单中勾选 “List All Devices” 选项,使软件能够列出系统中所有连接的设备。

在 Zadig 的设备列表中,找到 Jlink 设备。此时,软件会自动显示与 Jlink 相关的驱动信息,包括当前使用的驱动程序以及可用的驱动程序列表。

选择将 Jlink 转为 WinUSB 格式。在软件界面中,找到对应的驱动程序选项(通常为 “WinUSB” 或类似名称),并点击 “Install driver” 按钮进行驱动安装。在安装过程中,系统可能会弹出安全警告提示,需用户确认并继续安装。

安装完成后,Zadig 会提示驱动转换成功。此时,可关闭 Zadig 软件,Jlink 驱动配置即告完成。通过此步骤,Jlink 调试器能够以 WinUSB 模式与电脑进行通信,为后续的调试工作奠定了基础。

二、Eclipse 工程创建与配置

(一)创建新工程

打开 Eclipse IDE,点击 “File->New”,选择新建 “C/C++ Project”。

在弹出的新建项目向导中,选择 “C Managed Build” 项目类型,该类型适用于 C 语言项目的开发和管理,能够方便地进行项目构建和调试设置。

点击 “Next” 按钮,进入下一步配置界面。在 “Project name” 文本框中输入工程名称,建议使用简洁明了且具有项目标识性的名称,如 “AS32_LED_Demo”。在 “Project types” 区域中,选择 “Empty Project” 作为项目类型,这样可以为项目提供一个干净的基础框架,便于开发人员根据实际需求自定义项目结构和配置。在 “Toolchains” 选项中,选择 “RISC - V Cross GCC”,指定该工程使用 RISC - V 架构的 GCC 工具链进行编译和链接。

再次点击 “Next” 按钮,在接下来的界面中,通常无需进行额外配置,可直接点击 “Next” 继续。

进入工具链配置界面后,在弹出的工程窗口中,找到 “Toolchain name and path” 配置项,点击路径选择按钮,定位到 ansilic_Toolchain 所在的路径,确保 Eclipse 能够正确识别并使用该工具链进行项目编译和调试。完成路径设置后,点击 “Finish” 按钮,即可成功创建一个新的 AS32 工程。

(二)目录管理

手动管理目录

右键点击工程名称,选择 “New->Folder”,创建子目录 “Peripherals”,用于存放 AS32 芯片的驱动文件。

在创建目录时,建议选择 “Create virtual folders” 选项,这样可以将驱动文件以虚拟路径的形式添加到工程中,避免将文件全部复制到工程目录下,便于后续对驱动文件的统一管理和更新。点击 “Finish” 按钮完成目录创建。

采用相同的方法,依次创建 “Core”(保存中断入口和链接文件)、“Startup”(存放启动文件)、“System”(存放开发人员自定义的延时函数和打印函数等辅助函数文件)、“User”(存放用户应用程序代码文件)等目录。创建完成后,工程的目录结构将变得更加清晰有条理,便于开发人员对不同功能模块的文件进行分类存放和管理。

接下来,需要向工程目录中导入相应的文件。右键点击相应的目录名称,选择 “Import”。

在弹出的导入向导中,选择 “General->File System”,点击 “Next” 按钮。

在新窗口中,浏览并选择之前下载的 Drivers 目录下对应的文件夹,勾选需要添加的文件。在导入文件时,通常无需勾选头文件(*.h),因为头文件主要起到代码声明和引用的作用,在实际编译过程中,编译器会根据需要自动包含相应的头文件。同时,建议勾选 “Advanced” 下的全部选项,以确保文件导入过程中的各种参数配置能够满足项目要求。

对于 “User” 目录,由于其是开发人员自己创建的目录,用于存放用户自定义的代码文件,因此可以直接右键点击该目录,选择 “New->File” 创建新的 C 源文件(.c)和头文件(.h)。在创建文件时,需为文件命名,并根据项目需求编写相应的代码逻辑。

自动创建

除手动管理目录外,还有一种更为简便的方法 —— 自动创建目录并导入文件。具体操作为:将国科安芯提供的 Driver 目录下所有子目录及其包含的文件复制到工程目录下。然后返回 Eclipse,右键点击工程名称,选择 “Refresh”,Eclipse 将自动识别并加载新添加的目录和文件,完成项目的快速搭建。这种方法适用于对项目目录结构和文件组织要求不是特别严格的场景,能够快速地将驱动文件和示例代码等资源导入到工程中,节省开发时间。

(三)项目配置

目标处理器配置

右键点击工程名称,选择 “Properties” 打开工程属性配置窗口。在左侧配置项列表中,依次展开 “C/C++ Build->Settings->Tool Settings->Target Processor” 节点,进入目标处理器配置页面。

根据 AS32 芯片的实际内核类型,选择对应的目标处理器选项。在本例中,若芯片内核为 RV32I,则在 “Target” 下拉菜单中选择 RV32I 选项。此外,还需按照项目需求对其他相关参数进行配置,如设置芯片的工作频率、内存大小等参数,以确保编译器能够根据芯片的实际硬件特性进行代码优化和编译。

编译器配置

在 “C/C++ Build->Settings->Tool Settings->GNU RISC - V Cross Assembler” 选项中,对 Cross 汇编编译选项进行配置。在 “includes->Include paths” 选项中,添加工程所需的汇编头文件路径。例如,将 “Core” 和 “Startup” 目录的路径添加到此处,以便汇编器能够在编译过程中正确地找到并包含相应的头文件。

同样地,在 “C/C++ Build->Settings->Tool Settings->GNU RISC - V Cross C Compiler” 选项中,对 Cross C 编译选项进行设置。在 “includes->Include paths” 选项中,添加工程所需的 C 语言头文件路径。通常情况下,需要添加 AS32 驱动库中 Drivers 目录下的相应子目录路径,如 Drivers/Include、Drivers/Peripherals 等,这样可以确保编译器在编译 C 源代码时能够正确解析对驱动库函数的调用和相关数据类型的定义。

链接器配置

在 “C/C++ Build->Settings->Tool Settings->GNU RISC - V Cross C Linker” 选项中,对 Cross C 链接选项进行配置。在 “General->Script files” 选项中,添加链接脚本文件(link.lds)。链接脚本文件用于定义程序的内存布局、各个代码段和数据段的存放位置等关键信息,是链接过程中的重要依据。同时,勾选 “Do not use standard start files” 和 “Remove unused sections” 选项,以避免链接过程中引入不必要的标准启动文件和未使用的代码段,从而减小程序的体积,提高程序的运行效率。

在 “Miscellaneous” 选项下,勾选 “Use newlib - nano” 和 “Do not use syscalls” 选项。Newlib - nano 是一个轻量级的 C 标准库实现,相较于完整的新lib库,其占用的存储空间更小,适合在资源受限的嵌入式环境中使用。而 “Do not use syscalls” 选项则表示不使用标准的系统调用接口,这对于在裸机环境下运行的 AS32 芯片程序来说是较为常见的配置,因为在这种环境下,程序通常直接与硬件进行交互,无需依赖操作系统的系统调用功能。

生成 bin/hex 文件配置

在 “C/C++ Build->Settings->Build Steps” 选项中,可以添加自定义的构建命令,用于在编译完成后生成 bin/hex 文件。bin/hex 文件是程序的二进制或十六进制格式的可执行文件,能够直接烧录到芯片中运行。在本例中,可在构建步骤中添加如下命令:“riscv - none - embed - objcopy - O binary ”led.elf“ ”led.bin“; riscv - none - embed - objdump - D ”led.elf“ > ”led.dump“”。其中,led.elf 为编译生成的可执行文件,led.bin 和 led.dump 分别为生成的二进制文件和反汇编文件。在更换工程时,只需将命令中的目标文件名称相应修改即可。

可以看到,无报错,到此,工程搭建全部完成。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    462

    文章

    53539

    浏览量

    459176
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18613

    浏览量

    387198
  • Eclipse
    +关注

    关注

    1

    文章

    119

    浏览量

    22422
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AS32系列MCU芯片中CRC计算模块的应用介绍

    、执行器动作异常甚至整个控制系统宕机。循环冗余校验(CRC)作为一种高效的错误检测技术,如同数据传输与存储过程中的"安全校验屏障",持续保障MCU与外部设备交互数据的准确性。本文将系统阐述国科安芯推出的AS32系列
    的头像 发表于 11-21 15:20 1109次阅读
    <b class='flag-5'>AS32</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b><b class='flag-5'>芯片</b>中CRC计算模块的应用介绍

    FreeRTOS 在 AS32系列RISC-V 架构MCU电机驱动中的应用实践与优化

    一、AS32系列 RISC-V MCU与 FreeRTOS 融合的电机驱动架构解析 1.1 硬件层: AS32
    的头像 发表于 11-13 23:33 524次阅读

    蜂鸟E203 Eclipse工程无法调试怎么解决?

    我使用githbird-e-sdk中指向的https://pan.baidu.com/s/1eUbBlVc HBird-Eclipse_2018_09.rar ,按照书中的步骤创建项目,一步步操作
    发表于 11-11 08:19

    普冉PY32MD320系列芯片深度解析

    做水泵、电动工具、航模开发的你,是否还在为 “MCU + 驱动板” 的繁琐设计头疼?普冉半导体最新推出的PY32MD320 系列芯片,直接把三相半桥驱动集成进 32 位 MCU,体积缩
    的头像 发表于 10-15 16:41 2344次阅读
    普冉PY32MD320<b class='flag-5'>系列</b><b class='flag-5'>芯片</b><b class='flag-5'>深度</b><b class='flag-5'>解析</b>

    生态芯进阶 | SEGGER J-Link/Flasher深度适配极海G32R50x系列实时控制MCU

      近日,SEGGER 宣布通过J-Link Prime芯片伙伴计划, 其“开盒即用”的 J-Link调试器和Flasher编程器,已完成对极海G32R50x系列实时控制MCU的生态适
    的头像 发表于 09-22 14:23 812次阅读
    生态芯进阶 | SEGGER J-Link/Flasher<b class='flag-5'>深度</b>适配极海G32R50x<b class='flag-5'>系列</b>实时控制<b class='flag-5'>MCU</b>!

    mcu芯片和soc芯片的区别解析

    MCU(微控制器单元)和SoC(系统级芯片)是两种常见的芯片类型,它们在设计目标、应用场景和功能集成上有显著区别。以下是主要差异的总结: 1. 核心结构与功能 MCU(Microcon
    的头像 发表于 08-12 11:34 3525次阅读
    <b class='flag-5'>mcu</b><b class='flag-5'>芯片</b>和soc<b class='flag-5'>芯片</b>的区别<b class='flag-5'>解析</b>

    GD32F4xx系列MCU基础工程资料

    GD32F4xx系列MCU基础工程创建.
    发表于 08-04 14:53 2次下载

    调试工具:Eclipse调试工具栏与窗口的深入分析

    科技有限公司自研AS32 系列 MCU 芯片调试应用为研究背景,通过详细阐述 Eclipse
    的头像 发表于 07-07 11:32 632次阅读
    <b class='flag-5'>调试</b>工具:<b class='flag-5'>Eclipse</b><b class='flag-5'>调试</b>工具栏与窗口的深入分析

    AS32系列MCU调试教程 SPI调试的常见问题解析

    协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、 LCD 等设备与 MCU
    的头像 发表于 06-27 18:10 549次阅读
    <b class='flag-5'>AS32</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b><b class='flag-5'>调试</b>教程 SPI<b class='flag-5'>调试</b>的常见问题<b class='flag-5'>解析</b>

    AS32系列MCU芯片I2C模块性能解析调试

    国科安芯推出的AS32X601内置的I2C模块提供了符合工业标准的两线串行制接口,可用于MCU和外部IIC设备的通讯。IIC总线使用两条串行线:串行数据线SDA和串行时钟线SCL。 IIC接口模块
    的头像 发表于 06-20 16:31 765次阅读
    <b class='flag-5'>AS32</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b><b class='flag-5'>芯片</b>I2C模块性能<b class='flag-5'>解析</b>与<b class='flag-5'>调试</b>

    硬件调试:JLink 驱动配置与调试技巧

    摘要: 本文深入探讨了 JLink 调试器在嵌入式系统硬件调试中的应用,详细阐述了 JLink 驱动配置的方法以及硬件调试技巧。本文以国科安芯的AS32
    的头像 发表于 06-12 23:20 1272次阅读
    硬件<b class='flag-5'>调试</b>:JLink 驱动配置与<b class='flag-5'>调试</b>技巧

    Nginx核心功能深度解析

    Nginx核心功能深度解析
    的头像 发表于 05-09 10:50 697次阅读

    RISC-V JTAG:开启MCU 芯片调试之旅

    在当今电子科技飞速发展的时代, MCU 芯片成为众多企业追求技术突破与创新的关键领域。而芯片调试过程则是确保其性能与可靠性的重要环节。本文以国科安芯自研 AS32A601为例,旨在详
    的头像 发表于 05-07 17:57 2346次阅读
    RISC-V JTAG:开启<b class='flag-5'>MCU</b> <b class='flag-5'>芯片</b><b class='flag-5'>调试</b>之旅

    【瑞萨RA2L1入门学习】RA2L1开发环境搭建

    \"OK\" 退出安装程序。 安装完成后,就可以开始使用 e² studio 进行开发了。 3. e² studio 环境搭建 1. 新建工程 打开 e² studio,点击文件
    发表于 03-07 11:33

    【敏矽微ME32G070开发板免费体验】介绍、环境搭建工程测试

    优化的高性能芯片,以满足客户日新月异的需求。 本文针对 ME32G070RBT6 配套开发板进行研究,分为三部分: 开发板和 MCU 介绍; 开发环境搭建工程测试。 1 简介 这里
    发表于 12-12 14:29