历史上的今天
今天是:2025年04月04日(星期五)
2020年04月04日 | 通过SWIM实现类似ST-LINK功能,给STM8下载
2020-04-04 来源:eefocus
技术依赖:SWIM通信、FLASH操作、串口、DMA。
主要变成思路,通过串口实现命令行工具,再通过主机的swim进行slave烧录。其中串口数据的发送通过DMA接收。
SWIM通信之前有介绍,有需要可以查看,本文章主要介绍SWIM对STM8烧写时的思路。
一、直接通过WOTF进行烧写。
此方法确实可行,但是实际试验后发现,在烧写过程中由于WOTF的失败率导致烧写速度极慢。不建议采用。
二、让从机自己烧写flash
我们知道,在烧写flash时有块烧写。而且块烧写的程序时运行在RAM中的。我们可以利用这一特点,将编写好的flash 块烧写的程序(指定需要烧录数据的地址和需要烧录地址的地址)通过SWIM下载到从机RAM的指定地址。然后通过主机控制从机使其完成自烧写。
在这个过程中我们需要的是将串口传过来的数据传到从机的RAM中的指定地址,将烧写的地址传到从机的RAM中的指定地址。我们通过控制从机的CPU,使其运行提前烧进RAM中的代码完成“自烧写”。
注:
我们需要烧写的代码不可能通过一个块写完,所以我们在烧录完一块之后,需要暂停从机(通过控制从机CPU),在下一次烧录时复位从机然后再执行烧写FLASH的代码。
史海拾趣
|
现在在市场上买到的摄像机标注的是480线的, 但实际上的效果却是420线的, 我们如何区分呢? 这是我在网上查的一个资料,也希望大家说说自己的看法。 3142+405 420TVL 经济适用 3142+633 420TVL 刚出来的CCD,用的厂家比较少,照度很低,但是偏色 ...… 查看全部问答> |
|
各位前辈,我是大菜鸟。有一个问题一直困扰我:能否将一个USB鼠标独立于计算机应用?也就是将鼠标作为一个微距离传感器应用。因为鼠标在移动时可以敏感微小的位移。关键是如何将鼠标的数据读出来?因为鼠标的USB接口只有四条线,两条电源线, ...… 查看全部问答> |
|
示波器V2.0装配调试(flt9006)VOL.3----测试程序 -------------------------**************************-------------------------------- 一些相关内容请看 示波器V2.0调试过程贴 https://bbs.eeworld.com.cn/thread-154006-1-1.html 示波器V2.0装配调试(flt9006)VOL.1----修整板子 ...… 查看全部问答> |
|
在C语言编程中经常会遇到全局变量。全局变量的定义一般采用下面的方式 .C文件中定义 unsigned int gVariable; .h文件中声明 extern unsigned int gVariable; 这样做的目的是防止变量重复声明,提高编译效率。但是如果这样的定于如果安排不好就 ...… 查看全部问答> |




