【嵌入式烧录/刷写文件】-2.1-详解Intel Hex格式文件
目录
1 什么是Intel Hex
2 Intel Hex的格式
2.1 Intel Hex的Record结构
2.1.1 “Record type记录类型”的说明
2.1.2 “Record length记录长度”的说明
2.1.3 如何计算“Checksum校验和”
2.2 Record order记录顺序
2.3 Text line terminators文本行终止符
3 Hex文件的Variants变体
结尾
优质博文推荐阅读(单击下方链接,即可跳转):
点击返回「《Autosar从入门到精通-实战篇》总目录」
点击返回「《Autosar_BSW高阶配置》总目录」
点击返回《嵌入式硬件/软件开发刷写/烧录文件》专栏
1 什么是Intel Hex
Intel Hex格式最初于1973年为Intel的Intellec Microcomputer Development Systems (MDS)设计,以便从纸带上加载和执行程序。它还被用于向Intel指定memory内容,以便生产ROM。1973年,Intel的“软件小组”仅由Bill Byerly和Ken Burget以及作为外部顾问的Gary Kildall组成。从1975年开始,该格式被MCS系列II ISIS-II系统所利用,使用文件扩展名HEX。后来许多PROM和EPROM编程设备接受了这种格式。
Intel Hex文件格式是一种以ASCII文本形式传达二进制的十六进制值信息的文件格式。它通常用于对Microcontroller微控制器、EPROM和其他类型的可编程逻辑器件和硬件仿真器进行编程。在一个典型的应用程序中,compiler编译器或assembler汇编器将程序的源代码(例如C或汇编语言)转换为machine code机器码,并将其输出到HEX文件中。有些人还将其用作容纳流数据包的容器格式。由此产生的文件常用的扩展名是.HEX或.H86。然后,programmer编程器读取HEX文件,以将机器码写入PROM中,或传输到目标系统进行加载和执行。
2 Intel Hex的格式
2.1 Intel Hex的Record结构
一个Intel Hex文件由一系列ASCII text record组成,一个record的长度将小于或等于92字符。这些record从左到右有以下结构:
: | Byte Count | Address | Type | Data | Checksum |
举例:
1. Start code:一个ASCII冒号“:”(ASCII 0x3A)字符。在一条record中,这个符号之前的所有字符都应该被忽略。事实上,该规范的早期版本甚至要求在第一条record之前和最后一条record之后,至少25个NUL字符。然而,由于这是规范中鲜为人知的部分,并非所有编写的软件都能正确的处理这个问题。它允许在同一文件(甚至同一行)中存储其他相关信息,这是各种软件开发工具用来存储符号表或附加注释的设施,以及使用其他字符作为Start code的第三方扩展,如Keil的数字'0',Mostek的'$',或TDL的'!'、'@'、'#'、'\'、'&'和';'。按照惯例,“//”经常用于注释。这些扩展都不能包含任何“:”字符作为有效负载的一部分。
2. Byte count:两个十六进制数字(既,1个字节),表示Data段中的字节数。最大字节计数为255(0xFF)。8(0x08),16(0x10)和32(0x20)是常用的data byte数。
3. Address:四个十六进制数字(既,2个字节),表示Data段的16位起始memory地址偏移量。Data的物理地址是通过将此偏移量添加到先前建立的base address基址来计算的,从而允许memory寻址超过16位地址的64千字节限制。基址默认为零,可以通过各种类型的record进行更改。Base address和address offset始终表示为big endian大端值。
4. Record type(参见下文的record type):两个十六进制数字(既,1个字节),00到05,定义了Data段的含义。
5. Data:由2n个十六进制数字表示的数据组成的序列(既,n个字节)。某些record省略此Data段(n等于零)。data byte的含义和解释取决于应用程序。(4-bit data必须存储在字节的下半部分或上半部分,也就是说,一个字节只容纳一个可寻址的数据项)。
6. Checksum:两个十六进制数字(既,1个字节),一个计算值,可用于验证record是否有错误。一个record的checksum字节是checksum之前record中所有解码的字节值之和的least significant byte (LSB)的二进制补码(按位取反,再加1)。
2.1.1 “Record type记录类型”的说明
Intel HEX有六种标准record type:
Hex code | Record type | Description | Example |
00 | Data 数据 | byte count规定了record中的data byte数量。本例有0B(11个)data byte。data的16位起始地址(本例中从0010起始的地址)和data(61,64,64,72,65,73,73,20,67,61,70)。 | :0B0010006164647265737320676170A7 |
01 | End Of File 文件的结束 | 必须在Hex文件的最后一条record中准确出现一次。byte count始终为00,address段为0000,data段被省略。 | :00000001FF |
02 | Extended Segment Address 扩展段地址 | byte count始终为02,address段被忽略(通常为0000),data段包含一个16位段基地址。这个地址乘以16,然后加到每个后续的data record address上,形成数据的起始地址。这允许寻址到一兆字节(1048576字节)的地址空间。 | :020000021200EA |
03 | Start Segment Address 起始段地址 | 对于80x86处理器,指定起始执行地址。byte count始终为04,address段为0000,前两个data byte为CS值,后两个为IP值。执行应该从这个地址开始。 | :0400000300003800C1 |
04 | Extended Linear Address 扩展的线性地址 | 允许32位寻址(最高可达4GiB)。byte count始终为02,address段被忽略(通常为0000)。两个data byte(big endian)为所有后续的00型record指定32位绝对地址的上16位;这些上地址位适用于下一个04型record。00型record的绝对地址是由最近的04型record的高16位地址位和00型record的低16位地址位组合而成。如果一个00型record前面没有任何04型record,那么它的上16位地址位默认为0000。 | :020000040800F2 |
05 | Start Linear Address 起始线性地址 | byte count始终为04,address段为0000。四个data byte代表一个32位的地址值(big-endian)。在支持它的CPU的情况下,这个32位地址是执行开始的地址。 | :04000005000000CD2A |
其他record type已被用于变体,包括Wayne和Layne的06,BBC/Micro:bit Educational Foundation的0A、0B、0C、0D和0E,以及Digital Research的81、82、83、84、85、86、87和88。
2.1.2 “Record length记录长度”的说明
不同于Motorola S-record(S19/SREC/mot/SX)文件,Intel Hex文件中的record count仅用来表征Data段的长度,一个字节的record count最大为255,而8(0x08),16(0x10)和32(0x20)是常用的data byte数。
一个record的总长度最大为521个字符:
- Start code为1个ASCII字符(2个十六进制数字);
- Byte count为2个十六进制数字;
- Address为4个十六进制数字;
- Record type为2个十六进制数字;
- Data最大255*2个十六进制数字;
- Checksum为2个十六进制数字。
2.1.3 如何计算“Checksum校验和”
下面的record为例,来介绍Checksum的计算:
:208800000A3400090A34000A0A34000B0A34000C0A34000D0A34000E0A34000F0A34001004
Checksum计算过程:
1.对所有Byte count + Address + Record type +Data十六进制字节求和:
20 + 88 + 00 + 00 + 0A + 34 + 00 + 09 + 0A + 34 + 00 + 0A + 0A + 34 + 00 + 0B + 0A + 34 + 00 + 0C + 0A + 34 + 00 + 0D + 0A + 34 + 00 + 0E + 0A + 34 + 00 + 0F + 0A + 34 + 00 + 10 = 2FC。
2.保留最后一个LSB字节,即十六进制字节FC,其二进制为1111 1100。
3. LSB的二进制补码:取反为0000 0011,再加1后为0000 0100,即十六进制字节04。或checksum=FF - FC + 1= 04。
2.2 Record order记录顺序
当生成一个Hex文件时,需要按照一定的record order将数据和指令写入文件中。下面是Hex文件的record order:
1.扩展线性地址记录(Record type = 04 Extended Linear Address Record)
这是Hex文件的第一条record,用于设置程序的起始地址。该record的地址段必须设置为0,数据段包含扩展线性地址的高16位。这个record只有一个,并且是可选的。
2.扩展段地址记录(Record type = 02 Extended Segment Address Record)
这是Hex文件的第二条record,用于设置程序的起始地址。该record的地址段必须设置为0,数据段包含扩展段地址的高16位。这个record只有一个,并且是可选的。
3.数据记录(Record type = 00 Data Record)
数据记录包含程序的代码和数据。每个数据记录包含一个地址和一组数据。数据记录的地址必须按照从小到大的顺序排列。
4.结束记录(Record type = 01 End of File Record)
结束记录表示Hex文件的结束。该record的地址段必须设置为0,数据段为空。
在Hex文件中,扩展线性地址记录和扩展段地址记录是可选的,因为它们只在程序起始地址超过16位时才需要使用。数据记录是Hex文件中最常见的Record type,它包含程序的代码和数据。结束记录表示Hex文件的结束,并且必须出现在Hex文件的末尾。
需要注意的是,record order必须按照上述顺序进行,否则程序可能无法正常运行或数据丢失。因此,在生成Hex文件时,必须按照规定的record order将record写入文件中,以确保程序的正确性。
举例:
:0200000400E01A
:208800000A3400090A34000A0A34000B0A34000C0A34000D0A34000E0A34000F0A34001004
:208820000A3400110A3400120A3400130A3400140A3400150A3400160A3400170A340018A4
......
:20FFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:20FFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:0200000400E119
:20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
......
:20FFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:20FFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:0200000400E218
:20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
......
:20FFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:20FFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:0200000400E317
:20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
......
:20FFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:20FFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:0200000400E416
......
......
:20BF600092FEE1872737CCFFFF6B82EE806CE018EDE0140E4B0115EE8834EE82EDE0143562
:20BF8000C60B874AB21BFE1B84044411EC803BC7874ABA56FE1B826C851827FF31EC851B66
:02BFA0008A0A0B
:00000001FF
2.3 Text line terminators文本行终止符
Intel HEX record通常由一个或多个ASCII行终止符分隔,以便每条record单独显示在一个文本行上。这可以直观地分隔record来增强可读性,同时也提供了record之间的填充,可以用来提高机器的解析效率。但是,line termination character行终止符是可选的,因为“:”用于检测record的开始。创建HEX record的程序通常使用符合其操作系统约定的行终止符。例如,Linux程序使用一个LF(换行,十六进制值为0A)字符来终止行,而Windows程序则使用一个CR(回车,十六进制值为0D),后面跟着一个LF。
Intel HEX由ASCII文本行组成,这些文本由line feed换行符和/或carriage return回车符分隔。每个文本行都包含编码多个二进制数的十六进制字符。二进制数可以表示data、memory address或其他值,具体取决于它们在行中的位置以及行的类型和长度。每个文本行称为一条record。
3 Hex文件的Variants变体
您可能会遇到以下几种类型的hex文件:
- Intel HEX文件:这是最常见的hex文件格式,由Intel公司推出,用于将二进制数据转换成文本格式。这种格式的hex文件通常用于嵌入式系统的程序下载、烧录和调试。
- Motorola HEX文件:这种格式的hex文件通常用于旧版本的嵌入式系统和一些老式的烧录器。它与Intel HEX文件格式有些不同,但基本上还是将二进制数据转换为文本格式。
Motorola HEX文件的格式如下:
:BBAAAATT[DDDDDDDD...]CC
其中:
::冒号是记录起始的标志。
BB:表示该记录中数据的长度,以十六进制表示。这个长度不包括起始地址、记录类型和校验和,只包括数据部分的长度。
AAAA:表示数据的起始地址,以十六进制表示。这个地址是一个16位地址,也就是说,可以表示64KB的内存。
TT:表示该记录的类型,以十六进制表示。记录类型有四种:
00:数据记录,表示该记录包含数据。
01:结束记录,表示该文件的结束。
02:扩展线性地址记录,表示该记录包含一个扩展线性地址,用于超过64KB的内存空间。
04:扩展段地址记录,表示该记录包含一个扩展段地址,用于超过64KB的内存空间。
DDDDDDDD...:表示该记录中的数据,以十六进制表示。数据的长度由BB指定。
CC:表示校验和,以十六进制表示。校验和是整个记录中除了冒号以外的所有数据的累加和的反码加1。
- TI-TXT文件:这种格式的文件由德州仪器公司开发,通常用于烧录 TI 微控制器和数字信号处理器(DSP)。
TI-TXT文件的格式如下:
HDR
<length> <address> <type>
<D0> <D1> <D2> ... <DN> <checksum>
<CR><LF>
其中:
HDR:是文件头,指示该行是一个数据记录。
<length>:是数据的长度,以十六进制表示。
<address>:是数据在内存中的地址,以十六进制表示。
<type>:是数据的类型,以十六进制表示。类型有以下几种:
00:数据记录。
01:文件结束记录。
02:扩展段地址记录。
03:起始段地址记录。
04:扩展线性地址记录。
05:起始线性地址记录。
<D0> <D1> <D2> ... <DN>:是数据,以十六进制表示。
<checksum>:是校验和,以十六进制表示。校验和是数据记录中所有字节的和取反加1。
<CR><LF>:表示一个回车换行符,用于分隔每一行数据记录。
- S-Record文件:这是一种通用的记录格式(S19/SREC/mot/SX),由Motorola公司推出,可以用于表示不同类型的二进制数据。S-Record文件通常用于嵌入式系统的程序下载和烧录。
无论是哪种类型的hex文件,它们都包含了可执行程序的二进制数据和相关的元数据信息。在程序下载和烧录过程中,这些文件可以帮助确保程序正确地加载到嵌入式系统中。
部分内容摘自:
Intel Hex - 维基百科https://en.wikipedia.org/wiki/Intel_HEX
结尾
获取更多“汽车电子资讯”和“工具链使用”,
请关注CSDN博客“汽车电子助手”,做您的好助手。
相关文章:
【嵌入式烧录/刷写文件】-2.1-详解Intel Hex格式文件
目录 1 什么是Intel Hex 2 Intel Hex的格式 2.1 Intel Hex的Record结构 2.1.1 “Record type记录类型”的说明 2.1.2 “Record length记录长度”的说明 2.1.3 如何计算“Checksum校验和” 2.2 Record order记录顺序 2.3 Text line terminators文本行终止符 3 Hex文件的…...
【云原生】初识 Kubernetes — pod 的前世今生
目录标题前言🐳 Kubernetes到底是什么?🐬 K8s 的由来🐬K8s 的工作方式🐬 K8s 主要组件🐋Master 组件🐋Node 组件🐳 pod 是什么?🐬pod 的概念🐬控制…...
【基础篇】Java类加载器详解
类加载过程详解 类的生命周期 类从被加载到虚拟机内存到开始卸载出内存为止,生命周期可以简单概括为7个阶段:加载(Loading)、验证(Verification)、准备(Preparation)、解析ÿ…...
Pytorch动手实现Transformer机器翻译
Pytorch动手实现Transformer机器翻译前言一、环境配置1. torchtextMethod1:Method2:2. Spacy以en包下载为例:手动安装语言包到spacy3. NLTKMethod1:Method2:二、运行结果1. 模型训练(train)2. 翻…...
宝塔面板部署node+vue项目注意事项
宝塔面板部署nodevue项目注意事项 宝塔连接云服务器 如果服务器上没有安装宝塔面板,需要先安装,安装流程如下: 从宝塔官网主页进去,点击下载安装,然后点击在线安装 输入服务器IP和密码在服务器上安装宝塔面板 等待一…...
【LeetCode】剑指 Offer 39. 数组中出现次数超过一半的数字 p205 -- Java Version
题目链接:https://leetcode.cn/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/ 1. 题目介绍(39. 数组中出现次数超过一半的数字) 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可…...
fisco bcos用caliper0.2.0进行压力测试的安装配置
一、前期环境 1. 硬件 需要外网权限 2. 操作系统 版本要求:Ubuntu > 16.04, CentOS > 7, MacOS > 10.14 3. 基础软件 python 2.7,make,g,gcc,git sudo apt install python2.7 make g gcc git curl git confi…...
正在进行 | 用友企业数智化财务峰会落地广州 高能不断
3月28日,以「智能会计 价值财务」为主题的“2023企业数智化财务创新峰会”登陆广州。 此次用友企业数智化财务创新峰会,邀请了知名院校的专家学者、央国企等大型企业财务数智化领路人以及羊城权威媒体,近千人相约广州越秀国际会议中心,深度聚焦大型企业财务数智化创新应用…...
uniapp - APP云打包、蒲公英平台发布APP的步骤
一、uniapp 云打包 1、注册 dcloud 开发者 首先需要注册一个 dcloud 开发者的账号 dcloud开发者中心:登录 (dcloud.net.cn) 根据流程注册即可。 2、云打包(已安卓为例) 项目创建完成后,查看 dcloud 开发者中心,看是否…...
reposync命令详解--reposync同步aliyunyum库到本地
参考: reposync - 命令 - -桃枝夭夭- - 博客园 0. 简介 reposync 命令简单来说就是可以把指定外网源(repo id)的包同步到本地文件中 1. 安装 reposync 命令 [rootV10SP1-1 ~]# yum install -y dnf-plugins-core2. 常用选项以及参数 选项含义-c [fil…...
OCR之论文笔记TrOCR
文章目录TrOCR: Transformer-based Optical Character Recognition with Pre-trained Models一. 简介二. TrOCR2.1. Encoder2.2 Decoder2.3 Model Initialiaztion2.4 Task Pipeline2.5 Pre-training2.6 Fine-tuning2.7 Data Augmentation三. 实验3.1 Data3.2 Settings3.2 Resul…...
雷电4模拟器安装xposed框架(2022年)
别问我都2202年了为什么还在用雷电4安卓7。我特么哪知道Xposed的相关资料这么难找啊,只能搜到一些老旧的资料,尝试在老旧的平台上实现了。 最初的Xposed框架现在已经停止更新了,只支持到安卓8。如果要在更高版本的安卓系统上使用Xposed得看看…...
微信小程序支付完整流程(前端)
微信小程序中,常见付款给商家的场景,下面列出企业小程序中,从0起步完整微信支付流程。 一,注册微信支付商户号(由上级或法人注册) 接入微信支付 - 微信商户平台 此商户号,需要由主管及更上级领导…...
设置鼠标右键打开方式,添加IDEA的打开方式
一、问题描述 已下载IDEA,但是右键打开之前保存的项目文件,无法显示以IDEA方式打开。 二、解决步骤 1. 打开注册表 winR键输入regedit 2、查找路径为计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell (我找了半天没看到Class…...
LAMP架构之zabbix监控(2):zabbix基础操作
目录 一、zabbix监控节点添加和删除 (1)手动添加 (2)自动添加 (3)按照条件批量添加 (4)使用api工具进行管理 二、针对应用的zabbix监控 一、zabbix监控节点添加和删除 实验说明&a…...
ShareSDK常见问题
QQ-分享报错901111,9001010等 由于QQ现在需要审核后才可以分享(之前分享不需要审核),所以此错误解决方法只需通过腾讯开放平台的审核即可,另外要检查注册好的应用的基本信息,包名、md5签名和Bundle id是不…...
[Spring]一文明白IOC容器和思想
✅作者简介:大家好,我是Philosophy7?让我们一起共同进步吧!🏆 📃个人主页:Philosophy7的csdn博客 🔥系列专栏: 数据结构与算法 👑哲学语录: 承认自己的无知,乃…...
程序人生 | 与足球共舞的火柴人(致敬格拉利什,赋予足球更深的意义)
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…...
MATLAB | R2023a更新了哪些好玩的东西
R2023a来啦!!废话不多说看看新版本有啥有趣的玩意和好玩的特性叭!!把绘图放最前面叭,有图的内容看的人多。。 1 区域填充 可以使用xregion及yregion进行区域填充啦!! x -10:0.25:10; y x.^…...
Python Module — OpenAI ChatGPT API
目录 文章目录目录OpenAI Python SDKopenai.ChatCompletion 模块openai.ChatCompletion.create 函数OpenAI Python SDK 官方文档:https://platform.openai.com/docs/api-reference/introduction OpenAI Python SDK 用于开发与 OpenAI RESTful API 进行交互的客户端…...
Docker学习记录
阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。希望互相进步谢谢!! 文章目录阅读前请看一下:我是一…...
Linux-VIM使用
文章目录前言VIM使用1、切换模式2、跳转(1) 跳转到指定行(2) 跳转到首行(3) 跳转到末行3、自动格式化程序4. 大括号对应5. 删除(1)删除一个单词(2)删除光标位置至行尾(3)删除光标位置至行首(4&a…...
Windows安全中心内存完整性无法打开问题的处理方法
Windows11安全中心内存完整性无法打开 今天电脑使用过程中突然看到系统桌面右下角任务栏中 windows安全中心图标出现了警告信息,如下图红框所示: 点击该图标进入windows安全中心的 安全性概览 界面,如下图: 在该界面可以看到出现安…...
在芯片设计行业,从项目的初期到交付,不同的岗位的工程师主要负责什么?
大家都知道在芯片设计行业,项目是至关重要的一环。从项目的初期到交付,不同的岗位的工程师在项目的各环节主要负责什么?他们是怎样配合的?下面看看资深工程师怎么说。 一个项目,从初期到交付的过程是比较漫长的。我们知道最早的时候&#…...
Spring Cloud Alibaba全家桶(七)——Sentinel控制台规则配置
前言 本文小新为大家带来 Sentinel控制台规则配置 相关知识,具体内容包括流控规则(包括:QPS流控规则,并发线程数流控规则),BlockException统一异常处理,流控模式(包括:直…...
mysql-installer安装教程(详细图文)
目录 1.安装 2.配置系统环境变量 3.配置初始化my.ini文件 4.MySQL彻底删除 5.Navicat 安装 1.安装 先去官网下载需要的msi,在这放出官网下载地址下载地址 这里我具体以8.0.28 为安装例子,除了最新版安装界面有些变动以往的都是差不多的。 过去的版本…...
微服务架构第一阶段(nacos,gateWay,RPC)
最近在学习完 springcloud 微服务架构之后,自己用了之前的一个项目计划拆分成微服务的项目,第一阶段要求整合 nacos,RPC以及gateWay,首先来看一下几个技术组件的概念 RPC RPC 框架 —— 远程过程调用协议RPC(Remote …...
【Azure 架构师学习笔记】-Azure Data Factory (5)-Managed VNet
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Data Factory】系列。 接上文【Azure 架构师学习笔记】-Azure Data Factory (4)-触发器详解-事件触发器 前言 PaaS服务默认都经过公网传输, 这对很多企业而言并不安全,那么就需要对其进行安全改…...
ActiveMQ(三)
协议配置 ActiveMQ 支持的协议有 TCP 、 UDP、NIO、SSL、HTTP(S) 、VM 这是activemq 的activemq.xml 中配置文件设置协议的地方 <transportConnector name"openwire" uri"tcp://0.0.0.0:61616?maximumCon nections1000&wireFormat.maxFrameSiz…...
区块链多方计算 人工智能学习笔记
区块链:让数据不被篡改,但需要复制数据给每一块,造成数据泄露 多方计算 : 让数据用途可控。数控可用但不可见。 人工智能:数据更难造假 主讲人简介: 徐葳,宾夕法尼亚大学学士(在清华…...
镇江网站制作服务/2022推广app赚佣金平台
Cinder-api:接受api请求,交给cinder-scheduler调度资源 Cinder-scheduler:先在数据库中查找cinder-volume信息并交给其中一个处理 Cinder-volume:接受到请求,并调用driver驱动 Driver:调用后端真实存储…...
中国建设招标网网站首页/百度手机浏览器
(先感谢下大佬提供的教程:https://www.linuxidc.com/Linux/2018-08/153446.htm) CentOS版本:CentOS7 Minimal 第一步:先给系统设置个静态IP地址 先进入到网络脚本配置文件夹,看下系统有几个网络适配器(接口…...
免费一卡二卡三/苏州seo免费咨询
继续写,我不困。 上图1.app选择商品进行下单,请求后台获取签名订单信息。2.app通过SDK调起支付宝支付接口。3. 支付宝客户端发送支付请求到支付宝服务端。4.支付成功返回支付宝客户端5.返回给app,同步后台数据,验证签名支付结果&a…...
北京通州马桥网站建设/百度seo快速提升排名
发那科机器人的应用-IO模块CRMA15/16xxxxxxxxxxCRMA15xxxxxxxxxxxx这里200ID系列提供了28个输入和24个输出。首先我们来看一下CRMA15的引脚是如何定义的,从这张表中我们可以看到,50个端子中有12个端子是未定义状态,也就是没有任何作用&#x…...
乡村旅行网站开发的毕业论文/seo排名第一的企业
场景:由于自己的电脑A性能不足,需要转移到一台高性能的主机B上运行python程序,但是该主机不能连接互联网。问题:在个人电脑A上建立了一个虚拟环境,安装了依赖包并且调试程序使其能运行。但是将虚拟环境所在文件夹复制粘…...
如何做教育公司网站/夸克搜索引擎
在citus中一般使用一个CN节点多个work节点的模式,但是这种模式往往会面临一个问题:cn节点产生性能瓶颈。所以这种情况我们部署多cn还是很有必要的。 如果CN上主要的负载来自查询,可以为CN节点配置多个备机,做读写分离,…...