查看: 9251|回复: 15

[分享] 福利来了,bin转.S有救了!

[复制链接]
  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
    发表于 2016-7-29 11:04:00 | 显示全部楼层 |阅读模式
          1.前面的废话
         在调试阶段有时会用到程序将bin转.S转换,可以负责任的讲网上的资源什么CSDN、太平洋网站,都是坑。因为曾经也想找个现成的,但是现实是没有!专业做这个的是个欧洲佬,写了一堆代码实现,附件上传了,功力深厚的可以改进下共享下。可以参考下网站http://www.pemicro.com/support/download_processor.cfm?type=5
           2.思路
           好了废话不多说了,要想完成bin转.S转换,首先要了解这两种格式的内在意思。S-record格式文件是FreescaleCodeWarrior编译器生成的后缀名为.S19的程序文件,是一段直接烧写进MCUASCII码,英文全称问Motorolaformat for EEPROM programming
           3.格式讲解
    S-record每行最大是78个字节,156个字符
    S-recordformat
      
    type
      
    count
    address
    data
    checksum
    type(类型)2个字符。用来描述记录的类型 (S0,S1,S2,S3,S5,S7,S8,S9)。
    count(计数)2个字符。 用来组成和说明了一个16进制的值,显示了在记录中剩余成对字符的计数。
    address(地址)4或6或8个字节。用来组成和说明了一个16进制的值,显示了数据应该装载的地址, 这部分的长度取决于载入地址的字节数。2个字节的地址占用4个字符,3个字节的地址占用6个字符,4个字节的地址占用8个字符。
    data(数据)0—64字符。用来组成和说明一个代表了内存载入数据或者描述信息的16进制的值。
    checksum(校验和)2个字符。这些字符当被配对并换算成16进制数据的时候形成了一个最低有效字符节,该字符节用来表达作为补充数据,地址和数据库的字符对所代表的(字节的)补码的byte总和。即计数值、地址场和数据场的若干字符以两个字符为一对,将它们相加求和,和的溢出部分不计,只保留最低两位字符NN,checksum=0xFF-0xNN。
    S0Record记录类型是“S0”(0x5330)。地址场没有被用,用零置位(0x0000)。数据场中的信息被划分为以下四个子域:
          name(名称):20个字符,用来编码单元名称
         ver(版本):2个字符,用来编码版本号
         rev(修订版本):2个字符,用来编码修订版本号
         description(描述):0-36个字符,用来编码文本注释
    此行表示程序的开始,不需烧入memory。
    S1Record记录类型是“S1”(0x5331)。地址场由2个字节地址来说明。数据场由可载入的数据组成。
    S2Record记录类型是“S2”(0x5332)。地址场由3个字节地址来说明。数据场由可载入的数据组成。
    S3Record记录类型是“S3”(0x5333)。地址场由4个字节地址来说明。数据场由可载入的数据组成。
    S5Record记录类型是“S5”(0x5335)。地址场由2字节的值说明,包含了先前传输的S1、S2、S3记录的计数。没有数据场。
    S7Record记录类型是“S7”(0x5337)。地址场由4字节的地址说明,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入memory。
    S8 Record记录类型是“S8”(0x5338)。地址场由3字节的地址说明,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入memory。
    S9Record记录类型是“S9”(0x5339)。地址场由2字节的地址说明,包含了开始执行地址。没有数据场。此行表示程序的结束,不需烧入memory。

    根据不同的描述信息,在以上三种不同的结束行中选择一种使用
             4 例子
    S19文件首行:S021000036384B50524F47202020313143524541544544204259204541535936384B6D
    首行翻译信息:S0  0000 6 8 K P R O G      1 1C R E A T E D   B Y   E A S Y 6 8 K
    色块图例:module name   versionnumber   revision number  checksum
    checksum的算法:
    0x21+0x00+0x00+0x36+0x38+0x4B+0x50+0x52+0x4F+0x47+0x20+0x20+0x20+0x31+0x31+0x43+0x52+0x45+0x41+0x54+0x45+0x44
    +0x20+0x42+0x59+0x20+0x45+0x41+0x53+0x59+0x36+0x38+0x4B=0x792
    checksum=0xFF-0x92=6D

    注意:EASy68K总是用S8record作为结束行。
         这边复制的有点多,因为不贴出来,下面实现思路没法讲。
         5.实现
              简单介绍下我的实现思路,软件:labview。1.首先我们要读取.bin文件,才能对bin文件进行操作。2.进行长度切割,将bin文件按照所需要的长度进行切割。3.checksum计算,算法已在上面公布。4.格式拼接,将片头片尾添上。5另存为.S文件。
               6.软件使用
                 首先安装,没有任何问题,一路走到底。
    格式转换.jpg
    APP bin文件选择,保存路径选着,保存文件名选择,APP基址和切割长度可选,会显示CRC检验码,供核对,功能选择分为只看校验码和转换为.S文件,要提前选择。
    软件安装提取https://pan.baidu.com/s/1slQpOpn    提取密码:ntpj
            7最后的废话
            最后希望大家尊重我的成果,私下交流可以,不要网上流传。曾想过自己留着,想着造福需要的人更好,因为技术无界限,交流才会提高。

    srec_146_src.zip

    19.62 KB, 下载次数: 62, 下载积分: 威望 1

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2019-9-19 08:55
  • 签到天数: 269 天

    连续签到: 1 天

    [LV.8]以坛为家I

    28

    主题

    2424

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2785
    最后登录
    2019-11-29
    发表于 2016-7-29 11:15:34 | 显示全部楼层
    给楼主点个赞~\(≧▽≦)/~
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-3-10 19:44
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    126

    主题

    525

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2018
    最后登录
    2023-12-25
    发表于 2016-7-29 11:58:04 | 显示全部楼层
    好东西!
    很开心
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-7-30 08:27:05 | 显示全部楼层
    谢谢资料共享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-9-17 17:18
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    26

    主题

    394

    帖子

    0

    高级会员

    Rank: 4

    积分
    970
    最后登录
    2019-10-9
    发表于 2016-7-30 09:21:31 | 显示全部楼层
    给楼主点个赞~\(≧▽≦)/~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    264

    帖子

    0

    高级会员

    Rank: 4

    积分
    694
    最后登录
    2024-9-22
    发表于 2016-7-30 16:17:25 | 显示全部楼层
    谢谢楼分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3306
    最后登录
    2023-6-23
    发表于 2016-7-30 17:41:57 | 显示全部楼层
    鼓励钻研!
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-12-22 09:09
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    24

    主题

    446

    帖子

    0

    高级会员

    Rank: 4

    积分
    876
    最后登录
    2019-3-8
    发表于 2016-8-2 08:51:03 | 显示全部楼层
    这个真心不错,之前都是用的官方自带的,似乎这个更专业,赞
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-17 13:22
  • 签到天数: 238 天

    连续签到: 1 天

    [LV.7]常住居民III

    30

    主题

    905

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    2251
    最后登录
    2024-10-8
     楼主| 发表于 2016-8-2 09:22:32 | 显示全部楼层
    digua96 发表于 2016-8-2 08:51
    这个真心不错,之前都是用的官方自带的,似乎这个更专业,赞

    试用过了?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-12-22 09:09
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    24

    主题

    446

    帖子

    0

    高级会员

    Rank: 4

    积分
    876
    最后登录
    2019-3-8
    发表于 2016-8-2 10:19:43 | 显示全部楼层

    这个思路真心不错,我都没下,测啥,支持一下原创
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-9 19:59 , Processed in 0.097488 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表