单片机
文章平均质量分 71
单片机
LongRunning
时间流水,记忆有限,不做笔记,项目白做,
展开
-
【勘误笔记】J-LINK连接不上芯片问题
当时硬件是BOOT 0接地应该是上电进入flash代码有问题。芯片烧录后导致,后面使用J-LINK怎么样都连接不上,把BOOT 0不接地,然后重新尝试连接:连接成功。烧录的固件起始地址为0x08004000。BOOT 0接地恢复。原创 2024-11-07 14:59:45 · 235 阅读 · 0 评论 -
[随手笔记]STM32启动之探究
启动文件由汇编编写,是系统上电复位后第一个执行的程序。原创 2024-10-11 18:07:36 · 775 阅读 · 0 评论 -
【随手笔记】cubemx+adc+dma
如果两个通道的话,不使用扫描的方式。那就是一次只有一个通道的数据。两个通道的数据循环着来。多个通道注意数据的顺序。原创 2024-10-11 16:45:46 · 211 阅读 · 0 评论 -
【随手笔记】使用J-LINK读写芯片内存数据
在指定地址读8字节数据(内存以8位读)写入指定地址4字节数据(内存以8位写)数据操作都是以16进制(HEX)格式。擦除指定地址范围数据。原创 2024-09-20 15:41:56 · 859 阅读 · 0 评论 -
【固件升级】Bootloader(三)
O3:这是最高的优化等级,O3 开启了 O2 指定的所有优化,并启用了更多的优化选项。-O0:关闭所有优化选项,是 GCC 默认的等级,目的是让编译器减少编译时间并使调试产生预期的结果。在 RT-Thread-Studio 中,默认也是配置的该选项,如果编译的代码尺寸较大,我们建议更换优化等级(一般我们会选择 O2 等级)。RT-Thread-Studio 使用的是 GCC 编译器,GCC 编译器对代码的编译优化有一系列的配置项,大体分为五个优化等级:-O0、-O1、-O2、-O3 和 -Os。原创 2024-09-19 17:03:58 · 1045 阅读 · 0 评论 -
【随手笔记】环形缓冲区之覆盖读写
函数中,我们展示了如何使用这些函数来进行数据的写入和读取,并演示了当缓冲区满时如何覆盖写入最老的数据。函数用于从缓冲区读取数据,并更新尾部指针。在这个示例中,我们定义了一个。函数用于初始化环形缓冲区,函数用于向缓冲区写入数据,结构体来表示环形缓冲区。原创 2024-06-25 18:09:03 · 255 阅读 · 0 评论 -
【固件升级】之IAP(二)
在系统编程,可借助MCU厂商预置的Bootloader 实现通过板载UART或USB接口烧录代码,比如STM32存储映射Code分区中的System memory可以预置厂商的Bootloader,让MCU支持通过UART下载(不限于UART,具体由厂商预置Bootloader实现而定);Step7:将接受到的升级数据包存入APPB区,并将相关升级参数存入Parameter区,若接收数据完成,固件检验通过则写入Parameter区升级标志,并进入 Step8。而ICP编程就是以SWD接口进行的。原创 2024-06-18 15:49:50 · 1160 阅读 · 0 评论 -
【固件升级】中断向量表(一)
这里我们选择 64K。因而,留给 APP 用的 FLASH 空间(Size)只有 0X80000-0X10000=0X70000(448K 字节)大小了。默认的条件下,图中 IROM1 的起始地址(Start)一般为 0X08000000,大小(Size)为 0X80000,STM32F1 的内部闪存(FLASH)地址起始于 0x08000000,一般情况下,程序文件就从此地址开始写入。而图中,我们设置起始地址(Start)为 0X08010000,即偏移量为 0X10000(64K 字节),原创 2024-06-18 15:37:48 · 1236 阅读 · 0 评论 -
【随手笔记】单片机内存
单片机内存原创 2023-11-30 09:45:01 · 1132 阅读 · 0 评论 -
【随手笔记】LCD屏幕之ST7567G+UC1701E
因项目使用到屏幕,做以简单记录备份屏幕使用128*64点阵屏型号为ST7567G+UC1701E使用SPI驱动屏幕点阵显示原理简述:屏幕为128*64像素点每位(bit)控制一个像素点使用LCD_RAM[8][128]数组缓存X轴—128对应0-127 横坐标Y轴—8 对应0-7页 纵坐标函数封装:X轴以像素点为单位写入Y轴以页为单位写入取模大小为1616字符为816汉字为16 * 161个像素点使用1bit控制一个字符为8。原创 2023-11-07 00:24:38 · 704 阅读 · 0 评论