ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

TC264烧写总翻车?龙邱DAP与Memtool全流程避坑指南

TC264烧写总翻车?龙邱DAP与Memtool全流程避坑指南 1. 为什么TC264烧写总翻车先搞懂芯片和工具链的脾气智能车竞赛里TC264 是英飞凌 AURIX 家族里出场率极高的主控双核 TriCore 架构主频 200MHz带 DSP 和浮点单元做电磁、摄像头、越野组都够用。但新手拿到龙邱的核心板第一道坎往往不是写代码而是程序烧不进去。我见过太多队伍在赛前一周卡在“Memtool 连不上”“DAP 识别不到设备”上最后被迫换板子。这篇内容就是把我自己踩过的坑、帮学弟学妹远程排查的经验整理成一份可以直接照着做的烧写流程。核心工具是龙邱 DAP miniWiggler和英飞凌 Memtool目标芯片是TC264。适合刚接触智能车、第一次用 AURIX 系列主控的同学也适合已经能跑例程但烧写偶尔抽风的队伍参考。先说一个基本认知TC264 的烧写和 STM32 那种“一根 USB 线搞定”完全不是一回事。AURIX 芯片出厂时Flash 是锁定的需要先通过 DAP 接口解锁再写入程序。Memtool 这个软件本质上是英飞凌官方提供的 Flash 编程工具它通过 DAP 或 JTAG 和芯片的调试口通信完成擦除、写入、校验。龙邱的 DAP miniWiggler 就是把 USB 转成 DAP 协议的硬件桥价格便宜、体积小但对供电和接线比较敏感这也是很多问题的根源。注意TC264 的 DAP 接口和 JTAG 接口是复用的龙邱板子上通常引出一个 10pin 或 16pin 的排针丝印上会标 DAP 或 JTAG。接线前一定确认板子原理图不同批次的龙邱核心板引脚定义可能有微调。2. 烧写前的硬软件准备别急着插线先把这些对齐2.1 硬件清单与接线确认你需要准备的东西不多但每一样都不能凑合龙邱 DAP miniWiggler一个注意是带 10pin 灰色排线的版本不是那种只有 4pin 的简版。TC264 核心板或主板确认板上 DAP 接口的 pin1 位置通常用方形焊盘或丝印圆点标记。USB 数据线必须能传数据有些充电线只有电源线插上后电脑根本不认设备。独立供电TC264 主板最好用电池或稳压电源单独供电不要只靠 DAP 的 3.3V 带整板尤其是带摄像头和舵机的时候。接线对应关系我整理成表格以龙邱常见 10pin DAP 座为例DAP miniWiggler 引脚TC264 板 DAP 座说明1 (VCC)1 (VCC)3.3V 参考电压必须接2 (GND)2 (GND)共地必须接3 (DAP0)3 (DAP0)数据线必须接4 (DAP1)4 (DAP1)时钟线必须接5 (RESET)5 (RESET)复位信号建议接6-10对应部分为 NC 或额外信号实际接线时最常犯的错误是把 DAP0 和 DAP1 接反或者 pin1 方向搞错。接反了不会烧坏芯片但 Memtool 会一直提示“Cannot connect to target”。我的习惯是接好后用万用表蜂鸣档测一下 DAP 座 pin1 和 miniWiggler 排线 pin1 是否导通确认无误再上电。2.2 软件安装与驱动排查软件方面需要两个东西Memtool和DAS 驱动。Memtool 建议用 4.7 或更高版本老版本对 TC264 的支持不完整。DAS 驱动是英飞凌调试访问服务Memtool 通过它和 DAP 硬件通信。安装顺序很重要先装 DAS 驱动再装 Memtool。装完 DAS 后把 miniWiggler 插上电脑打开设备管理器应该能看到Infineon DAS JDS Debugger或类似名称的设备。如果显示黄色感叹号说明驱动没装好右键更新驱动手动指向 DAS 安装目录下的驱动文件夹。提示Win10 和 Win11 下 DAS 驱动有时会被系统自动更新覆盖导致 Memtool 突然连不上。遇到这种情况卸载设备后重新安装 DAS并在设备管理器里禁用自动驱动更新。还有一个容易被忽略的点Memtool 需要以管理员身份运行。普通权限下它可能无法访问 DAS 服务表现为“Target interface not available”。我一般直接右键 Memtool 快捷方式勾选“以管理员身份运行”省得后面排查。3. Memtool 烧写 TC264 全流程从连接芯片到程序跑起来3.1 新建工程与芯片型号选择打开 Memtool第一步是新建一个工程。菜单栏File - New在弹出的对话框里选择目标芯片。这里有个细节TC264 属于AURIX TC26x系列具体型号要选TC264DA或TC264D取决于你的芯片后缀。选错了会导致 Flash 地址范围不对烧进去程序也跑不起来。选完芯片后Memtool 会自动加载对应的 Flash 算法和内存映射。你可以在左侧看到 Flash 的扇区划分TC264 的 PFlash 通常从0x80000000开始大小 2.5MB 左右DFlash 从0xAF000000开始。这些地址在链接脚本里也会用到烧写时 Memtool 按扇区擦除所以不要随意修改默认的扇区配置。3.2 连接目标芯片与解锁 Flash点击工具栏上的Connect按钮或者按 F9。如果接线和驱动都正常Memtool 会显示芯片的 ID、电压和当前 Flash 状态。第一次连接一块新芯片时Flash 通常是locked状态需要先执行解锁。解锁操作在Target - Unlock菜单里Memtool 会提示你确认。解锁过程很快几秒钟后状态变成unlocked。这里要注意解锁会擦除整个 Flash包括你之前烧的程序。所以如果板子上有重要数据先备份再解锁。注意有些龙邱板子出厂时已经解锁过但如果你换了一块新芯片或者芯片被误操作锁上就必须重新解锁。解锁失败通常是供电不稳或 DAP 线太长导致的缩短排线、换电池供电往往能解决。3.3 加载 hex 文件与烧写配置解锁完成后点击File - Open选择你编译生成的.hex文件。Memtool 会自动解析文件内容并在右侧显示要写入的地址范围。这里要核对一下起始地址应该是0x80000000如果你的 hex 文件起始地址是0x80000020或别的值说明链接脚本配置有问题需要回编译器检查。烧写配置里有两个关键选项Erase mode建议选Erase sectors used by the file只擦除用到的扇区速度快对 Flash 寿命友好。Verify after programming一定要勾选烧完自动校验确保数据写入正确。配置好后点击Program按钮Memtool 开始擦除、写入、校验。整个过程大概十几秒到半分钟取决于 hex 文件大小。进度条走完后如果显示Programming successful说明烧写完成。3.4 复位运行与串口验证烧写完成后给 TC264 主板断电再上电或者按板子上的复位键。程序应该开始运行。如果你烧的是串口例程可以用 USB 转 TTL 模块接板子的串口引脚波特率通常 115200看是否有数据输出。我习惯在烧写后先不急着跑复杂程序而是烧一个最简单的LED 闪烁或串口打印例程确认芯片能正常启动。这一步能排除“烧进去了但没跑起来”的情况比如时钟配置错误、看门狗没关等。4. 常见问题排查连不上、烧不进、跑不起来怎么办4.1 Memtool 连接失败速查表连接失败是最高频的问题我把可能原因和排查方法整理成表格现象可能原因排查方法提示 Cannot connect to targetDAP 线接反或接触不良检查 pin1 方向万用表测通断设备管理器无 DAS 设备驱动未装或 USB 线问题换线、重装 DAS 驱动连接时好时坏供电不稳或排线过长独立供电缩短 DAP 排线提示 Target interface not availableMemtool 权限不足以管理员身份运行芯片 ID 读取错误芯片型号选错确认具体型号重选 TC264DA4.2 烧写成功但程序不运行的排查思路烧写成功不等于程序能跑。如果复位后没反应先检查这几个点启动模式TC264 有几种启动模式通过板上跳线或电阻选择。确认板子处于Flash 启动模式而不是串口下载模式。时钟配置AURIX 的时钟树比较复杂如果 PLL 没锁或者时钟源选错程序会卡在启动阶段。用调试器单步跟踪看是否停在IfxScuCcu_init之类的函数里。看门狗TC264 的看门狗默认可能是开启的如果程序里没及时喂狗芯片会不断复位。检查启动代码里是否关闭了看门狗。链接脚本确认程序入口地址和 Flash 起始地址一致中断向量表位置正确。4.3 串口烧写失败的替代方案有些同学想用串口烧写省去 DAP 硬件。TC264 支持通过UART 引导加载程序烧写但需要芯片处于 BSL 模式并且用英飞凌的专用工具。实际操作中串口烧写成功率远低于 DAP尤其是龙邱的板子串口引脚可能和调试口复用配置起来很麻烦。我的建议是老老实实用 DAP miniWiggler几十块钱的东西稳定性和速度都碾压串口。如果 DAP 实在连不上再考虑串口方案但要做好折腾半天的心理准备。5. 实操心得与避坑经验这些细节文档里不会写5.1 供电是万恶之源我帮别人排查烧写问题十次里有六次是供电问题。TC264 主板如果只靠 DAP 的 3.3V 供电带不动板上的稳压芯片和外设DAP 通信会不稳定。正确做法是主板用电池或独立电源供电DAP 只接 VCC 参考电压和 GND不要用 DAP 给整板供电。另外电池电压过低也会导致烧写失败。智能车常用的 7.4V 锂电池如果电压掉到 6V 以下稳压芯片输出可能不稳DAP 通信就会出错。烧写前测一下电池电压低于 7V 就先充电。5.2 DAP 排线的玄学龙邱原装的 DAP 排线质量一般用久了内部断线是常事。表现就是“昨天还能烧今天突然连不上”。我的做法是备一根质量好的 10pin 排线或者自己压接一根线长控制在 15cm 以内。排线越长信号质量越差尤其是 DAP1 时钟线容易受干扰。还有个小技巧如果连接不稳定可以在 DAP0 和 DAP1 上各串一个 22Ω 电阻能改善信号完整性。不过这是最后的手段先排查供电和接线。5.3 Memtool 的隐藏坑Memtool 有个不太友好的设计它不会自动保存上次的工程配置。每次打开都要重新选芯片、重新连接。如果你经常烧写可以建一个模板工程把芯片型号和烧写配置存好下次直接打开模板改 hex 文件路径就行。另外Memtool 在烧写大文件时偶尔会卡死进度条不动。这时候不要强行拔线等一两分钟如果还没反应关掉 Memtool给板子断电重启再重新连接。强行拔线可能导致芯片进入异常状态需要重新解锁。5.4 芯片被锁死的急救方法如果芯片被误操作锁死Memtool 连不上也解锁不了可以尝试上电复位时序先按住板子复位键点击 Memtool 的 Connect再松开复位键。这个操作能让芯片在复位期间响应 DAP 请求有一定概率恢复连接。如果还是不行可能需要用英飞凌的AURIX Flasher工具通过 DAP 强制解锁。这个工具比 Memtool 底层能处理一些 Memtool 搞不定的情况。不过操作有风险搞不好会把芯片彻底锁死建议先找有经验的学长帮忙。6. 从烧写延伸到调试让TC264开发更顺手的几个习惯烧写只是第一步真正做车的时候调试占的时间更多。我养成了几个习惯分享出来供参考。第一每次烧写前先编译确认无错误。AURIX 的编译器有时会生成有问题的 hex比如地址重叠、段未对齐。烧写前看一眼编译输出的 map 文件确认代码段和数据段地址正确。第二保留一个最小系统测试程序。我专门建了一个工程只做三件事初始化时钟、点亮 LED、串口打印“Hello”。每次换板子或换芯片先烧这个程序确认硬件和工具链都正常再烧正式代码。这样能把问题隔离在最小范围内。第三记录每次烧写的配置。芯片型号、Memtool 版本、DAS 版本、接线方式这些信息在出问题时非常有用。我见过有人换了电脑就烧不进去最后发现是新电脑没装 DAS 驱动。第四不要频繁解锁。Flash 解锁次数是有限的虽然 TC264 的寿命足够长但没必要每次烧写都解锁。只有第一次使用或芯片被锁时才需要解锁平时直接 Program 就行。第五用调试器而不是 printf。TC264 支持 DAP 调试可以单步、断点、看变量。比串口打印高效得多。Memtool 烧写完程序后可以用 AURIX Development Studio 或 iSYSTEM 的调试器连接实时查看运行状态。这些经验都是我在智能车备赛期间一点点攒下来的有些是踩坑踩出来的有些是看别人翻车总结的。TC264 这颗芯片本身很强大但工具链确实比 STM32 复杂新手需要一点耐心。把烧写这一关过了后面写代码、调参数就是水到渠成的事。
返回列表