前言

由于工作需要,写一TI芯片的串口烧录软件,以前使用过matlab python 写过上位机,但是我想顺便学习一下C#,就准备用C#写上位机,感觉上位机的套路都是差不多的,就是各种语言格式、库不一样而已。把这个过程写下来,免得自己以后忘了。

一、串口烧录的基本原理

先介绍一下大致的框架原理,通过芯片内部的固化烧写一段BootLoader程序,然后在利用BootLoader程序烧写真正的程序。所以写串口烧写软件需要同时写上位机和下位机,使他们进行配合。

TI芯片有出厂固化的一段程序,位于bootrom。因此我们是利用这段程序来进行串口烧写。
如果想查看这部分程序可以看通过TI官方C2000软件库,目录在
\C2000Ware_3_03_00_00\libraries\boot_rom\f2807x。写软件时候看看这部分还是很有必要的,不然无法理解bootleader是怎么烧写进去的,这部分软件主要就是一个函数。

void CopyData()
{struct HEADER {Uint16 BlockSize;Uint32 DestAddr;} BlockHeader;Uint16 wordData;Uint16 i;// Get the size in words of the first blockBlockHeader.BlockSize = (*GetWordData)();// While the block size is > 0 copy the data// to the DestAddr.  There is no error checking// as it is assumed the DestAddr is a valid// memory locationwhile(BlockHeader.BlockSize != (Uint16)0x0000){BlockHeader.DestAddr = GetLongData();for(i = 1; i <= BlockHeader.BlockSize; i++){wordData = (*GetWordData)();*(Uint16 *)BlockHeader.DestAddr++ = wordData;}// Get the size of the next blockBlockHeader.BlockSize = (*GetWordData)();}return;
}

这段程序挺好理解,数据帧也很简单。
数据长度+数据。

然后介绍怎么进入SCI Boot Mode,也就是上面这段代码。
在不连接仿真器时候默认是按照图片中红色箭头。

通过外部电路配置GPIO72与GPIO84,即可进入相应的模式。
我们在软件完成以后可以不连接仿真器烧写软件,但是开发阶段还是需要通过仿真器进入SCI Boot Mode,
通过上面框图,可以发现有两种方法。需要配置bootctr寄存器。
具体就需要好好研究一下芯片的官方手册了。

二、上位机

编写上位机可以参考一下官方的串口烧录软件flash_programmers,这在官方库软件C2000与controlsuit里面都有。顺便看看官方zhca806与sprabv4d介绍文档,基本可以搞清楚上位机是怎么回事。
大致逻辑上可以参考官方的,但是官方软件要是想用在批量生成上,那是做梦,那速度也就能够我吃顿饭。
上位机前面的部分还好写,因为bootrom固化程序的原因,格式已经定死了。烧写的BootLoader程序,必须转化为TI规定的文本格式,这个可以通过CCS设置得到一个txt文本程序文件。

但是烧写应用程序的格式我们就能自己决定了,这就需要与BootLoader程序配合了,这个程序TI官方也有例证,
C2000Ware_3_03_00_00\device_support\f2807x\examples\cpu1\F2807x_sci_flash_kern。直接在这上面修改就可以了。

TIDSP TMS320F28075 芯片串口烧录软件编写相关推荐

  1. 单片机烧录软件编写_单片机技术系列之一:单片机概述

    按控制要求设计好单片机电路原理图后,还要依据电路原理图将实际的单片机电路制作出来.制作单片机电路有两种方法:一种是用电路板设计软件(如Protel99SE软件)设计出与电路原理图相对应的PCB图(印制 ...

  2. stm32烧录软件_stm32怎么烧录程序

    STM32烧录程序目前笔者知道的有三种:JLink ,Ulink和串口烧录,使用工具分别为:JLink,ULink以及USB转TTL线. ULink 烧录程序 在安装MDK过程中,会有提示是否安装驱动 ...

  3. 华大单片机HC32L130F8UA 串口烧录程序

    一.准备工作 1.开发板 2.串口模块 3.串口烧录软件 4.编译好的hex文件 5.杜绑线,跳线帽等 二接线 HC32L130F8UA->GND <-------->  串口模块- ...

  4. 华大单片机HC32F005串口烧录程序

    一.准备工作 1.开发板 2.串口模块 3.串口烧录软件 4.编译好的hex文件 5.杜绑线,跳线帽等 二接线 HC32F005C6PA->GND <-------->  串口模块- ...

  5. 10年后重新开始AVR之心路历程 - 1. 串口ISP烧录器 - 内附电路图[不需要AVR芯片]和编程软件

    最近有些小的项目需要用到嵌入式微型控制电路,10年玩过AVR开发,并且玩的非常熟练,所以开始决定重新熟悉一下AVR. 工欲善其事,必先利其器,要开始AVR开发,就要准备ISP编程器和JTAG仿真器.1 ...

  6. TB-02 Kit开发板及TB系列BLE蓝牙模块固件及天猫精灵三元组串口烧录工具操作方法说明及固件市场介绍(基于泰凌微TLSR8258芯片)

    摘要 这篇文章介绍如何通过烧录工具给TB系列蓝牙模块烧录固件及天猫精灵三元组,以及如何通过烧录工具的固件市场下载最新的固件及固件操作说明文档. 获取烧录工具 安信可团队针对TB系列蓝牙模块专门开发了烧 ...

  7. 树莓派上编写串口助手软件

    1. 导读 本文介绍了使用python ,PyQt在树莓派的linux系统上编写一个串口软件的助手,重点介绍相关软件包的安装,串口助手软件的如何编译生成可执行文件. 2.安装相关软件 读到这里,你应该 ...

  8. 用Qt编写STM32烧录软件(ISP模式)

    stm32有个自举模式,可以用来烧录程序. 我买的板子上有可以串口烧录功能,其中电路原理图如下(注意,这个图是错误的,因为正确的是三极管Q1.Q2分别一个为PNP一个为NPN,正确的图在这里): bo ...

  9. Quartus II 软件编写程序及烧录步骤

    Quartus II 软件编写程序及烧录步骤 最近刚开始接触这个软件,这次详细记录了部分使用步骤,当做备忘录.

  10. 用Qt编写STM32烧录软件(ISP模式)代码

    1.前言 之前写了一篇[用Qt编写STM32烧录软件(ISP模式)],但是在文中没有具体的实现代码. 现在补上,各位有兴趣的同学可以参考以下.但是代码里面还有很多没有完善的,必定会存在一些bug,目前 ...

最新文章

  1. win10下怎么安装使用bash shell
  2. Elasticsearch技术解析与实战(六)Elasticsearch并发
  3. CASIO 5800P计算器游戏--猜数字游戏
  4. 五、scrapy爬虫框架——logging 模块的使用
  5. 泳池里到底有多少排泄物?
  6. 教育行业视频号矩阵建设与运营策略分析报告
  7. 信息学奥赛一本通(1242:网线主管)
  8. shell脚本中if流程控制语句的应用
  9. spring的bean注释_Spring @Bean注释
  10. 总结定时器设计方法_PLC定时器(T)的工作原理及使用注意事项
  11. 公众号900篇文章分类和索引
  12. vue 播放m3u8视频
  13. 4_04_GLib库入门与实践_指针数组
  14. android 检测 Home 键
  15. 服务器被腾讯云助手告警通知有木马文件
  16. Chronometer实现计时器 开始、暂停、停止功能
  17. 对立统一(哲学与分析学)
  18. 用pecl命令安装php扩展geoip
  19. 量化交巨变文艺复兴大幅削减趋势追踪交策略
  20. C++ Exceptional 名称查找、命名空间和接口原则

热门文章

  1. windows上搭建NFS服务器--haneWIN
  2. linux更新系统内核,Linux内核升级方法详解
  3. AD14使用过程记录!
  4. java开发webservice接口_webservice接口的开发和调用
  5. BA无标度网络(三):网络生成
  6. Linux系统中搭建Docker容器 Portainer可视化界面
  7. 【程序猿助手】Emacs,最强的编辑器,之间的不
  8. 如何学习渗透测试:初学者教程
  9. ANSYS网格划分简述
  10. spyder下载python3.5_spyder python下载