SWD调试原理 单片机用C语言编程很好学,为什么还要用汇编呢?

[更新]
·
·
分类:互联网
3471 阅读

SWD调试原理

单片机用C语言编程很好学,为什么还要用汇编呢?

单片机用C语言编程很好学,为什么还要用汇编呢?

现在一般单片机都支持C语言和晦涩难懂的汇编语言,在许多介绍单片机应用技术的教材中有相当一部分是用汇编语言编写的这说明汇编语言在学习单片机和编写单片机程序时尤其独特的优势,现在我把学习单片机使用汇编语言的一些优势来发表自己的看法,希望能够通过我说的这几点给学习单片机的朋友们一个参考意见并顺便解答一下这个问题。
第一点单片机汇编语言在执行效代码效率非常高虽然单片机汇编语言在刚学初期会显得“晦涩难懂”但也并不是“一无是处”,在有些方面是单片机C语言所不能企及的,比如汇编语言首先在机器码生成方面其效率要比C语言高20%,所以用汇编语言编写程序能够减少占用单片机里的寄存器单元,特别是对于容量小的单片机而言很重要。总之汇编语言要比C语言执行效率更高。
第二点单片机汇编语言执行速度快我们知道任何编程语言最终都要生成单片机能够“识别”和执行的二进制码,由于汇编语言可以直接访问单片机的内部寄存器,所以单片机的汇编语言执行速度要比C语言快的多,可以实施精细而准确 的控制,在一些实时控制要求比较严格的控制场合一般要求用汇编语言。
第三点单片机汇编语言能够帮助有助于了解单片机内部的结构,尤其是寄存器由于汇编语言的每条指令与单片机的指令码是一一对应的,所以通过学习单片机的汇编语言有助于学习单片机内部结构组成以及它的外设。尤其是对熟悉单片机内部的各种寄存器有很大的帮助。
鉴于以上三点我认为,单片机C语言编程和汇编语言编程各有各的特点,要想学好单片机并运用好单片机就要把这两种单片机语言都要学好才行。
以上就是我对这个问题的看法,欢迎朋友们参与讨论。敬请关注电子及工控技术,欢迎大家点赞

swd接口是干什么用的?

SWD接口: 我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。
而使用SWD接口下载调试,只需要要使用4个PIN: GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易见。