飞思卡尔 S12 (X)串口下载移植

1 参考文章  https://blog.youkuaiyun.com/hellolru/article/details/84939856 和 Serial Bootloader for S12(X).pdf
2 修改启动程序。 Bootloader_S12X 里的汇编代码 StartS12X.s,找到对应人pin脚,如有pp0 改成 pt7
   _BootStart:

  ; -----------------------------------------------------------------------------
  ;movb  #$01, $025C ; enable pull up resistor on PP0 (or we can use external one)
  movb  #$80, $0244 ; enable pull up resistor on PT7 (or we can use external one)
  
  nop   ;wait a few cycles for stabilization of the signal
  nop
  nop
  nop
  nop
  
  brclr $0241, $80, GoBoot  ; if PT7 == 0 then start the bootloader
  ;brclr $0259, $01, GoBoot  ; if PP0 == 0 then start the bootloader
                            ; if PP0 == 1 then start the application
  
  ;movb  #$00, $025C ; disable pull up resistor on pin PP0 - restore default state
  movb  #$00, $0244 ; disable pull up resistor on pin PT7 - restore default state
  ; -----------------------------------------------------------------------------
  
3 应用程序修改,修改IVBR, 注意中断向量,读S-record格式,弄懂地址和数据。
    特别说明,中断一定要去掉中断号,不然中断向量的地址会出错。可通过转化过的S-Record (S2)来查看写入地址,也可读bootloader代码看写入地址的范围。

4 通过Xsheel ,传输,发送asiic 直接发送文件来更新程序。

5 工程应用中,启动条件和串口条件需要根据实际处理。

6 其他说明,原始工具里面有个SRecCvt,必须的非中文文件夹下执行。否则没有out文件生成。

软件介绍: 平时我们最常用到的下载程序的方法是通过USB数据线或其他数据线进行程序的烧写,这个方式是通过外界提供给单片机高电压来对flash擦除和写入完成的。而Bootloader不需要外界提供高电压仅靠正常工作电压便可完成对flash的擦除和写入,从而达到更新程序的目的。Bootloader的最大优点是:在不需要外部编程器的情况下,对嵌入式产品的应用代码进行更新升级。它使得通过局域网或者Intemet远程更新程序成为可能。例如,如果有5000个基于MCU的电能表应用程序需要更新,电能表制造商的技术人员就可以避免从事对每一个电能表重新编程的巨大工作量,通过使用Bootloader的功能,由控制中心通过电能表抄表系统网络,远程对5 000个电表重新编程。可见,Bootloader功能对于嵌入式系统的广泛应用具有十分重要的意义。关于Flash的擦除和写入,真的是让我最费力的一部分,网上的相关资料很少,好不容易找到了一点相关代码,却发现程序不能正常的运行,而且更令人无解的是程序本身怎么检查都检查不出错误。好啦,一点一点的说说我的辛酸史。首先,如果你在寻找卡尔的flash擦除写入操作,很遗憾的告诉你,如果你用的不是MC9S12XS系列,那么很有可能,你所需要的flash擦除写入操作和我接下来将要说明的擦除写入操作基本上不沾边(除了原理上),因为卡尔不同系列的单片机对flash的擦除写入操作的定义差别很大,不注意型号的话反而会被误导。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值