J9官网载入教唆寄存器后现实-中国(九游会)官方网站

发布日期:2024-07-08 08:42    点击次数:53

先容J9官网

传统机载电子建造的轨范更新升级,大部分皆是在其贬责器对应的软件开导环境或第三方器具下通过外部编程器期骗特定契约(如 JTAG)将轨范烧写进贬责器的里面存储器中。

基于外部编程器的步调常用于建造的谋划、调试及测试阶段,平庸不错通过大开居品口盖、外壳或者预留抠门口进行操作,该步调诚然易于操作,且便捷调试,但平庸受空间以及传输距离的死心。

由于外部编程器所使用的轨范更新接口经常集成于建造或居品里面或者装置在复杂、顽固的环境下,并莫得通过串口或者外部其他汇集器汇集到居品外部。

因此在对其进行升级经常时需要终止居品智商进行,随机甚而需要返厂智商进行升级,无法终了外场升级,使得居品的升级抠门周期和资本大大加多,东谈主力物力资本腾贵。

跟着当代航空机载系统高速发展,对新一代机载建造的限度器轨范更新提议机上在线升级新要求,传统的离线轨范升级神色仍是不可昂然面前机载建造的要求。

因此终了通过外部总线(如 RS-232 总线、RS-422 总线、RS-485 总线、CAN 总线、PCI 总线、以太网、GPRS 及 429)总线等通讯神色,无需大开居品口盖即可完成其里面软件升级的在线加载轨范基本成了每种机载电子居品的基本功能要求。

本文先容一种基于微限度器的轨范在线升级的决策,通过外部串行接口继承待升级轨范的二进制码,并通过微限度器的加载轨范将其自主更新进里面轨范存储器,通过表面分析和老师考据其可行性及便携性。

ICSP 编程契约

在线串行编程(in-circuit serial programming, ICSP)是对PIC 微限度器存储器进行读和写的一种相当编程契约,该契约使用5根线完成编程契约。

差别为编程通用时钟口(programminggeneral clock, PGC)、编程通用数据口(programming general data, PGD)、电源、接地以及编程使能引脚(master clear, MCLR),通过对微限度器中现实轨范存储区进行读取拜谒,可细目现实轨范是否存在。

ICSP 功能通过使用数据线、时钟线向微限度器发送串行限度代码和教唆终了。

在 ICSP格式下,不管微限度器的时钟和飘扬器的成立位怎样确立,系统时钟皆来自 PGC 时钟引脚。

ICSP 格式下一次送入一个24 位的教唆,通盘教唆不像平庸格式不异从微限度器的里面

存储器现实轨范读取操作,而是将教唆串行的移入里面缓存区,载入教唆寄存器后现实。ICSP 格式下的 PGD 数据线的功能是移入数据,数据通过该信号移入微限度器。

PGC 时钟有两重作用,既可四肢贬责器现及时钟,又不错作为串行移位时钟。PGC 时钟线的飞腾沿用于发送 PGD 数据,下跌沿用于锁存该数据,且老是从发送数据的最低位启动传输。

1.1 ICSP 的 CPU 限度代码

ICSP 的 CPU 限度代码包含 SIX 串行教唆现实和REGOUT 串行教唆。SIX 串行教唆现实见图 1,SIX 限度代码用于发送教唆给 CPU 现实,而 REGOUT 限度代码用于从器件中读数据。

SIX 限度代码可用来现实 PIC 单片机的汇编教唆。CPU收到 SIX 限度代码时,会在 24 个时钟周期时天职将教唆移入单片机里面缓存。

紧接着在接下来 4 个时钟周期内现实该教唆,在现实教唆的过程中,CPU 会并行的将下一条限度教唆的 4 位敕令移入。

在 ICSP 格式下,REGOUT 限度代码用于从微限度器中读取数据。REGOUT 可将微限度器中 VISI 寄存器中的实质在 PGC 时钟限度下通过 PGD 数据引脚读取。REGOUT 串行教唆现实见图 2。

在继承到 REGOUT 限度代码后,贬责该敕令需要 8 个时钟周期,且在这 8 个时钟周期内贬责器保握空闲状况,CPU 在 8 周期后特等的 16 个周期将数据移出。

REGOUT 教唆不同于 SIX 教唆之处在于 PGD 的状况需要屡次转机,限度器发送教唆时,PGD 数据引脚从为输入引脚,贬责完限度代码后,PGD 引脚就会由输入酿成输出状况,将VISI 寄存器中的数据移出。

数据移出后,PGD 引脚又再行转机为输入状况,微限度器状况机保握 CPU 空闲直到下一个 4位限度代码被移入。

1.2 插足 ICSP 格式

图 3 给出了插足 ICSP 编程格式的三个法子:最初将编程使能 MCLR 引脚顷刻地拉为高电平,然后再拉为低电平,也即产生一个高电平脉冲。

该高电平电压为VIH,也即器件的VDD,且对高电平脉冲的握续时分无要求。

其次将32位密钥序列在PGC时钟限度下移入PGD,秘钥序列移入 PGD引脚必须在法子1中移除VIH的高电平脉冲后经过至少40 ns 的时分间隔。

该密钥序列宽度为 32 位,只好当继承到该密钥序列 32 位数据澈底正确时,微限度器才不错平常插足ICSP 格式,且必须老是从移入该密钥的高半字节的最高灵验位启动传输。

终末在指定的时天职(至少 40 ns)将 MCLR拉为高电平并保握状况不变(至少500 ns)。奏效插足ICSP格式后,就不错对微限度器轨范存储器进行拜谒和编程。

在线加载总体决策及经由

本文在线加载考据决策功能框图如图4所示,在线加载决策主要波及2个平台共3个轨范:上位机平台的加载轨范(下文简称 x86host)、微限度器镶嵌式平台的加载轨范BootLoader(下文简称 BootLoader)和应用轨范(下文简称App)。

x86host加载轨范通过PC宿主机开导环境生成,另外两个平台的轨范需要差别由两个微限度器开导环境产生。

应用轨范 App 即为待升级轨范的看法码,它是将待升级的应用轨范通过微限度器开导环境提供的邻接文献再行生成的十六进制文献。

除了在应用轨范软件工程中新加多了邻接文献外,其余轨范代码、编译环境等工程文献与原应用软件工程澈底一致,不错确保所生成的看法码相对原轨范在功能上的一致性。

在线加载决策的全体经由法子如下:

(1)上位机上运行微限度器开导环境工程,期骗微限度器开导环境将 BootLoader加载轨范工程生成可对微限度器进行烧写的 BootLoader.hex文献。

(2)上位机限度外部编程器期骗ICSP契约将 BootLoader.hex烧写进微限度器内。

闪存轨范存储空间总大小为12 kB(4 k×24 bits),地址边界为 0x0000~0x1FFF,每个地址对应一个16位字。

烧写完后其占用的闪存轨范存储空间边界为0x0100~0x06FF。其中 0x0000~0x00FF是复位向量和通盘的中断向量使用的地址,这段地址对每个轨范皆是固定的。

(3)BootLoader 加载轨范软件烧写完结后对微限度器再行上电,启动运行 BootLoader 加载轨范,恭候 x86host 加载轨范从串口发送教唆。

(4)PC 宿主机运行 x86host 加载轨范,x86host 将生成好的App.hex文献贯通并打包;

(5)x86host 加载轨范通过 RS232接口发送教唆并将打包好的数据发送至 BootLoader 加载轨范;

(6)BootLoader 加载轨范将继承到的数据(包括_reset、IVT/AIVT、Delay、App和成立寄存器数据)写入微限度器的闪存存储对应的空间,即可完成 App 轨范的烧写。

其中,x86host 加载轨范主邀功能是将微限度器开导环境产生的应用轨范十六进制文献读取贯通并通过 RS232 串口通讯发送给微限度器。

微限度器平台的 BootLoader 加载轨范主邀功能是期骗串口继承 x86host 发来的 APP.hex 文献,并将hex 文献中的机器码按照对应的地址写进微限度器的闪存轨范存储器中,同期也会对微限度器的中断向量表、成立位寄存器等进行成立。

BootLoader 加载轨范是固定不变的,可在居品出厂前通过外部编程器烧写固化在微限度器指定的轨范存储器空间中。

应用轨范 App 是把柄需求编写的可更新的特定功能代码,由加载轨范将应用轨范代码更新到应用轨范所对应轨范存储器空间中。

结语

本文针对机载系统各级限度器轨范在线斡旋升级的要求,筹商了基于微限度器的轨范在线升级本事。

先容了基于微限度器轨范存储器空间分拨、轨范烧写旨趣及在线加载决策。

通过实验通过 BootLoader加载轨范烧写App应用轨范的神色与通过微限度器开导环境自带编程器径直烧写App应用轨范末端一致,均能通过验收测试轨范。

微限度器具备终了软件在线加载功能的基本要求,即复古用户编写的轨范对轨范存储空间进行擦写操作,也复古轨范之间的相互跳转。

本加载决策粗略终了轨范代码的在线升级,不错大大进步软件抠门和升级的成果,具备很好的可操作性。

#中国东谈主为奈何此窘况#J9官网