历史上的今天
返回首页

历史上的今天

今天是: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的代码。

推荐阅读

史海拾趣

Eurotech公司的发展小趣事

随着技术的不断成熟,Eurofarad公司开始积极拓展市场。公司不仅在欧洲市场取得了良好的销售业绩,还通过与国际知名电子制造商建立战略合作关系,成功打入亚洲和北美市场。这些合作不仅让Eurofarad公司的电容器产品得到了更广泛的应用,还为公司带来了宝贵的市场经验和技术支持。

CAMBION公司的发展小趣事

在技术创新的基础上,CAMBION公司积极拓展市场。公司通过与各大电子设备制造商建立合作关系,将其产品广泛应用于智能手机、平板电脑、笔记本电脑等领域。同时,CAMBION还注重品牌建设,通过参加国际电子展、发布技术白皮书等方式提升品牌知名度和影响力。这些努力使得CAMBION的产品在市场上获得了良好的口碑和认可。

Dolphin Interconnect Solutions Asa公司的发展小趣事

为了加快市场拓展和技术创新,Dolphin Interconnect Solutions ASA积极寻求与其他公司的战略合作。例如,公司与StarGen公司进行了换股合并,共同开发Express产品。这一合作不仅为Dolphin带来了先进的技术和人才,还进一步拓宽了公司的产品线,提高了市场竞争力。

固得沃克(GOODWORK)公司的发展小趣事

在追求经济效益的同时,固得沃克也高度重视环境保护和社会责任。公司所有产品均通过了美国UL、SGS欧盟ROHS及REACH环保认证,确保产品符合国际环保标准。这一举措不仅提升了公司的品牌形象,也为公司拓展国际市场提供了有力支持。近年来,固得沃克的产品已广泛应用于汽车电子、新能源、绿色照明等多个领域,并远销海外多个国家和地区。

FASTRAX公司的发展小趣事

2012年,瑞士公司u-blox宣布以1300万欧元收购FASTRAX 100%的股权。这一并购事件引起了业界的广泛关注。u-blox看中了FASTRAX在GPS接收模块领域的领先地位和技术实力,希望通过并购加强其在定位市场的竞争优势。并购完成后,FASTRAX成为u-blox集团的重要一员,继续为全球客户提供优质的GPS产品和服务。

港源(GANGYUAN)公司的发展小趣事

随着公司业务的不断发展,FASTRAX开始积极拓展海外市场,并与多家国际知名企业建立了战略合作关系。通过与这些企业的合作,FASTRAX不仅获得了更多的市场份额,也学习到了先进的管理经验和技术知识。这些合作经验为FASTRAX的持续发展奠定了坚实的基础。

问答坊 | AI 解惑

分享招聘信息

人才招聘信息 同时欢迎访问******neoic********** 及其论坛: neoic论坛 [ 本帖最后由 shuijian 于 2008-11-11 22:11 编辑 ]…

查看全部问答>

Multisim专题帖

Multisim专题帖。 很基础,但很实用!…

查看全部问答>

你也无法区分420线和480线摄像机么?

现在在市场上买到的摄像机标注的是480线的, 但实际上的效果却是420线的, 我们如何区分呢? 这是我在网上查的一个资料,也希望大家说说自己的看法。 3142+405 420TVL 经济适用 3142+633 420TVL 刚出来的CCD,用的厂家比较少,照度很低,但是偏色 ...…

查看全部问答>

如何将鼠标数据独立读出来?

各位前辈,我是大菜鸟。有一个问题一直困扰我:能否将一个USB鼠标独立于计算机应用?也就是将鼠标作为一个微距离传感器应用。因为鼠标在移动时可以敏感微小的位移。关键是如何将鼠标的数据读出来?因为鼠标的USB接口只有四条线,两条电源线, ...…

查看全部问答>

设置显示驱动线程优先级

怎样设置显示驱动线程优先级?…

查看全部问答>

11月10日Linux/WinCE/VxWorks免费讲座(上海)

活动规模:200人 讲座主要分为3个专题:                    专题1、嵌入式Linux开发应用介绍                  &n ...…

查看全部问答>

示波器V2.0装配调试(flt9006)VOL.3----测试程序

-------------------------**************************-------------------------------- 一些相关内容请看 示波器V2.0调试过程贴 https://bbs.eeworld.com.cn/thread-154006-1-1.html   示波器V2.0装配调试(flt9006)VOL.1----修整板子 ...…

查看全部问答>

谈谈uCOS中全局变量的使用

在C语言编程中经常会遇到全局变量。全局变量的定义一般采用下面的方式 .C文件中定义 unsigned int gVariable; .h文件中声明 extern unsigned int gVariable; 这样做的目的是防止变量重复声明,提高编译效率。但是如果这样的定于如果安排不好就 ...…

查看全部问答>