恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Windows下搭建杰里AC79XX芯片CodeBlocks开发环境完整指南

  • 首页
  • 资讯中心
  • /
  • Windows下搭建杰里AC79XX芯片CodeBlocks开发环境完整指南

相关资讯

HTTPS安全机制与TLS握手详解 2026/8/13 6:22:24
AI Agent共享记忆系统构建:突破上下文限制的工程实践 2026/8/13 6:22:24
儿童音乐分享网站毕业设计全栈开发指南:从架构到部署 2026/8/13 6:17:24

最新资讯

QEMU内核调试实战:从零搭建Linux内核开发与调试环境
揭秘大模型回复生成:从概率游戏到采编审校的完整流程
企业智能体开发怎么做?从需求分析、业务语义层到生产上线的10个关键步骤
揭秘大语言模型文本生成:从概率采样到工程落地的完整流程
大模型文本生成全流程解析:从提示词到安全输出的工程实践
SQL Server数据库结构探查:查询表名、字段类型与注释的完整指南

今日推荐

VSCode插件精选:从AI补全到代码规范,打造高效开发环境
如何快速完成文件批量重命名:FreeReNamer终极指南
2026年横评:宁波3大学科小升初机构全面对比

本周热门

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁
如何快速生成中国车牌图片:Python开源工具完整指南
当 LLM 遇见大文档:主流开源项目如何处理上下文超限

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Windows下搭建杰里AC79XX芯片CodeBlocks开发环境完整指南

发布时间:2026/8/13 6:22:24
Windows下搭建杰里AC79XX芯片CodeBlocks开发环境完整指南 1. 项目概述为什么是AC79XX和CodeBlocks最近在捣鼓一个基于杰里AC79XX系列芯片的小项目发现网上关于这个平台的开发环境搭建资料要么是零零散散的要么就是版本老旧对不上。尤其是很多朋友在搜索“杰里过滤文件夹”、“codeblocks安装教程”这些关键词时其实背后真正的需求是想在Windows系统上快速搭建一个能编译、调试AC79XX固件的稳定开发环境。AC79XX作为一款在消费电子领域应用广泛的蓝牙音频SoC其开发环境的搭建是后续一切应用开发、驱动调试乃至UI比如LVGL移植的基础。这个第一步走不顺后面的所有想法都只能是空中楼阁。我这次搭建的目标很明确在Windows 10/11 64位系统上使用官方推荐的CodeBlocks作为集成开发环境IDE配合杰里提供的工具链构建一个从代码编辑、编译到烧录的完整工作流。虽然也有朋友问“lvgl8.3的codeblocks模拟器能在win7 32位机上编译模拟运行吗”这其实指向了另一个话题——模拟器环境。对于AC79XX这种嵌入式开发我们首要搭建的是针对真实硬件的交叉编译环境模拟器通常是桌面应用开发时才更需要。所以本文将聚焦于硬件开发环境的搭建过程清晰步骤详尽你只要跟着做就能避开我踩过的那些坑顺利把环境跑起来。2. 核心工具链解析与获取搭建AC79XX开发环境本质上是配置一套针对ARM Cortex-M系列内核的交叉编译工具链并让它与CodeBlocks这个IDE无缝协作。核心组件包括编译器、调试器、烧录工具以及杰里自家的SDK和配置工具。理解每个组件的作用后续配置时才能心中有数遇到问题也知道该查哪里。2.1 工具链组成与作用一套完整的AC79XX开发工具链主要包含以下几部分ARM GCC交叉编译器这是核心中的核心。我们的开发机Windows是x86架构而AC79XX芯片是ARM Cortex-M架构。交叉编译器的作用就是在x86机器上生成能在ARM芯片上运行的机器码。通常是一个包含arm-none-eabi-gcc、arm-none-eabi-gdb等命令的工具包。杰里SDK软件开发工具包这是杰里官方提供的软件库包含了芯片的寄存器定义、外设驱动如GPIO、UART、I2C、音频编码器等、RTOS实时操作系统内核、以及一些基础应用框架。SDK是我们编写应用程序的基础提供了大量的API接口。配置与烧录工具杰里通常会提供一个图形化工具可能叫“杰里配置工具”或“Production Tool”用于生成芯片的初始化代码、配置时钟、引脚复用等。另一个关键工具是烧录器Download Tool用于将编译好的固件.bin或.hex文件写入到芯片的Flash存储器中。CodeBlocks IDE这是一个免费、开源的C/C集成开发环境。它本身不包含编译器但可以非常灵活地配置外部工具链。我们用它来管理项目文件、编写代码、调用交叉编译器进行构建以及配置调试器。它的优势在于轻量、可定制性强非常适合嵌入式开发。注意在寻找和下载这些工具时务必通过杰里官方或其授权的渠道获取。网络上流传的某些版本可能不完整、有病毒或与你的芯片型号不匹配会导致各种诡异的问题。建议直接联系杰里的技术支持或从其官网下载。2.2 关键文件获取与准备根据我的经验你需要准备以下文件具体名称可能随版本更新而变化gcc-arm-none-eabi-10-2020-q4-major-win32.zip或类似版本的ARM GCC工具链。推荐使用较新的版本如10.x以获得更好的优化和支持。AC79XX_SDK_Vx.x.x.zip杰里AC79XX系列的SDK包。版本号x.x.x请选择与你芯片具体型号匹配的最新稳定版。CodeBlocks-20.03mingw-setup.exeCodeBlocks的安装程序建议选择带MinGW的版本虽然我们不用它的MinGW但这个版本通常更完整。JerryTech_Production_Tool_vx.x.x.exe和JerryTech_Download_Tool_vx.x.x.exe杰里的配置与烧录工具。下载后建议在非系统盘如D盘创建一个清晰的目录结构来存放它们例如D:\Jerry_AC79XX_Dev\ ├── Tools\ │ ├── arm_gcc\ # 解压ARM GCC工具链到此 │ ├── CodeBlocks\ # 安装CodeBlocks到此目录 │ └── Jerry_Tools\ # 存放杰里配置和烧录工具 └── Projects\ # 未来存放你的工程文件 └── SDK\ # 解压杰里SDK到此这样做的好处是路径简单、无空格和中文能最大程度避免因路径问题导致的编译失败。3. 基础软件安装与环境变量配置有了工具下一步就是正确地安装和配置让系统认识它们。这一步的细节决定了后续编译的顺畅程度。3.1 ARM GCC工具链的安装ARM GCC工具链是“绿色版”的不需要安装只需要解压。将下载的gcc-arm-none-eabi-*.zip文件解压到你准备好的目录例如D:\Jerry_AC79XX_Dev\Tools\arm_gcc\。解压后其bin目录下应包含arm-none-eabi-gcc.exe等可执行文件。接下来是关键的一步将工具链的bin目录添加到系统的PATH环境变量中。这样无论在命令行还是CodeBlocks中系统都能直接找到这些命令。在Windows搜索框输入“环境变量”选择“编辑系统环境变量”。点击“环境变量”按钮。在“系统变量”区域找到并选中Path变量点击“编辑”。点击“新建”然后添加你的GCC工具链bin目录的完整路径例如D:\Jerry_AC79XX_Dev\Tools\arm_gcc\bin。点击“确定”保存所有更改。验证安装打开一个新的命令提示符CMD或PowerShell窗口输入arm-none-eabi-gcc -v并回车。如果配置正确你将看到一长串关于GCC版本信息的输出而不是“不是内部或外部命令”的错误。这一步验证至关重要务必确保通过。3.2 CodeBlocks的安装与初步配置运行CodeBlocks-20.03mingw-setup.exe。在安装过程中当选择安装组件时可以取消勾选“MinGW Compiler Suite”因为我们不会使用它。在选择安装路径时指向我们规划好的目录例如D:\Jerry_AC79XX_Dev\Tools\CodeBlocks。安装完成后首次启动CodeBlocks可能会弹出编译器自动检测框直接关闭即可。我们需要手动配置我们自己的编译器。进入CodeBlocks点击菜单栏的Settings-Compiler...。在弹出的“Compiler settings”对话框顶部点击“Copy”按钮基于默认配置创建一个新的编译器配置命名为“ARM GCC for Jerry AC79XX”然后点击“OK”。在左侧选中你新创建的“ARM GCC for Jerry AC79XX”配置。切换到“Toolchain executables”标签页。在“Compilers installation directory”一栏点击“...”按钮浏览并选择你的ARM GCC工具链的根目录例如D:\Jerry_AC79XX_Dev\Tools\arm_gcc。CodeBlocks会自动填充下面的程序文件名如arm-none-eabi-gcc.exe通常不需要修改但请检查确认。点击“OK”保存。至此CodeBlocks已经知道该使用哪一套编译器了。但一个完整的项目构建还涉及编译选项、链接脚本等这些需要在具体的工程中配置。4. 创建与配置第一个AC79XX工程环境搭好了我们来创建一个实实在在的工程看看如何将SDK、编译器和IDE串联起来。我会以一个最简单的LED闪烁例程为例。4.1 导入与理解SDK工程结构杰里的SDK通常自带一些示例工程Example。我们不需要从零创建最佳方式是先导入并成功编译一个官方例程。解压AC79XX_SDK_Vx.x.x.zip到D:\Jerry_AC79XX_Dev\SDK\。打开CodeBlocks点击File-Open...。浏览到SDK目录下的示例工程文件夹。通常路径类似SDK\project\ac79xx\demo\board\ac79xx_demo\。在这个目录里寻找一个名为ac79xx_demo.cbp的文件.cbp是CodeBlocks工程文件。选中并打开它。打开后在CodeBlocks左侧的“Management”面板的“Projects”标签页你应该能看到整个工程的文件树。花点时间浏览一下工程结构这对后续开发非常重要app/用户应用程序代码存放处。你的主函数main.c通常在这里。cpu/与CPU核心相关的底层代码如启动文件startup_ac79xx.s、系统初始化等。driver/芯片外设驱动库如gpio.c、uart.c等。include/所有头文件.h的聚集地包含了各种API声明和寄存器定义。system/系统级服务如时钟配置、中断管理、RTOS内核等。output/编译生成文件如.elf, .bin, .hex的输出目录。build/中间编译文件.o, .d的目录。4.2 关键工程配置详解打开工程后右键点击工程名称如“ac79xx_demo”选择“Build options...”。这里是配置的核心。编译器配置在左上角确保“Selected compiler”是你之前创建的“ARM GCC for Jerry AC79XX”。切换到“Compiler settings”标签页下的“#defines”子页。这里定义了全局的宏。SDK工程通常已经定义好了芯片型号例如AC79XX。不要随意修改除非你明确知道自己在做什么。搜索路径Search directoriesCompiler标签页这里添加编译器寻找头文件.h的路径。SDK工程通常已配置好相对路径如../include。你需要检查这些路径是否有效。更稳妥的做法是添加绝对路径例如D:\Jerry_AC79XX_Dev\SDK\include。将SDK中所有包含头文件的目录都添加进来。Linker标签页这里添加链接器寻找库文件.a的路径。同样检查并确保路径正确。编译选项Compiler flags在“Compiler settings”的“Other options”子页你会看到一系列-mcpu,-mthumb,-Os等参数。这些是给ARM GCC的指令。-mcpucortex-m4指定目标CPU为Cortex-M4AC79XX常见内核。-mthumb指示生成Thumb指令集的代码体积更小。-Os优化等级-Os表示优化尺寸。调试阶段可以改用-Og优化调试体验或-O0不优化便于单步调试。一个常见坑点如果编译报错找不到-specsnano.specs或-specsnosys.specs你可能需要手动指定这些specs文件的完整路径或者确保你的GCC工具链版本包含它们。有时需要添加-nostartfiles或--specsrdimon.specs等参数这取决于SDK的启动文件设计。具体需要参考SDK的文档或Makefile。链接脚本Linker script切换到“Linker settings”标签页。在“Other linker options”中你会看到-T参数后面跟着一个.ld文件例如-T..\cpu\ac79xx.ld。这个链接脚本文件定义了内存布局Flash和SRAM的起始地址、大小以及代码、数据、堆栈段的存放位置。绝对不要随意修改这个文件除非你非常了解芯片的内存映射并需要进行定制化分配。配置完成后点击“OK”保存。然后尝试点击工具栏的黄色齿轮图标Build或按CtrlF9进行编译。5. 编译、烧录与调试实战如果前面的配置都正确编译应该能成功。我们来看看成功后的输出以及如何将程序放到芯片上运行。5.1 编译输出与文件解读编译成功后在CodeBlocks底部的“Build log”窗口会显示 “0 errors, 0 warnings”并提示生成了一些文件。这些文件位于工程目录的output/文件夹下ac79xx_demo.elf这是包含调试信息的可执行链接格式文件。它最大包含了符号表、地址信息等用于调试。ac79xx_demo.bin纯二进制镜像文件。只包含机器码和数据体积最小是烧录到芯片Flash中的主要文件。ac79xx_demo.hexIntel HEX格式文件。也是一种常见的烧录格式包含地址信息。对于烧录我们通常使用.bin或.hex文件。5.2 使用烧录工具下载固件将你的AC79XX开发板通过USB线连接到电脑。通常开发板上的USB口用于供电和通信。打开杰里的烧录工具JerryTech_Download_Tool。工具通常会自动识别连接的芯片型号和串口号。如果没有可能需要手动选择正确的COM口。在工具界面中添加需要烧录的固件文件。点击“添加”或“浏览”找到你刚编译生成的ac79xx_demo.bin文件。关键一步设置烧录地址。这个地址必须与你的链接脚本.ld文件中定义的Flash起始地址一致。例如如果链接脚本中Flash起始地址是0x00000000那么烧录地址也应设为0x00000000。填错地址会导致程序无法启动。确保开发板处于“下载模式”。对于AC79XX这通常意味着板子上可能有专门的“BOOT”按键在按下载按钮前先按住“BOOT”键再上电或复位。或者需要短接Flash的某些引脚如BOOT_SEL到地。具体操作请务必参考你的开发板手册这是烧录失败最常见的原因。点击“下载”或“Start”按钮。工具会提示连接成功并开始擦除、编程、校验。成功后会有提示。将开发板退出下载模式通常是断电再上电或按复位键程序就应该开始运行了。如果例程是控制LED闪烁此时你应该能看到LED在闪烁。5.3 配置调试环境可选但重要对于复杂问题单靠打印日志是不够的需要在线调试。这需要硬件调试器如J-Link、DAP-Link和支持GDB的配置。硬件连接将调试器的SWD接口SWDIO, SWCLK, GND可能还有RESET连接到开发板对应的调试引脚上并通过USB连接调试器到电脑。安装调试器驱动确保电脑能识别你的调试器。在CodeBlocks中配置调试器再次打开工程的“Build options”。切换到“Debugger”标签页。在“Debugger type”中选择“GDB/CDB debugger”。在“Executable path”中指向你的GDB客户端通常是arm-none-eabi-gdb.exe位于你的GCC工具链的bin目录下。在“Debugger initialization commands”中可能需要添加一些初始化脚本例如连接目标板的命令。一个基础的初始化命令可能如下以J-Link为例target remote localhost:2331 monitor reset monitor halt load但这部分配置高度依赖于你的调试器和调试服务器如J-Link GDB Server, OpenOCD。更常见的做法是先单独启动GDB服务器然后在CodeBlocks的调试配置中仅设置远程调试。由于嵌入式调试配置较为复杂且依赖于具体硬件初次搭建环境可以暂缓这一步优先确保编译和烧录流程畅通。待基本开发熟悉后再深入研究调试会更有方向。6. 常见问题与排查技巧实录搭建过程很少一帆风顺下面是我遇到过的一些典型问题及解决方法希望能帮你快速排雷。6.1 编译阶段问题问题1编译报错fatal error: xxx.h: No such file or directory原因编译器找不到头文件。排查检查CodeBlocks工程配置中“Compiler”的搜索路径。确保包含了缺失头文件所在目录的绝对路径。检查SDK目录结构确认该头文件确实存在。在代码中检查#include语句的路径是否正确。SDK内通常使用相对路径如#include app_config.h这依赖于编译器搜索路径的设置。问题2链接阶段报错undefined reference to xxxx原因编译器找到了函数声明在.h文件中但链接时找不到函数实现在.c文件或库中。排查检查对应的.c文件是否被添加到了工程中。在CodeBlocks的工程文件树里查看。检查该函数所在的源文件是否被正确编译。有时文件虽在工程里但可能没有被添加到正确的“Build Target”中。如果函数在库.a文件中检查“Linker settings”中是否添加了该库文件-l参数以及库文件搜索路径-L参数。问题3工具链版本不兼容导致的奇怪语法错误原因SDK可能是用旧版本GCC编写的使用了新版本GCC中更严格的语法检查或已废弃的特性。解决尝试在“Compiler settings” - “Other options”中添加-stdgnu99或-stdgnu11来指定C语言标准。添加-fno-builtin来禁用一些内置函数冲突。如果错误是关于inline函数的可以尝试添加-stdgnu99并配合-fgnu89-inline。终极方案寻找与SDK推荐版本匹配的GCC工具链。6.2 烧录阶段问题问题1烧录工具无法连接芯片排查驱动检查USB转串口或调试器驱动是否安装正确设备管理器中是否有感叹号。模式确认开发板是否已正确进入下载模式BOOT引脚电平、上电顺序。这是最容易被忽略的一点。硬件检查USB线、连接线是否完好接触是否良好。尝试更换一个USB端口。工具配置在烧录工具中是否正确选择了芯片型号和串口号或调试接口类型问题2烧录成功但程序不运行排查烧录地址核对烧录工具中设置的起始地址是否与链接脚本.ld文件中的Flash起始地址完全一致。启动模式烧录完成后是否将开发板从“下载模式”切换回了“正常运行模式”通常是重新上电或复位。时钟配置检查程序初始化代码中系统时钟如PLL配置是否正确。一个错误的时钟配置会导致所有时序包括简单的延时函数全部错乱程序看似“死机”。最简单验证编写一个最简单的程序只操作一个GPIO口周期性翻转不涉及复杂外设和时钟初始化先验证最基础的“烧录-运行”流程是否通畅。6.3 工程管理与迁移心得路径问题CodeBlocks的.cbp工程文件内部使用的是相对路径。如果你移动了SDK或工程文件夹的位置很可能导致编译失败。此时需要重新配置工程中的搜索路径。因此前期规划好固定的工作目录非常重要。“杰里过滤文件夹”在SDK或编译过程中可能会生成大量中间文件。有些文件夹如build\、output\下的.o、.d文件在清理或备份时是可以过滤掉的。你可以在版本控制工具如Git的.gitignore文件中或文件同步工具的排除列表中添加这些文件夹和文件类型如*.o,*.d,*.bin,build/,output/以保持代码仓库的整洁。备份配置当你花费大量时间配置好一个可用的工程后强烈建议将整个工程目录尤其是.cbp文件备份。或者更专业的方式是创建一个干净的、配置好的工程模板以后的新项目都基于此模板创建能节省大量重复配置时间。环境搭建是嵌入式开发的第一步也是磨刀不误砍柴工的关键一步。把基础打牢后续的代码编写、驱动调试、功能移植才会事半功倍。当你第一次看到自己编译的程序在板子上如期运行时那种成就感会告诉你这些繁琐的配置都是值得的。如果在搭建过程中遇到上面没覆盖到的问题最好的方法是仔细阅读SDK包自带的文档如果有的话或者去相关的开发者社区搜索具体的错误信息通常都能找到解决方案。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号