CN114816448A - 一种多功能脱机下载器 - Google Patents

一种多功能脱机下载器 Download PDF

Info

Publication number
CN114816448A
CN114816448A CN202210263416.7A CN202210263416A CN114816448A CN 114816448 A CN114816448 A CN 114816448A CN 202210263416 A CN202210263416 A CN 202210263416A CN 114816448 A CN114816448 A CN 114816448A
Authority
CN
China
Prior art keywords
burning
downloader
multifunctional
offline
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210263416.7A
Other languages
English (en)
Inventor
谭晨曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Xingyi Electronic Technology Co ltd
Original Assignee
Guangzhou Xingyi Electronic Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Xingyi Electronic Technology Co ltd filed Critical Guangzhou Xingyi Electronic Technology Co ltd
Priority to CN202210263416.7A priority Critical patent/CN114816448A/zh
Publication of CN114816448A publication Critical patent/CN114816448A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种多功能脱机下载器,包括:第一主控MCU,所述第一主控MCU内含用于存储多功能脱机下载器的自更新程序的第一FLASH存储器,以及GPIO、UART、USB、SDIO、QSPI、SPI、FMC、DMA和TIM用于实现脱机下载的外围设备等。能够支持用户扩展机台控制进行自动烧录、支持自定义编程算法、支持外部输入自定义数据进行烧录、支持烧录时运行用户临时代码、协助强化芯片软件加密、多功能脱机下载器联网时空管控等功能的多功能脱机下载器。通过预先对多功能脱机下载器进行配置,脱离PC和开发环境,直接便可对嵌入式电子产品上的芯片进行固件或数据的烧录。

Description

一种多功能脱机下载器
技术领域
本发明涉及嵌入式电子产品技术领域,尤其涉及一种多功能脱机下载器。
背景技术
嵌入式电子产品通常需要借助电脑、IDE或者自行搭建的开发工具链等运行于电脑上的开发环境、调试器、进行开发,开发过程中通过将调试器连接电脑,在开发环境中进行操作,控制调试器将编写好的固件烧录到嵌入式电子产品上的目标芯片中。嵌入式电子产品开发完成后,这种开发过程中烧录固件到目标芯片中的方式延续到了嵌入式电子产品大批量生产中继续使用,但是这种方式对于大批量生产嵌入式电子产品时很不友好,主要有以下几点原因:
(1)需要搭建开发过程中用到的开发环境,准备昂贵的PC,和一个调器;
(2)需要生产人员学习使用开发环境进行操作,难度较大;
(3)固件数据需要首先从PC传输到调试器,然后再烧录到目标芯片,降低了烧录目标芯片的效率,间接降低了生产效率。
针对上述第1点提到的开发过程中烧录固件到目标芯片的方法对于大批量生产嵌入式电子产品的弊端,市面上陆续出现了脱机下载器产品,通过在PC 上使用配套的配置软件,将用户需要烧录到产品的固件传输到脱机下载器中存储,然后便可脱离PC,也无需开发环境,直接使用脱机下载器便可对生产现场的嵌入式电子产品进行一键烧录。此类脱机下载器降低了搭建烧录嵌入式电子产品的生产环境的成本和部署难度,也简化了生产人员的操作方式,且由于固件直接存储在脱机下载器中而无需从PC获取,提升了烧录速度,也间接提升了生产效率。
随着技术的更新迭代,市面上已有的脱机下载器因功能单一已经不能满足客户的需求。而用户对于脱机下载器的功能提出了更多的要求,需要支持用户扩展机台控制进行自动烧录、支持自定义编程算法、支持外部输入自定义数据进行烧录、协助简化生产流程、协助强化芯片软件加密、烧录器联网管控等功能支持。
市面上一些常见的脱机下载器通常只支持同时烧录一个芯片,即使有支持多个通道烧写的,也是异步烧录,效率较低;如企业需实现生产线上多个产品同步烧录,则需准备多个脱机下载器,增加了企业的生产成本;
如今国内人力成本上升,人力资源较为紧张,部分企业已经将大规模的烧录工作由人工烧录转为机器自动化烧录以降低成本和提升效率,但是一些市面上常见的脱机下载器并不具备给用户进行二次扩展的接口;
伴随着如今的嵌入式电子产品的功能日趋强大,其设计也愈发复杂,测试流程也相应变得复杂,部分用户希望参与嵌入式电子产品生产过程的脱机下载器能够协助精简一些生产流程,降低生产难度,但是市面上的脱机下载器仅实现了将用户的固件烧录到目标芯片中的步骤,并不能为用户降低生产难度、提升生产效率提供好方法;
如今各式各样的嵌入式电子产品的出货量与日俱增,一些不法分子总是想方设法通过各式各样的破解方法来获取嵌入式电子产品的固件进行盗版,脱机下载器的用户需要脱机下载器配合自己实现更多的软件加密功能来防止固件被破解后运行与其他非正版的产品之上,而目前的脱机下载器提供的简单软件加密方式无法满足用户的需求,容易被反汇编、反编译等手段逆向破解。
脱机下载器能够提供的功能始终是有限的,无法满足所有用户的需求,而不同的客户希望按照自己的需求来烧录自己所需要的自定义数据,而如今市面上的脱机下载器只能烧录用户配置好的数据,不能再烧录时实时接收外部变化的数据烧录到目标芯片中,限制了用户的发挥;
由于脱机下载器中保存着嵌入式电子产品的固件,脱机下载器的安全至关重要,一旦脱机下载器被盗走,则意味着用户的产品有着极大可能性被盗版,因此势必要对脱机下载器进行区域管控,限制脱机下载器的使用时间和空间范围,杜绝因脱机下载器被盗走而导致产品被盗版的风险。
发明内容
为了解决上述技术问题,本发明提供了多功能脱机下载器。支持用户扩展机台控制进行自动烧录、支持自定义编程算法、支持外部输入自定义数据进行烧录、支持烧录时运行用户临时代码、协助强化芯片软件加密、多功能脱机下载器联网时空管控等功能的多功能脱机下载器。通过预先对多功能脱机下载器进行配置,脱离PC和开发环境,直接便可对嵌入式电子产品上的芯片进行固件或数据的烧录。
本发明提供的一种多功能脱机下载器,包括:
第一主控MCU,所述第一主控MCU内含用于存储多功能脱机下载器的自更新程序的第一FLASH存储器,以及GPIO、UART、USB、SDIO、QSPI、 SPI、FMC、DMA和TIM用于实现脱机下载的外围设备;
用于存储多功能脱机下载器应用程序的第二FLASH存储器;
用于存储多功能脱机下载器数据的第三FLASH存储器;
用于存储用户固件数据的大容量的可读写TF卡;
用于给本多功能脱机下载器供电、和电脑进行数据交换以实现功能配置的 USB从机接口;
用于USB扫码枪功能扩展的USB主机接口;
用于对多个通道芯片进行同步烧录的烧录接口;
用于提供给用户进行二次扩展的扩展接口;
用于与外界进行GUI图形界面交互操作的触控LCD;
用于回到GUI主界面和人工触发烧录的机械实体的Home键;
用于给多个通道被烧录的嵌入式电子产品进行供电的对外供电电源;
用于保护多个通道对外供电电源的输出保护电路;
用于切换所述第一主控MCU与USB从机接口、USB主机接口之间连接的 USB接口切换电路;
用于在所述第一主控MCU和烧录接口直接进行电平转换的电平转换电路;
用于一些低速率应用场合的IO扩展电路。
可选的,
所述第一主控MCU作为多功能脱机下载器的处理器,执行所述第一 FLASH存储器和第二FLASH存储器中的程序,存取所述第三FLASH存储器和TF卡中的数据,操作多功能脱机下载器上的其他外围设备或电路实现多功能脱机下载器的功能;
第一FLASH存储器中存储着多功能脱机下载器的自更新程序,自更新程序使得多功能脱机下载器能够完成对存储在第二FLASH存储器中的多功能脱机下载器的应用程序进行更新升级;第二FLASH存储器中存储着多功能脱机下载器本身的应用程序,应用程序实现通过USB从机接口与电脑的数据交换实现功能配置,通过触控LCD实现人机交换,通过烧录接口实现对目标芯片的烧录,通过扩展接口实现接受用户控制烧录等功能;
第三FLASH存储器中存储着多功能脱机下载器本身的配置数据,每次给多功能脱机下载器上电后,多功能脱机下载器将依据第三FLASH存储器中存储的配置进行初始化;
对外供电电源能够同时为多个通道目标芯片提供不同的供电电压,以适应芯片的供电要求。
可选的,
通过USB从机接口连接电脑进行功能配置和用户固件配置打包生成一个本多功能脱机下载器专用的镜像文件,然后保存到多功能脱机下载器的TF卡中,通过触控LCD操作多功能脱机下载器选择用户配置的镜像文件,连接要连接的芯片,按下Home键,多功能脱机下载器将根据用户的配置从TF卡中取出用户固件数据烧录到目标芯片之中。
可选的,
支持一个多功能脱机下载器对多个通道芯片进行同步烧录,提升烧录效率。
可选的,
支持用户扩展本多功能脱机下载器到用户自己的机台实现无需人员参与的自动烧录。
可选的,
支持为本多功能脱机下载器选择由用户自定义烧录算法来实现对芯片的烧录。
可选的,
支持通过从外部输入用户自定义的数据到本多功能脱机下载器中,由本多功能脱机下载器烧录到目标芯片中。
可选的,
支持在一次烧录过程中,实现将嵌入式电子产品的测试或者烧录步骤和烧录正式固件的步骤合二为一,简化生产流程,提高生产效率。
可选的,
支持用户完全自定义软件加密算法,由本多功能脱机下载器加载到目标芯片中引导运行,并根据需要烧录指定数据到目标芯片中。
可选的,
支持通过组网实现从时间和空间双维度对本多功能脱机下载器进行联网管控,防止本多功能脱机下载器被盗走造成固件外泄。
可选的,
所述的第一主控MCU为主频高达480MHz的ARM Cortex-M7内核MCU,内含128KB高速FLASH及1MB高速RAM,32KB高速L1 Cache,性能强劲,具有强大的运算和控制能力。
可选的,
所述USB从机接口采用USB-Type-C接口,连接到第一主控MCU的USB 外设,基于USB2.0的USB-HID和USB-MSC协议,其中USB-HID实现与电脑的指令交换,USB-MSC联合TF卡实现U盘功能用于存储用户生成的镜像文件。
可选的,
所述USB2主机接口采用USB-Type-A接口,连接到第一主控MCU的 USB外设,基于USB 2.0的USB-HID协议与USB扫描枪连接,实现从USB扫描枪获取用户的自定义数据进行烧录。
可选的,
所述第二FLASH存储器和第三FLASH存储器为SPI Nor FLASH,容量为 128Mbit,通信频率为120MHz,所述TF卡为Class 10高速卡,保障了所述第一主控MCU读取TF卡中文件的效率。
可选的,
所述对外供电电源可以为多个通道输出1.8V、3.3V、5V电压,并且各个通道独立输出,互不影响,单通道能够输出500mA以上的电流;对外供电电源通过如权利1所述的输出保护电路后连接到烧录接口,为目标芯片所在板卡供电。
可选的,
所述烧录接口分为多个通道,实现了SWD、SWIM、ICP、CC-DEBUG等多种协议,可实现对不同种类的芯片进行烧录;其中SWD用于烧录ARM Cortex内核的芯片,SWIM用于烧录STMicroelectronic的STM8,ICP用于烧录Nuvoton的N76E等8051芯片,CC-DEBUG用于烧录TI的CC25系列芯片;此外还有一个单通道的SPI接口可用于单独烧录SPI FLASH;烧录接口通过权利要求1所述的电平转换电路连接到第一主控MCU的内部的GPIO外设,由第一主控MCU进行驱动,实现烧录目标芯片时的指令与数据交换操作。
可选的,
所述扩展接口分为多个通道,与烧录接口的通道数量一一对应,每个通道有CTRL控制输入引脚和STAT1、STAT2、STAT3、CTRL状态输出引脚;此外还包含一个连接到第一主控MCU的UART外设的UART接口,用于与用户需要通信定义的扩展功能进行数据交换;通过扩展接口,用户可以精细控制多功能脱机下载器的任意一个烧录通道执行烧录和获取烧录结果。
可选的,
所述触控LCD为4.3寸800*480分辨率高清屏,可通过触控操作,与触控 LCD上显示的GUI图形界面进行交互,GUI图形界面基于开源图形库 LittleVGL编写,通过GUI图形界面可用完成镜像切换、进行烧录相关的操作、查看信息和对多功能脱机下载器一些自身的功能进行配置。
可选的,
所述的实体Home键位于产品正面的面板上,在GUI图形界面的任意一页,长按Home键均可返回到主界面;同时,在烧录界面下短按可以人工触发多功能脱机下载器执行一次烧录。
可选的,
所述的IO扩展电路主要用于一些低速率的电平输出场合,如控制扩展接口的状态输出引脚电平变化,控制多个通道的对外供电电源的输出电压等级切换等。
可选的,
所述的USB接口切换电路受控于第一主控MCU,当用户通过触控LCD操作多功能脱机下载器时,可以使MCU1连接到USB从机接口或者USB2主机接口。
本申请相对于现有技术具备如下有益效果:
1.通过提供扩展接口,受控于用户的自动化设备,使用户得以实现自动化烧录,减少对人力的依赖,降低生产成本,提升生产效率;
2.通过在烧录过程中运行用户的临时代码来实现功能测试或校准操作,测试或者校准完毕后继续进行烧录正式固件的方式,将原来需要分为两步的测试或者校准步骤与烧录正式固件的步骤合二为一,简化嵌入式电子产品的生产流程,降低生产成本,提升生产效率;
3.通过提供由用户完全自定义加密算法的方式,在芯片中运行用户的自定义加密算法,提升了用户的软件加密的自由度和强度;
4.通过USB主机接口和扩展接口中的UART串行通信接口接收用户的自定义数据,可以满足用户对于各式各样的自定义数据的烧录需求,提升了多功能脱机下载器的使用范围;
5.通过对多功能脱机下载器进行时间和空间双维度的联网管控,确保多功能脱机下载器仅能在指定的空间区域,指定的时间范围内使用,杜绝了因多功能脱机下载器被盗走而导致产品被盗版的风险,保护了研发企业的正当权益;
6.通过利用高性能第一主控MCU的GPIO外设功能,巧妙实现多个GPIO 管脚的电平同步输入输出,由此实现一个多功能脱机下载器对多个通道芯片进行同步烧录,提高了生产效率,且免去了购买多个多功能脱机下载器的成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的多功能脱机下载器的实施例结构示意图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
下面请参阅图1,本发明提供的一种多功能脱机下载器包括:
高性能的主控MCU1,内含用于存储脱机下载器的自更新程序的FLASH1 存储器,以及GPIO、UART、USB、SDIO、QSPI、SPI、FMC、DMA、TIM 外设等实现脱机下载器必须的外设;
用于存储脱机下载器应用程序的FLASH2存储器;
用于存储脱机下载器数据的FLASH3存储器;
用于存储用户固件数据的大容量的可读写TF卡;
用于给本脱机下载器供电、和电脑进行数据交换以实现功能配置的USB1 从机接口;
用于USB扫码枪功能扩展的USB2主机接口;
用于对多个通道芯片进行同步烧录的烧录接口;
用于提供给用户进行二次扩展的扩展接口;
用于与外界进行GUI图形界面交互操作的触控LCD;
用于回到GUI主界面和人工触发烧录的机械实体的Home键;
用于给多个通道被烧录的嵌入式电子产品进行供电的对外供电电源;
用于保护多个通道对外供电电源的输出保护电路;
用于切换主控MCU1与USB1从机接口、USB2主机接口之间连接的USB 接口切换电路;
用于在主控MCU1和烧录接口直接进行电平转换的电平转换电路;
用于一些低速率应用场合的IO扩展电路。
通过同时读写主控MCU1的GPIO外设的数据输入输出寄存器的多位数据,可以分时复用GPIO实现多个同步的SWD、ICP、CC-DEBUG协议的烧录传输通道;通过多个DMA外设通道、TIM外设、GPIO外设相互配合,同步触发 DMA通道触发搬运读写数据缓冲器到TIM外设相关的寄存器,可以实现多个同步的SWIM协议的烧录传输通道;基于该方案便可以在单核心的主控MCU1 的实现同时与各个通道的目标芯片执行数据交换,达到同步烧录多个通道目标芯片的目的;
通过在脱机下载器上提供一个扩展接口,引出多个通道控制信号输入引脚和状态信号输出管脚,用户通过自动化机台接入脱机下载器上的扩展接口的控制信号和状态信号即可控制脱机下载器执行烧录和获取脱机下载器的烧录结果,实现自动化烧录;
在脱机下载器的烧录过程中,烧录正式固件之前,先烧录一个临时固件到目标芯片,然后通过目标芯片的调试接口控制目标芯片运行临时固件,在临时固件中执行由用户自行设计的嵌入式电子产品的测试或者校准操作,测试或校准运行结束且结果正常后,继续执行正式固件的烧录。其中,临时固件由用户自行编写,临时固件需要具备一个与脱机下载器进行交互的功能:运行结束后,主动返回运行结果,然后使目标芯片停机,如在ARM内核的目标芯片中,临时固件可以使用以下两条汇编指令完成与脱机下载器的交互:
LDR R0,=retval;retval为临时固件运行结束后的返回值
BKPT 0xAB;使用BKPT指令主动停机
第一条指令将返回值放在CPU寄存器R0中,第二条指令时目标芯片内核停机(由于目标芯片处于脱机下载器的调试下,根据ARM内核的相关定义,在调试状态下,内核执行BKPT将停机)。脱机下载器检测到目标芯片停机后,将读取目标芯片的CPU寄存器R0中的返回结果检查是否正常,来决定是否继续烧录正式固件或者报错提醒测试或者校准步骤出错。该方案能够将嵌入式电子产品的生产过程中的测试、校准步骤和烧录正式固件的步骤合二为一,简化嵌入式电子产品的生产流程;
通过提供一个统一的调用接口形式,使用户可以在接口内实现完全自主定义的软件加密算法,用户将定义的加密算法编译成位置无关码,然后生成ELF 格式固件,脱机下载器通过解析ELF文件得到用户的软件加密算法和数据,烧录的时候加载软件加密算法到目标芯片的随机存储器RAM中运行,实现在烧录过程中运行用户自定义的软件加密算法;运行结束后,随机存储器RAM中的软件加密算法不会保留,保证了软件加密算法不会外泄,尤其适用于使用一些非对称的加解密算法;此外,还可以通过约定,当软件加密算法运行结束后,返回一些数据让脱机下载器烧录到非易失性存储器的指定位置中存储;
通过脱机下载器的USB2主机接口连接一个USB扫码枪,实现USB扫码枪多次扫码后,将得到的字符数据传输到主控MCU1中处理,然后依次烧录到各个烧录通道上的目标芯片中;同时,提供一套串口通讯传输协议,使用户可以通过扩展接口中的UART串口往各个通道的目标芯片中烧录自定义的数据,拓展脱机下载器的适用性,给用户更大的发挥空间;
搭建一个授权脱机下载器进行烧录的服务器,用户可以在该服务器上预先注册好需要授权使用的脱机下载器ID、设置授权脱机下载器烧录的方式、配置脱机下载器发送的加密信息所使用的加密算法、限制脱机下载器的使用时间范围等功能;在脱机下载器上实现每隔一段时间或者每次烧录开始前向服务器发送一串包含脱机下载器ID的加密信息,服务器收到加密信息后,解析出加密信息中的脱机下载器ID,然后根据用户设置的授权烧录方式和加密算法,重新加密脱机下载器的ID后发送给脱机下载器作为授权烧录信息,脱机下载器收到之后进行解析,如果解析得到的是自身的ID后,原样返回收到的加密信息给服务器以通知服务器收到了授权烧录信息,然后得以继续开始烧录;一旦脱机下载器发出加密信息后,无法接收到来自服务器发出的对脱机下载器自身ID 的授权烧录信息,脱机下载器将无法烧录;服务器和脱机下载器之前的通信不局限于任何一种具体的通信方式,诸如WIFI、Zigbee、4G/5G、Lora,、NB- IOT、BlueTooth、Ethernet等方式均可,视通信距离、成本、功耗等各方面可以灵活选择,只要应用层实现上述提及的通信逻辑便可。通过该方案可以实现联网可控的授权烧录,在服务器上面设定指定脱机下载器ID的授权时间范围,可以限制脱机下载器的使用时间范围,通过局域网组网可以限制脱机下载器的使用空间范围,而通过互联网组网则可以实现远程限制脱机下载器的使用;
为了更好的描述本技术方案的实施后带来的有益效果,下面结合我司研发的P400脱机下载器来描述具体的实施方式。
图1展示了P400脱机下载器的结构图,P400脱机下载器主要由主控 MCU1、触控LCD、USB1从机接口、USB2主机接口、FLASH1存储器、 FLASH2存储器、TF卡、Home键、对外供电电源、烧录接口、扩展接口等部分组成。
主控MCU1采用意法半导体基于ARM-Cortex-M7内核的高性能MCU型号STM32H750ZBT6,主频为480MHz,片上有32KB L1 Cache,1MB RAM, 128KBFLASH,包含丰富的外设资源,脱机下载器主要使用到的外设有:GPIO、 FMC、QSPI、SPI、SDIO、USB、TIM、DMA、UART;
FLASH1和FLASH2采用25Q128 SPI Nor FLASH,分别存储P400脱机下载器应用程序和应用数据,其中主控MCU1通过QSPI接口连接到FLASH1,读取并执行FLASH1中存储的应用程序,通过SPI接口连接到FLASH2进行读取和保存应用数据;
TF卡为Class10的高速卡,用于存储用户配置的固件数据,主控MCU1通过SDIO接口连接到TF卡来读取用户需要烧录的固件数据;
触控LCD由4.3寸的LCD显示器和触控面板组成,分辨率为800*400像素,16位颜色深度,采用8080接口通信。主控MCU1通过FMC接口连接到其中的LCD显示器进行图形显示,通过IIC接口连接到触控LCD的触控面板获取触摸事件和触摸坐标信息;触控LCD上显示由LittleVGL开源图形库编写的GUI图形界面,通过该GUI图形界面可以实现P400脱机下载器与人员的交互操作;
触摸面板之上设有一个机械式的实体Home键,在任意GUI图形界面下,长按Home键可以回到GUI主界面;在GUI图形界面的烧录界面下,短按 Home键可以人工触发一次烧录;
对外供电电源可以分别输出四路独立的电源到烧录接口中的电源输出引脚,可以配置输出1.8V、3.3V、5V等常用的电压;
如附图一所示,P400脱机下载器的烧录接口包含有A、B、C、D四个通道,可以为四个通道上的芯片同步烧录相同固件;每个通道上都实现了SWD、 ICP、CC-DEBUG、SWIM协议,这些不同的协议可以用来烧录不同类型的芯片,其中SWD、ICP、CC-DEBUG等传输时序使用非归零编码,高电平代码编码“1”,低电平代表编码“0”,且具有时钟线进行同步,所以对于时序并无严格要求,所以可以使用主控MCU1的GPIO来模拟实现相应的传输时序;而SWIM由于编码形式为归零码,使用GPIO模拟不好严格把控时序,所以使用 TIM定时器外设来实现;SWD、ICP、CC-DEBUG等三种协议的实现原理完全相同,下面以SWD举例说明如何在P400脱机下载器上面实现四通道同步烧录。
SWD协议为ARM公司设计的专门针对ARM内核芯片进行调试的调试接口的串行传输协议,通过SWD协议可以对被调试的目标芯片进行一系列的调试和数据读写操作。在P400脱机下载器中我们使用GPIO来模拟实现,首先一个SWD接口包含一条时钟线SWCLK和一条数据线SWDIO共两条线来实现,那么要在P400脱机下载器上面实现四个通道使用SWD进行同步烧录则总共需要八条信号线;设置好自动重装载寄存器ARR不同占空比的PWM来实现编码“0”和“1”;下面以SWD协议进行举例说明P400脱机下载器如何实现四个通道同步烧录。
将四个通道的SWD共八条信号线分为两组,时钟线:SWCLK1、 SWCLK2、SWCLK3、SWCLK4,数据线:SWDIO1、SWDIO2、SWDIO3、 SWDIO4;
从主控MCU1的GPIOA端口中选取四个GPIO作为时钟线SWCLK1、 SWCLK2、SWCLK3、SWCLK4的输出引脚,记为PA0、PA1、PA2、PA3,选取另外四个GPIO作为数据线SWDIO1、SWDIO2、SWDIO3、SWDIO4的输入输出引脚,记为PA4、PA5、PA6、PA7;
在主控MCU1中,通过设置GPIOA端口的BSRR寄存器的第0、1、2、3 位为“1”,可以使PA0、PA1、PA2、PA3输出高电平,将第16、17、18、19 位设置为“1”,可以使PA0、PA1、PA2、PA3输出低电平;同理,通过设置 GPIOA端口的BSRR寄存器的第4、5、5、7位为“1”,可以使PA4、PA5、PA6、PA7输出高电平,将第20、21、22、23位设置为“1”,可以使PA4、 PA5、PA6、PA7输出低电平;并且BSRR寄存器有一个特性,只有往相应的位写入“1”才会改变对应GPIO的电平状态,设置相应的位为“0”将会直接被略过,无任何电平变化产生;正因如此,我们可以实现只要操作一次BSRR寄存器就可以实现对四个通道的时钟线或者数据线进行同步翻转的操作,使得我们可以通过单核心的MCU1发出同步的多通道传输时序;
综上所述,根据我们选择的GPIO编号,我们可以得到对BSRR写入 0x0000000F可以使PA0、PA1、PA2、PA3同步输出高电平,即使四个通道的 SWD时钟线SWCLK1、SWCLK2、SWCLK3、SWCLK4同步输出高电平,对BSRR写入0x000F0000可以使PA0、PA1、PA2、PA3同步输出低电平,即使四个通道的SWD时钟线SWCLK1、SWCLK2、SWCLK3、SWCLK4同步输出低电平;同理对BSRR写入0x000000F0可以使PA4、PA5、PA6、PA7同步输出高电平,即使四个通道的SWD数据线SWDIO1、SWDIO2、SWDIO3、 SWDIO4同步输出高电平,对BSRR写入0x00F00000可以使PA4、PA5、PA6、 PA7同步输出低电平,即使四个通道的SWD数据线SWDIO1、SWDIO2、 SWDIO3、SWDIO4同步输出低电平;通过这种方法,当我们实现SWD时序时,需要拉高四个通道的SWCLK实现了P400脱机下载器通过烧录接口的四个通道对目标芯片进行同步烧录;
SWIM协议使用单线、归零编码传输时序,因此对实现有严格要求,所以我们在P400脱机下载器使用定时器外设TIM的PWM输出功能来实现;设置好ARR自动重装载寄存器后,设置两个不同的值CCR_VALUE_A、 CCR_VALUE_B用来装填CCR捕获比较寄存器以输出两个不同占空比的波形便可以实现归零编码的输出,所以我们需要将需要发送的“0”、“1”数组转换为由CCR值CCR_VALUE_A、CCR_VALUE_B来表示的数组,再配合四个 DMA通道同时触发搬运,将准备好的CCR值数组分别搬运到四个TIM定时器外设的CCR捕获比较寄存器中,即可是子安在四个通道中同步输出SWIM协议的传输时序,对使用SWIM协议的芯片进行四通道同步烧录;
如附图1所示,P400脱机下载器中的扩展接口包含有一个UART接口和A、 B、C、D四个通道,每个通道中均包含一个控制输入信号CTRL和三个状态输出信号STAT1、STAT2、STAT3,其中通过控制输入信号CTRL可以控制P400 脱机下载器的烧录接口的相应通道开始烧录,而烧录结束后,P400脱机下载器会通过状态输出信号STAT1、STAT2、STAT3输出代表忙碌、空闲、成功和失败等状态的电平信号。因此P400脱机下载器的用户可以假设自动化机台设备连接P400脱机下载器的A、B、C、D四个通道的控制输入信号和状态输出信号便可以控制P400脱机下载器进行烧录和获取烧录结果;此外,为了满足用户的多样化需要,P400脱机下载器还支持用户通过扩展接口中的UART接口发送命令触发烧录,也可以通过UART发送自定义的数据烧录到各个通道的目标芯片中,满足用户对于各式各样的自定义数据的烧录需求;
如附图1所示,P400脱机下载器具有USB2主机接口,通过USB2主机接口,可以接入市面上的USB扫码枪,通过USB扫码枪扫描用户预先设置好的自定义条码或者二维码,P400脱机下载器将收到USB扫码枪扫描到的数据烧录到目标芯片中,同样可以满足用户对于各式各样的自定义数据的烧录需求;
P400脱机下载器有一个允许在烧录过程中,运行用户的自定义加密算法的功能,为了让用户更加方便的自定义加密算法然后用在我们的P400脱机下载器上,我们定义了一个如下所示的C语言形式的接口:
int32_t syscall(uint32_t pram0,uint32_t pram1,uint32_t pram2,uint32_tpram3)
{
/*此处实现用户的自定义加密算法*/
}
还定义了如下一个C语言形式的数组,用于暂存用户需要烧录到目标芯片中的数据:
char program_data[PROGRAM_LENGTH]={0};
用户只需要在该接口中实现自定义的加密算法,然后将需要脱机下载器烧录到非易失性存储数据填充到program_data数组后,编译链接生成为位置无关的ELF文件,配置好P400脱机下载器后,P400脱机下载器将在烧录目标芯片的过程中,解析出ELF文件中用户自定义的加密算法加载到目标芯片的RAM 之中,然后调用syscall接口运行用户自定义的加密算法,运行结束后,读取用户保存到program_data中的数据,烧录到用户指定的地方。该方案可以实现用户自定义加密算法在目标芯片的RAM中运行,运行完毕后不会保留在目标芯片之中,保障了算法被反编译反汇编逆向破解的风险;
P400脱机下载器有一个引导运行用户临时固件的功能,P400脱机下载器在一次对目标芯片进行烧录的过程中,先烧录一个临时固件到目标芯片,然后通过目标芯片的调试接口控制目标芯片运行临时固件,在临时固件中执行由用户自行设计的嵌入式电子产品的测试或者校准操作,测试或校准运行结束且结果正常后,继续执行正式固件的烧录。其中,临时固件由用户自行编写,临时固件需要具备一个与P400脱机下载器进行交互的功能:运行结束后,主动返回运行结果,然后使目标芯片停机,在ARM内核的目标芯片中,临时固件可以使用以下两条汇编指令完成与P400脱机下载器的交互:
LDR R0,=retval;retval为临时固件运行结束后的返回值
BKPT 0xAB;使用BKPT指令主动停机
第一条指令将返回值放在CPU寄存器R0中,第二条指令时目标芯片内核停机(由于目标芯片处于P400脱机下载器的调试下,根据ARM内核的相关定义,在调试状态下,内核执行BKPT将停机)。P400脱机下载器检测到目标芯片停机后,将读取目标芯片的CPU寄存器R0中的返回结果检查是否正常,来决定是否继续烧录正式固件或者报错提醒测试或者校准步骤出错,通过使用 P400脱机下载器的临时代码功能,用户可以在烧录正式之前通过提前烧录到目标芯片中的临时固件对目标芯片所在的嵌入式电子产品进行测试或者校准,测试或者操作完成之后,P400脱机下载器能够自动继续烧录正式固件,完成从测试或者校准到烧录正式固件之间的所有流程,简化用户的生产流程,降低生产成本;
P400脱机下载器支持接入一个授权P400脱机下载器进行烧录的服务器,用户可以在该服务器上预先注册号需要授权使用的P400脱机下载器ID、设置授权P400脱机下载器烧录的方式、配置P400脱机下载器发送的加密信息所使用的加密算法、限制P400脱机下载器的使用时间范围等功能;在P400脱机下载器上实现每隔一段时间或者每次烧录开始前向服务器发送一串包含P400脱机下载器ID的加密信息,服务器收到加密信息后,解析出加密信息中的P400 脱机下载器ID,然后根据用户设置的授权烧录方式和加密算法,重新加密P400脱机下载器的ID后发送给P400脱机下载器作为授权烧录信息,P400脱机下载器收到之后进行解析,如果解析得到的是自身的ID后,原样返回收到的加密信息给服务器以通知服务器收到了授权烧录信息,然后得以继续开始烧录;一旦P400脱机下载器发出加密信息后,无法接收到来自服务器发出的对 P400脱机下载器自身ID的授权烧录信息,P400脱机下载器将无法烧录;服务器和P400脱机下载器之前的通信不局限于任何一种具体的通信方式,诸如 WIFI、Zigbee、4G/5G、Lora,、NB-IOT、BlueTooth、Ethernet等方式均可,视通信距离、成本、功耗等各方面可以灵活选择,只要应用层实现上述提及的通信逻辑便可。通过该方案可以实现联网可控的授权烧录,在服务器上面设定指定P400脱机下载器ID的授权时间范围,可以限制P400脱机下载器的使用时间范围,通过局域网组网可以限制P400脱机下载器的使用空间范围,而通过互联网组网则可以实现远程限制P400脱机下载器的使用。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。
机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器 (EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者 LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络) 来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN) 和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端- 服务器关系的计算机程序来产生客户端和服务器的关系。
人工智能是研究计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语音处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (21)

1.一种多功能脱机下载器,其特征在于,包括:
第一主控MCU,所述第一主控MCU内含用于存储多功能脱机下载器的自更新程序的第一FLASH存储器,以及GPIO、UART、USB、SDIO、QSPI、SPI、FMC、DMA和TIM用于外设实现脱机下载的外围设备;
用于存储多功能脱机下载器应用程序的第二FLASH存储器;
用于存储多功能脱机下载器数据的第三FLASH存储器;
用于存储用户固件数据的大容量的可读写TF卡;
用于给本多功能脱机下载器供电、和电脑进行数据交换以实现功能配置的USB从机接口;
用于USB扫码枪功能扩展的USB主机接口;
用于对多个通道芯片进行同步烧录的烧录接口;
用于提供给用户进行二次扩展的扩展接口;
用于与外界进行GUI图形界面交互操作的触控LCD;
用于回到GUI主界面和人工触发烧录的机械实体的Home键;
用于给多个通道被烧录的嵌入式电子产品进行供电的对外供电电源;
用于保护多个通道对外供电电源的输出保护电路;
用于切换所述第一主控MCU与USB从机接口、USB主机接口之间连接的USB接口切换电路;
用于在所述第一主控MCU和烧录接口直接进行电平转换的电平转换电路;
用于一些低速率应用场合的IO扩展电路。
2.如权利要求1所述的多功能脱机下载器,其特征在于:
所述第一主控MCU作为多功能脱机下载器的处理器,执行所述第一FLASH存储器和第二FLASH存储器中的程序,存取所述第三FLASH存储器和TF卡中的数据,操作多功能脱机下载器上的其他外围设备或电路实现多功能脱机下载器的功能;
第一FLASH存储器中存储着多功能脱机下载器的自更新程序,自更新程序使得多功能脱机下载器能够完成对存储在第二FLASH存储器中的多功能脱机下载器的应用程序进行更新升级;第二FLASH存储器中存储着多功能脱机下载器本身的应用程序,应用程序实现通过USB从机接口与电脑的数据交换实现功能配置,通过触控LCD实现人机交换,通过烧录接口实现对目标芯片的烧录,通过扩展接口实现接受用户控制烧录等功能;
第三FLASH存储器中存储着多功能脱机下载器本身的配置数据,每次给多功能脱机下载器上电后,多功能脱机下载器将依据第三FLASH存储器中存储的配置进行初始化;
对外供电电源能够同时为多个通道目标芯片提供不同的供电电压,以适应芯片的供电要求。
3.如权利要求1所述的多功能脱机下载器,其特征在于:
通过USB从机接口连接电脑进行功能配置和用户固件配置打包生成一个本多功能脱机下载器专用的镜像文件,然后保存到多功能脱机下载器的TF卡中,通过触控LCD操作多功能脱机下载器选择用户配置的镜像文件,连接要连接的芯片,按下Home键,多功能脱机下载器将根据用户的配置从TF卡中取出用户固件数据烧录到目标芯片之中。
4.如权利要求1所述的多功能脱机下载器,其特征在于:
支持一个多功能脱机下载器对多个通道芯片进行同步烧录,提升烧录效率。
5.如权利要求1所述的多功能脱机下载器,其特征在于:
支持用户扩展本多功能脱机下载器到用户自己的机台实现无需人员参与的自动烧录。
6.如权利要求1所述的多功能脱机下载器,其特征在于:
支持为本多功能脱机下载器选择由用户自定义烧录算法来实现对芯片的烧录。
7.如权利要求1所述的多功能脱机下载器,其特征在于:
支持通过从外部输入用户自定义的数据到本多功能脱机下载器中,由本多功能脱机下载器烧录到目标芯片中。
8.如权利要求1所述的多功能脱机下载器,其特征在于:
支持在一次烧录过程中,先运行用户临时代码对嵌入式电子产品进行功能测试或校准,再执行烧录正式固件,实现将嵌入式电子产品的测试或者校准步骤和烧录正式固件的步骤合二为一,简化生产流程,提高生产效率。
9.如权利要求1所述的多功能脱机下载器,其特征在于:
支持用户完全自定义软件加密算法,由本多功能脱机下载器加载到目标芯片中引导运行,并根据需要烧录指定数据到目标芯片中。
10.如权利要求1所述的多功能脱机下载器,其特征在于:
支持通过组网实现从时间和空间双维度对本多功能脱机下载器进行联网管控,防止本多功能脱机下载器被盗走造成固件外泄。
11.如权利要求1所述多功能脱机下载器,其特征在于:
所述的第一主控MCU为主频高达480MHz的ARM Cortex-M7内核MCU,内含128KB高速FLASH及1MB高速RAM,32KB高速L1 Cache,性能强劲,具有强大的运算和控制能力。
12.如权利要求1所述的多功能脱机下载器,其特征在于:
所述USB从机接口采用USB-Type-C接口,连接到第一主控MCU的USB外设,基于USB 2.0的USB-HID和USB-MSC协议,其中USB-HID实现与电脑的指令交换,USB-MSC联合TF卡实现U盘功能用于存储用户生成的镜像文件。
13.如权利要求1所述的多功能脱机下载器,其特征在于:
所述USB2主机接口采用USB-Type-A接口,连接到第一主控MCU的USB外设,基于USB 2.0的USB-HID协议与USB扫描枪连接,实现从USB扫描枪获取用户的自定义数据进行烧录。
14.如权利要求1所述的多功能脱机下载器,其特征在于:
所述第二FLASH存储器和第三FLASH存储器为SPINor FLASH,容量为128Mbit,通信频率为120MHz,所述TF卡为Class 10高速卡,保障了所述第一主控MCU读取TF卡中文件的效率。
15.如权利要求1所述的多功能脱机下载器,其特征在于:
所述对外供电电源可以为多个通道输出1.8V、3.3V、5V电压,并且各个通道独立输出,互不影响,单通道能够输出500mA以上的电流;对外供电电源通过如权利1所述的输出保护电路后连接到烧录接口,为目标芯片所在板卡供电。
16.如权利要求1所述的多功能脱机下载器,其特征在于:
所述烧录接口分为多个通道,实现了SWD、SWIM、ICP、CC-DEBUG等多种协议,可实现对不同种类的芯片进行烧录;其中SWD用于烧录ARM Cortex内核的芯片,SWIM用于烧录STMicroelectronic的STM8,ICP用于烧录Nuvoton的N76E等8051芯片,CC-DEBUG用于烧录TI的CC25系列芯片;此外还有一个单通道的SPI接口可用于单独烧录SPIFLASH;烧录接口通过权利要求1所述的电平转换电路连接到第一主控MCU的内部的GPIO外设,由第一主控MCU进行驱动,实现烧录目标芯片时的指令与数据交换操作。
17.如权利要求1所述的多功能脱机下载器,其特征在于:
所述扩展接口分为多个通道,与烧录接口的通道数量一一对应,每个通道有CTRL控制输入引脚和STAT1、STAT2、STAT3、CTRL状态输出引脚;此外还包含一个连接到第一主控MCU的UART外设的UART接口,用于与用户需要通信定义的扩展功能进行数据交换;通过扩展接口,用户可以精细控制多功能脱机下载器的任意一个烧录通道执行烧录和获取烧录结果。
18.如权利要求1所述的多功能脱机下载器,其特征在于:
所述触控LCD为4.3寸800*480分辨率高清屏,可通过触控操作,与触控LCD上显示的GUI图形界面进行交互,GUI图形界面基于开源图形库LittleVGL编写,通过GUI图形界面可用完成镜像切换、进行烧录相关的操作、查看信息和对多功能脱机下载器一些自身的功能进行配置。
19.如权利要求1所述的多功能脱机下载器,其特征在于:
所述的实体Home键位于产品正面的面板上,在GUI图形界面的任意一页,长按Home键均可返回到主界面;同时,在烧录界面下短按可以人工触发多功能脱机下载器执行一次烧录。
20.如权利要求1所述的多功能脱机下载器,其特征在于:
所述的IO扩展电路主要用于一些低速率的电平输出场合,如控制扩展接口的状态输出引脚电平变化,控制多个通道的对外供电电源的输出电压等级切换等。
21.如权利要求1所述的多功能脱机下载器,其特征在于:
所述的USB接口切换电路受控于第一主控MCU,当用户通过触控LCD操作多功能脱机下载器时,可以使MCU1连接到USB从机接口或者USB2主机接口。
CN202210263416.7A 2022-03-17 2022-03-17 一种多功能脱机下载器 Pending CN114816448A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210263416.7A CN114816448A (zh) 2022-03-17 2022-03-17 一种多功能脱机下载器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210263416.7A CN114816448A (zh) 2022-03-17 2022-03-17 一种多功能脱机下载器

Publications (1)

Publication Number Publication Date
CN114816448A true CN114816448A (zh) 2022-07-29

Family

ID=82528482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210263416.7A Pending CN114816448A (zh) 2022-03-17 2022-03-17 一种多功能脱机下载器

Country Status (1)

Country Link
CN (1) CN114816448A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115033444A (zh) * 2022-08-10 2022-09-09 合肥健天电子有限公司 基于8051core在线调试电路控制装置及控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115033444A (zh) * 2022-08-10 2022-09-09 合肥健天电子有限公司 基于8051core在线调试电路控制装置及控制方法

Similar Documents

Publication Publication Date Title
Maier et al. Comparative analysis and practical implementation of the ESP32 microcontroller module for the internet of things
US9047007B2 (en) Semantic zoom within a diagram of a system
US8713482B2 (en) Gestures for presentation of different views of a system diagram
CN105477854B (zh) 应用于智能终端的手柄控制方法、装置及系统
US7945895B2 (en) Graphical programs with FIFO structure for controller/FPGA communications
US7761846B2 (en) Graphical programming methods for generation, control and routing of digital pulses
JP5599400B2 (ja) 画像センサベースのヒューマンマシンインタフェースを提供する方法システムおよびソフトウェア
US8782525B2 (en) Displaying physical signal routing in a diagram of a system
US10809981B2 (en) Code generation and simulation for graphical programming
JPH0642210B2 (ja) 電子機器制御方法
US20130031501A1 (en) Weighted Zoom within a Diagram of a System
US20120026173A1 (en) Transitioning Between Different Views of a Diagram of a System
CN111190589A (zh) 一种可视化的编程方法及终端设备
WO2018150388A2 (en) A system and method for graphical programming
CN114816448A (zh) 一种多功能脱机下载器
EP1736869A2 (en) Program creation apparatus, program creation method and program
Smits et al. Composition of complex robot applications via data flow integration
CN111045667B (zh) 基于Lua脚本的图形化编程系统
US9483304B2 (en) Interface wires for a measurement system diagram
CN110471654A (zh) 通信协议的云端开发系统及计算机软件程序产品
CN102081520A (zh) 嵌入式硬盘录像机的图形用户界面创建方法及其系统
Palazzetti Getting started with UDOO
CN103383710A (zh) 基于sopc模拟脑电波的电路板及构建大脑动力学模型的方法
JPH0855042A (ja) データ処理システムをプログラミングする方法
JP2006172128A (ja) プログラム連携システムの処理方法および情報処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination