- 全部
- 默认排序
USB转串口是调试单片机程序时经常用到的一个小工具,JlinkV9以上的版本提供了虚拟串口的功能,可以用于串口收发测试。接口定义如下,5脚是Jlink-TX,17脚是Jlink-RX。需要注意的是虚拟串口只能在SWD模式下使用,因为其引脚与JTAG有冲突。J-link的虚拟串口功能默认是关闭的,可以
在调试单片机程序时,串口打印是一种非常常用的方式。有时候,硬件上没有预留串口时,就需要采用其它方式进行打印调试。Jlink SEGGER RTTJlink SEGGER RTT是一种非常好用的方式,只需要通过Jlink的SWD或者JTAG接口即可实现类似printf的功能,使用方法也很简单。首先从J
STM32L0 系列EEPROM读写,使用过程必须注意到的问题,踩坑史 = =!......by 矜辰所致前言一、写入地址问题二、写入时候容易死机问题2.1 问题的原因2.2 问题的解决三、官方文档结语前言使用 STM32L051 和 STM32L071 替换 STM32 有一年多了,替换完成以后还
防御性编程技巧
在防御性编程的大框架之下,有许多常识性的规则。人们在想到防御性编程的时候,通常都会想到“断言”,这没有错。我们将在后面对此进行讨论。但是,还是有一些简单的编程习惯可以极大地提高代码的安全性。尽管看上去像是常识,但是这些规则却往往被人们忽视,这就是为什么世界上并不缺少低质量软件的原因。只要程序员们警惕
在Linux环境中,GDB(GUN调试器)是一个强大的调试工具,可帮助开发者对C/C++等语言的程序进行源码级调试。1、GDB安装在基于Debian的Linux发行版(如Debian、Ubuntu)中,可以通过以下命令安装GDB:sudo
做单片机研发前几年,一直没用过动态内存分配的功能,但是如果想成为软件架构设计师,这是绕不过的一道坎。其实单片机很少使用c标准库自带的malloc()函数去动态分配内存,除非,你看老板不爽...因为有缺陷,文章后面会提及。一般是工程师借助现成的参考代码,然后重新设计内存管理代码,改进动态内存分配算法。
学习STM32单片机的时候,总是能遇到“堆栈”这个概念。分享本文,希望对你理解堆栈有帮助。 对于了解一点汇编编程的人,就可以知道,堆栈是内存中一段连续的存储区域,用来保存一些临时数据。堆栈操作由PUSH、POP两条指令来完成。而程序内存可以分为几个区:栈区(stack)堆区(Heap)
之前的文章中介绍过J-Scope和SerialView软件用于程序调试,查看波形的方法。J-Scope必须依赖于Jlink才能使用,而SerialView在使用过程中发现经常有数据错误的情况,貌似不太好用(个人观点)。今天来介绍另外一个串口波形显示软件:SerialChart。公众号不支持外部链接,
前言 大家知道,STM32单片机有一块系统存储器(System Memory),存储的是芯片自带的BootLoader启动程序,可通过串口或USB口等来升级程序。但是要运行自带的BootLoader,需要设置BOOT0和BOOT1引脚的电平(有些型号是通过选项字节设置BOOT1)。之前的文章中介绍
我们在开发单片机程序的时候,经常会碰到编译没有错误,程序代码反复的检查,但就是找不到问题所在,不知道问题到底出现在哪里了?这个时候的心情就会特别烦躁,单片机程序代码就是字母加数字,有点抽象,所以很多的程序代码我们都在在芯片原厂提供技术资料上开发的,如果单片机程序一旦出现一些比较抽象的问题,又找不出问

扫码关注





















