烧录N32G457是否有更便捷的方法?可以用CoFlash
本帖最后由 yang377156216 于 2022-4-13 19:22 编辑#申请原创# @21小跑堂
整体概览
开发单片机应用到最后都会涉及到生产烧录一个重要环节,这样也就催生出了一大产业——代烧录。那常用的烧录方式包括两大类和来自多种供应商渠道,分为在线烧录和脱机离线烧录,有些是芯片原厂自己设计提供给用户,有些是用户根据某些指定接口协议自制工装,有些是第三方专业烧录工具厂家提供相应服务。顾名思义,在线烧录需要工具连接 PC 机,对使用对象有一定操作技能的要求,但一般成本较低且流程不会太复杂,而离线烧录工具一般是将要烧录的文件提前放置于机器内且带有显示屏显示烧录流程,用户自己设计的话相对较为困难,第三方厂商提供的大多较贵。在踌躇于该选择怎样的烧录方式时,找到这么一种操作简便且成本较低的烧录方法——使用 CoFlash 上位机配合 CMSIS-DAP 调试工具。接下来的内容整体可分为以下几点:
[*]N32G45XVL-STB 开发板简介
[*]CoFlash 上位机简介
[*]适配 N32G457VEL7 流程
[*]操作演示
一、N32G45XVL-STB 开发板简介
考虑到身边只有一块国民技术的开发板——N32G45XVL-STB 开发板,刚好它也符合实验条件:板载了 CMSIS-DAP-NSLink 调试烧录器。N32G45XVL-STB 开发板用于国民技术股份有限公司高性能 32 位 N32G45XVL 系列芯片的样片开发,板载芯片型号为 N32G457VEL7,LQFP100 管脚封装 ,开发板把所有的功能接口都连接出来,方便客户开发。
关于 N32G45XVL-STB 开发板的其它资源介绍在此不作过多说明,用户可以参阅附件内容。
二、CoFlash 上位机简介
CooCox CoFlash 是 Windows下针对 Cortex M 系列芯片的 Flash 编程软件,支持大部分 Cortex M系列芯片。CoFlash 除了有一个直观的传统的图形用户界面外,它还支持命令行模式。CoFlash 配合 Colink,CoLinkEx,Nulink 等调试器使用。另外,用户还能够定义自己的编程算法来支持更多的 Flash 设备。
其他更多详情,可以查看官方介绍:http://www.coocox.com/CN/CoFlash_Programmer.htm
三、适配 N32G457VEL7 流程
由于下载安装好 CoFlash 后,发现该上位机暂时未能支持国产芯片 N32G457VEL7 ,而且国民官方也没有相应的技术支持,那么就需要自己动手去做好该芯片的适配工作了。总所周知,该芯片为 STM32 的国产替代产品,那很多生态方面的资源都可以参照 ST 的去做,所以我的思路也很清晰,先找到 ST 的一个最为相似的产品范本,然后在此基础上根据 N32G457 芯片本身特性去做修改。下面是我的适配工作流程:
1. 明确要准备好哪些东西
查看 CoFlash的安装目录,分析清楚各个目录下包含了哪些内容的文件,最终确定要准备好: 烧录算法文件 N32G457VEL7_512.elf ;设备资源描述文件 N32G457VEL7_512K.xml ;设备内存分配描述文件 n32g457vel7.xml (调试时候用)。
2. 如何制作 N32G457VEL7 的烧录算法
-- 在安装目录\src\flash\source 下,包含了自带的一些芯片烧录算法原工程文件,可以在这里面挑选一个作为参考。仔细对比分析 Flash 和 IWDG 的基地址情况发现 STM32F05x / STM32F10x 这两个原工程最适合,可以任意选择一项。新增一个工程文件夹如下:
data:image/png;base64,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***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***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
-- 修改编程驱动源文件中的关键点,其中 FLASH_WDG_SW 预编译定义值需要改为 0x00000004 ,适配 N32G457VEL7 ;另外 FlashProgramPage()函数需要修改,按照 Word 对齐方式进行编程,这里可以参照官方提供的 FLM 编程算法工程
-- 修改器件内存属性说明文件,要注意 Flash 的页大小为 2K
-- 修改 Makefile 文件中的 CHIP 名称,FLASH_CHIP = N32G457VEL7_512
-- 使用该 GCC 编译驱动文件进行 make ,得到烧录算法,再将 N32G457VEL7_512.elf 文件拷贝到 安装目录\flash 文件夹下
-- 在安装目录\config\devices 目录下添加国民技术的器件说明文件夹命名为 Nationstech ,然后同样拷贝一份 STM32F05x/STM32F10x 的器件描述文件,命名为 N32G457VEL7_512K.xml ,再根据实际内存资源大小改写文件
-- 最后在安装目录\config\debugger 下创建 n32g457vel7.xml ,该文件描述了 AHB/APB1/APB2 总线上挂载的外设基地址情况以及器件的 Flash 和 RAM 大小,如果不在 CooCox IDE 中进行调试的话,该文件可暂时不改动内容,用到时再按照 UM手册中的 图 3-2 总线地址映射图修改,另外还要注意 M4 内核 ID 为 0x2BA01477 。
到此,N32G457VEL7 芯片的 CoFlash 工具适配工作已经完成,可以进行测试使用了。
四、操作演示
实验中使用自己制作的按键和闪灯多 Task 示例工程,其中还有 SEGGER 的硬件错误定位函数包和 RTT 插件,可以作为 Template 使用。开发板起初在 KEIL 工程中擦除了全片,正常烧录程序运行起来后,可以看到 3 个用户指示灯交替闪烁。视频不便于上传(加上后超过篇幅限制了{:titter:}),至于附件压缩包中。
原文中的烧录文件工程文件如下:
都是 本帖最后由 xld0932 于 2022-4-19 16:59 编辑
介绍楼主来分享原创,果然有干货哦,赞这么快就晋升蓝V了呀,后面再接再厉哦
@21小跑堂 @21小管家
给楼主点赞,帮我解决了疑惑!
页:
[1]