- 博客(6)
- 收藏
- 关注
原创 ESP32学习小记(1)
开发环境:1.python装一下,记得改环境变量,好像升级是这个指令pip install --upgrade pip。噢这两天学了下eap32怎么点灯,用的Vscode开发环境,搭环境用了一下午,搞清楚cmake文件搞了一下午。最后是这样的,编译成功后烧录ok,其他文件include “led.h”没问题,灯亮了。后面就是我想添加子文件遇到的问题,就是更改cmake文件里的文件路径。配置环境遇到问题,应该是python版本对不上,参考了一下这个。4.Vscode装一下,装插件。3.esp_idf装一下。
2024-08-08 15:10:37 149
原创 STM32F1移植IAP+Ymodem+备用区app详细笔记(四)
我是直接升级成功就将主程序app放备用区里了,通过flash读写直接把整块复制粘贴进备用区app。如果升级失败就将备用区的flash数据复制到主程序区。直接查备用区的flash数据,看是否有东西,没有的话执行copy_app_to_backup();这样就能确保备用区一直有备用程序。大小我们之前就订好了0x20000,所以很好确认,进行一些计算就可以了。这里要注意数组大小不能太大否则可能内存不足啥的不能运行。这个看个人,备用区可以固定放哪个app。1.flash读数据。2.flash写数据。
2024-08-07 14:30:51 300
原创 STM32F1移植IAP+Ymodem+备用区app详细笔记(三)
传输结束,先应答ACK(0x06)传输结束EOT(0x04)未应答NACK(0x15)再应答ACK(0x06),开始结束帧传输,帧头SOH(0x01),帧序号0x00,后面全是0x00。开始时,上位机读到C指令后,第一帧帧头为SOH(0x01),帧序号为0x00,传输文件名和文件大小。正常传输数据包,可以看到第二帧数据,帧头为STX(0x02),帧序号0x01,然后传输1024位的数据包,读到(0x06)为应答成功,继续传输。SOH+0x00+0xff+文件名+0x00+文件大小+0x00+0x00……
2024-08-07 14:04:49 702
原创 STM32F1移植IAP+Ymodem+备用区app详细笔记(二)
IAP程序也就是Bootloader程序存放在flash里0x800000-0x8003000这个位置,主程序区代码在0x8003000以后,大小看个人。为了方便后续,我设置的大小是0x20000.程序正常是从0x8000000位置开始运行的,这里直接跳转到ApplicationAddress 也就是app1地址0x80030000.主程序区主要是随程序起始位置的修改,大小看个人我认为不影响。后面烧入主程序代码后可以看到,0x8003000上的变化。通过keil的调试功能也可以看到flash区的情况。
2024-08-05 15:01:59 246
原创 STM32F1移植IAP+Ymodem+备用区app详细笔记(一)
这样就能让程序在复位后几秒内等待串口数据过来,串口任意收到啥,都是升级的命令,就开始走选择升级的流程,官网是按1等待升级。编译一遍,若还有报错,将common.c里的#include "ymodem.h"改到common.h里。这里我去掉了按键操作,改成串口操作了,直接用了ymodem.c里的函数,记得去掉static。3.需要三份代码:一份亮红灯的bin,一份亮蓝灯的bin,一份灯亮代码用于移植iap程序。将这六个文件移植复制到项目文件夹里,这里我新建了文件夹iap,将六个放在一起了。
2024-08-05 14:13:04 618
原创 KEIL环境stm32移植FreeRTOS
SysTick_Handler()、 SVC_Handler()和 PendSV_Handler(),这 三 个函数 分别为滴答定时器中断服务函数 、 SVC中断服务函数和 PendSV中断服务函数 ,将 stm32f10x_it.c中的三个函数屏蔽掉。将FreeRTOS源码复制进去,地址FreeRTOSv9.0.0\FreeRTOS\Source里的源码,复制进STM32F103\LED_liushui\FREERTOS。准备工作:keil软件,一份点灯代码,FreeRTOS源码。
2023-11-28 10:31:36 1880
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人