JLINK配合IAR断点功能,让bug无处可藏
在产品开发中,调试工具是必不可少的开发利器。除了常见的ARM的CMSIS-DAP/ULINK、IAR的I-JET、P&E的U-multilink/Cyclone,以及一些半导体厂商提供的自定义调试工具如LPC-link、ST-Link等,还有两个备受赞誉的工具,它们就像是神一样存在。
CH573第一篇:实现自拍杆蓝牙遥控器1
在之前发布的《聊聊身边的嵌入式,自拍神器自拍杆》一文中,详细介绍了自拍杆蓝牙遥控器的工作原理,其中核心是通过使用BLE发送音量键指令(可以是上下音量键)。为了实现这一功能,我们选择了CH573这款国产BLE SOC芯片。
如何在MCU中使用二进制库(动态库)?
作为一个嵌入式软件开发者,在使用库的时候经常会面临使用静态库或动态库的选择。静态库一般以”.a”为后缀,而动态库以”.so”为后缀(在Windows系统中是”.DLL”)。
全能终端神器MobaXterm
摘要:目前,软件市场上有许多终端工具可供选择,例如:secureCRT、Putty等等。secureCRT是一款功能强大的终端工具,但属于收费软件,通常公司不允许使用。Putty则是一个非常小巧且免费的软件,但不支持标签功能,如果需要开启多个会话就必须打开多个窗口,窗口切换不够方便。另外,这两款软件的界面设计也相对较为简单。
单片机中除以0会发生什么?
有人在使用STM32G4系列芯片开发产品时发现,在程序中进行除以零的操作时会引发出错异常中断,影响程序的运行。他想知道是否可以通过设置,在发生除以零操作时不让程序跳转到异常中断,并希望此时的除法运算结果(商)直接等于当前变量类型所支持的最大值。例如,如果被除数是16位变量,则经过除以零操作后直接将商的值赋为0xffff。实际应用中,客户的需求通常是多种多样的。
DS18B20驱动程序调试总结
DS18B20是一款精度较高的温度传感器,最重要的是它通过一根导线既完成通讯,又为芯片提供电源。因此,在MCU引脚数量紧张的情况下,它是一个不错的选择。这个芯片看起来很简单,但是要让它工作并读取温度数据并不像想象的那么容易。正如群里的Ryan Wang同学所遇到的困扰一样。然而,令人难得的是,王同学最终成功解决了问题,并无私地分享了经验和代码。如果你认为这篇文章对其他同学有帮助,请帮忙转发或点个赞。
我在STM32单片机上跑神经网络算法
摘要:为什么在STM32上运行神经网络是可行的?简言之,我们可以使用STM32CubeMX中的X-Cube-AI扩展包将当前热门的AI框架转换为C代码,以便在嵌入式设备上使用。目前,使用X-Cube-AI需要使用STM32CubeMX的5.0版本以上,并支持转换的模型包括Keras、TFlite、ONNX、Lasagne、Caffe和ConvNetJS。Cube-AI将模型转换为一系列数组,然后解析这些数组以构建模型,与TensorFlow中的模型转换为数组后的原理相同。