凌通DRV方案 (三、固件的制作和烧录详解 )

2023-11-11 02:50

本文主要是介绍凌通DRV方案 (三、固件的制作和烧录详解 ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

必备条件

IDE:ADS1.2 编译环境,通过此IDE可以编译出需要的.bin文件,这个.bin文件对应的是用户代码.

PS:这里提一点,编译前先要去编译,然后再Make编译

去编译:Project--->Remove Object Code...

一、GPCV1248开发板固件的制作

{

        开发板完整资料:(这份资料是经过修改的,保证可以用在开发板上并实现正常运行)

        链接: https://pan.baidu.com/s/1sy8eNZgN3XeCL4bBdpEBbg 提取码: ikrp

        解压密码:www.xiaofutech.com

}

软件准备:

GPCV1248_SPIFC_Pack_\ComBin.exe

文件准备:

GPCV1248_SDRAM_Header.bin

把之前准备好的GPL327XX_SPI_ROM.bin文件(在目录\resource中)放到..\ GPCV1248_SPIFC_Pack_\目录下,覆盖原来的文件。

制作方法:

运行ADS,用ADS打开project,build all,在\project\ xxx\ xxx\Release目录下会生成GPCV1248_Car.bin文件,即我们的code。将GPCV1248_Car.bin文件放到..\ GPCV1248_SPIFC_Pack_\目录下,覆盖原来的文件。

下面还需要将header、code 与GPL327XX_SPI_ROM.bin文件合并制作firmware。

PS:我上传的资料里给的字库和头文件都是最新的可以运行的,大家可以直接参考

  1. 运行..\ GPCV1248_SPIFC_Pack_\ComBin.exe,如下图

在addr =0 的地方加载GPCV1248_SDRAM_Header.bin

在addr =0x200 的地方加载GPCV1248_Car.bin

在addr =0x140000 的地方加载GPL327XX_SPI_ROM.bin

2.点Combin按钮,出现如下对话框,将合并后的文件保存到..\arm\gp_cardvr_upgrade.bin覆盖原来的文件。

最后得到的gp_cardvr_upgrade.bin文件就是我们需要的firmware,可以通过USB 工具烧录到机器中。

或者通过SDC 升级机器中的firmware.

二、GPCV1248开发板固件的烧录

软件准备:

\G+CodePacker 1.0.9 Patch 001\USBMassProductionTool

文件准备:

gp_cardvr_upgrade.bin

步骤:

1,运行\G+CodePacker 1.0.9 Patch 001\USBMassProductionTool \G+MassProductionTool.EXE

如下图

点Conf open/Settings按钮,进到设定中,点4:Erase,如下图

在Erease Length栏,填上需要擦除的SPI的Block 数,默认为40,一般不需要改动。

点5:Write,如下图

选择要烧录的文件之前做好的firmware 文件gp_cardvr_upgrade.bin

然后点Save按钮。

如果firmware 文件的路径不改可以不再设置。

2,如何将机器进入USB烧录模式。

如下USB部分电路,请按图修改。

进入USB烧录模式需要把SDC_CLK 这根pin拉高,所以需要把R44(100K)、R43(30K)贴上;直接由VCC_5V_USB分压,烧录时需要手动把VCC_5V_USB飞线到R43,烧录完成后再断开即可。

改好后接上USB线与PC相连会看到如下图出现一个USB设备在download 工具中。然后点Start Download按钮开始烧录,一直等到画面提示100% finish.表示烧录成功。

注意: 烧录完firmware 后,请记得将修改电路中短路线断开,不然机器没法正常跑code.

3,对于已烧录程序的样机,如需要update firmware ,除了用前面的USB烧录外,还支持用SDC升级(就是利用TF卡进行升级)

 方法是将firmware文件gp_cardvr_upgrade.bin放到SDC根目录下,把SDC插到机器上,上电开机,等出现开机画面过后你会看到升级提示,等到100%完成后,拔掉SDC,就可以了

PS:这个SDC升级对于开发还算方便,直接把编译好的gp_cardvr_upgrade.bin文件放在根目录,内部的代码会执行检测SD卡的代码,检测到后会尝试寻找gp_cardvr_upgrade.bin文件,如果找到则进入SDC升级状态,等升级完成拔掉SD卡,然后重新开机.

到这一步基本上所有的平台都搭建好了,可以自行进行功能开发.

 

这篇关于凌通DRV方案 (三、固件的制作和烧录详解 )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/387046

相关文章

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

SQL Server 中的 WITH (NOLOCK) 示例详解

《SQLServer中的WITH(NOLOCK)示例详解》SQLServer中的WITH(NOLOCK)是一种表提示,等同于READUNCOMMITTED隔离级别,允许查询在不获取共享锁的情... 目录SQL Server 中的 WITH (NOLOCK) 详解一、WITH (NOLOCK) 的本质二、工作

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原