bin文件可以直接使用吗,ftp文件可以直接修改吗

本篇讲解关于bin文件可以直接使用吗,和一些ftp文件可以直接修改吗相关题,希望帮帮助到大家。

bin文件可以直接使用吗

公布了对于bootloader的短文以后,收到了许多探讨,今日笔者再和我们聊聊对于烧录文件的学呢。因为机械只辨认二进制文件,因此咋们经过编译器如CCS,IAR,KEIL,MALAB等等将C语言或者汇编语言编辑的程序转换为HEX或者BIN文件,随后下载到芯片中,这个样子芯片就能寻常运行了拉。

HEX和BIN文件的区分

HEX文件ASCII码文件,包罗了进级文件的位置和校验信息;位置不持续;

BIN文件十六进制文件,只包罗晋级数据文件;位置持续;

占用内存HEX文件 > BIN文件;

进级时候HEX文件 < BIN文件;(HEX文件晋级时候不牢固,随着文件大小更改;BIN文件晋级时候牢固)

由于文件位置能够飞跃,理-论上进级HEX文件比进级BIN文件耗时最短,效果更高;可是现实情形却恰恰相反呀。

因为HEX文件是ASCII码,因此须要上位机或者主机把HEX文件转成机械可辨认的二进制,再依照位置写进去;且现实运用发觉,有一些芯片飞跃位置写数据会失利,因此仍然须要持续位置写入了。因而须要上位机或者主机须要将HEX文件转BIN文件,再经过持续位置将文件写入啦。

笔者保举我们经过编译器直-接变成BIN文件,不单代码更精简,思维也更简易了。

引荐我们看TI或者ST的IAP程-序,例程都是变成的BIN文件呢。

那样的HEX文件怎么样转成BIN文件呢,接下来咋们一块聊一聊呀。

HEX数据格式

:08007000760076130048C01B66 // 随机截取一段HEX文件

<0x3a>

(冒号)

[数据长度1byte]

08(十六进制)

[数据位置2byte]

00 70(偏移位置)

[数据类型1byte]

00数据

01文件结尾

04基位置

[数据nByte]

760076130048C01B

[校验1Byte]

66

<0x0d>

<0x0a>

校验和的算法为盘算从0x3A 之后(不包罗0x3A)的一切各字节的和模256的余了。即各字节二进制算术和,不计凌驾256的溢出值,随后用0x100减去这一个算数累加和,得出得值便是此行得校验和

校验 = 0xff & (0x100 –(0x08+0x00+0x70+0x00+0x76+0x00+0x76+0x13+0x00+0x48+0xC0+0x1B)= 0x66

HEX文件剖析请求

1. 须要分辨基位置和偏移位置,位置为 基位置<<4+偏移位置

2. 中心飞跃的位置须要补0xff

3. 文件结尾要注重,不可以遗漏一两字节

hex转BIN文件措施

读一行数据,校验此行的数据格式能否准确(冒号,校验和,换行符);

差错,提醒“转换失利,第x行校验失利”了。

准确,读取第4个字节,

值为0x01,表现文件结尾,提醒“文件转换完结”

值为0x04,更新基位置为 BaseAddress = data<<16

值为0x00,纪录位置 Address = BaseAddress+data,数据长度len;数据data

hex转BIN文件举例

第一行:020000040008F2 ->基位置 0x0008

第二行:0400000000498BB078 ->数据 位置为 0x00080000,BIN文件为00498BB0

位置 = 0x00080000

BIN文件为 00498BB0;

预料位置 = 位置+长度/2 = 0x00080000+0x04/2 = 0x00080002

第三行:02000200AAAAA8 ->数据 位置为 0x00080002,数据为AAAA

位置=0x00080002=预料位置,不须要补数据

BIN文件为00 49 8B B0 AA AA

预料位置=0x00080002+0x02/2=0x00080003

第四行:200010008D007029762228C00068761A9A00D50028A403FFF7A496858F40040028A403FF9E->数据 位置为 0x00080010,数据为8D007029762228C00068761A9A00D50028A403FFF7A496858F40040028A403FF

位置=0x00080010>预料位置,BIN文件须要补FF,须要补个数=(位置-预料位置)*2=26,

BIN文件为00 49 8B B0 AA AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 8D 00 70 29 76 22 28 C0 00 68 76 1A 9A 00 D5 00 28 A4 03 FF F7 A4 96 85 8F 40 04 00 28 A4 03 FF

预料位置=0x00080010+0x20/2 = 0x00080020

第五行:20002000F7A496858F40800028A40FFFF7A496858F40900028A40FFFF7A496858F40A000CD->数据 位置为 0x00080020,数据为F7A496858F40800028A40FFFF7A496858F40900028A40FFFF7A496858F40A000

位置=0x00080020=预料位置, 不须要补FF;

BIN文件为00 49 8B B0 AA AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 8D 00 70 29 76 22 28 C0 00 68 76 1A 9A 00 D5 00 28 A4 03 FF F7 A4 96 85 8F 40 04 00 28 A4 03 FF F7 A4 96 85 8F 40 80 00 28 A4 0F FF F7 A4 96 85 8F 40 90 00 28 A4 0F FF F7 A4 96 85 8F 40 A0 00

预料位置=0x00080020+0x20/2=0x00080030

结语

以上便是关于HEX和BIN文件区分,和HEX转BIN文件的办法,看起来仍然比较简单的,便是工作量对比大,只想要控制了方法仍然不难呢。电脑因为内存大,运转速率快,因此没啥压力;假如经过MCU我去剖析就很慢也对比难熬痛苦呀。

关于在线进级的应用环境,笔者仍然期望我们多多运用BIN文件;TI和ST都供应了非常简单的变成BIN文件的计划,盼望我们多多依照了。

好了,今日就和我们分享到这里,有什麽想说的,一起身谈论区聊聊吧!

ftp文件可以直接修改吗

近期因为事情缘故原由,须要在CentOS7上安置FTP办事,一最先对vsftpd主配置文件中各属性不熟习,形成布置vsftpd破费了很长期,特在此纪录下安置设置历程及重要属性讲明了。

一.安置vsftpd

vsftpd安置

yum install -y vsftpd

vsftpd办事启动

截至systemctl stop vsftpd.service检察状况systemctl status vsftpd.service禁用开机启动systemctl disable vsftpd.service

安置ftp客服端

yum install ftp

默许安置vsftpd,如下是一些文件的地位商定

/etc/vsftpd/ftpusers ---- 不准运用VSFTPD的用户列表文件

/etc/vsftpd/user_list ---- 不准或者应运用VSFTPD的用户列表文件

/usr/sbin/vsftpd ---- vsftpd的主程序

/etc/vsftpd/vsftpd.conf ---- 主配置文件

/var/ftp ---- 匿名用户主目录

/var/ftp/pub ---- 匿名用户的下载大纲

两.修正配置文件

修正vsftpd的主配置文件/etc/vsftpd/vsftpd.conf

vim /etc/vsftpd/vsftpd.conf

是不是应用户跳出用户大纲(YES表现不容许,NO表现应)

chroot_local_user=YSE

listen_vip6=YES

能否启用chroot_list文件,使文件中的用户能够跳出用户大纲

chroot_list_enable=YES

设置用户阻挡机制,启用/etc/vsftpd/user_list文件且配置为白名单

userlist_enable=YES

userlist_deny=NO

当且仅当userlist_enable=YES时,userlist_deny项的设置才有用,user_list文件才会被运用;当userlist_enable为NO时,不管userlist_deny项为什么值都是失效的,当地全部用户(撤除ftpusers中的用户)都能够登入FTP了。

当userlist_enable=YES时,userlist_deny=YES时user_list是一位黑名单,即全部出-现在名单中的用户都会被谢绝登入;

当userlist_enable=YES时,userlist_deny=NO时user_list是一位白名单,即唯有出-现在名单中的用户才会被准予登入(user_list以外的用户都被谢绝登入)呢。

3)配置vsftp日记

日记文件的途径

xferlog_file=/var/log/xferlog

# 日记文件的样式

xferlog_std_format=YES

三.建立.删除用户

1)建立用户

useradd -d /mnt/ftpfiles -s /sbin/nologin lnftp

2)配置钥匙号码

passwd lnftp

3)变动用户权限

usermod -s /sbin/nologin lnftp //用户lnftp不可以telnet,只能ftpusermod -s /sbin/bash lnftp //用户lnftp恢复正常usermod -d /mnt/ftpfiles lnftp //变动用户lnftp的主目录为/mnt/ftpfiles

4)删除用户

userdel -r lnftp

本文对于那些bin文件可以直接使用吗和ftp文件可以直接修改吗的相关性题都进行详细的解,希望文章的内容能对大家有所帮助。

除非特别注明,本站所有文字均为原创文章,作者:admin

No Comment

留言

电子邮件地址不会被公开。 必填项已用*标注

感谢你的留言。。。