自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 STM32的BootLoader代码跳转原理

在下面启动文件的向量表中,我们可以可以看到,当系统启动时,第一块访问的地址为__initial_sp,那么在跳转至A区之后,我们首先要做的就是让SP默认值为0x0800A000.在这里SP的大小我们是不知道的,因为这是程序所定义的,但是这个初始值是必须要为A区起始地址处的值,即 *A区起始地址。在Bootoader中,我们将0X08000000作为B区起始地址,将0X0800A000作为A区起始地址,B区负责监测是否需要更新A区程序,若不更新程序,则跳转至A区代码进行运行。然后返回继续执行C代码。

2025-04-26 21:59:19 867

原创 STM32OT固件升级(0)

1:当不存在OTA事件时:运行板子当前程序。2:当存在OTA事件时,对程序进行更新。流程分析:首先需要将STM32的flash分为BA两个区域。B区为bootloader程序。A区域为应用程序。

2025-04-23 09:56:13 282

原创 STM32OTA固件升级(六)xmodem协议

XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。其实就是一种传输协议,对你要传输的文件进行分包,通过串口、SPI、I2C、USB、BLE(低功耗蓝牙协议)、WIFI等各种各样的方式进行传输文件。经过多年的更新迭代,Xmodem衍生出了一下几种系列协议:Xmodem-1kXmodem-CRCYmodemXmodem-1kXmodem-1k。

2025-04-14 17:00:33 579

原创 STM32OTA固件升级(五)

定义一个uint32_t BootStaFlag;他的每一位发生变化,都会导致相应事件的发生。当 BootStaFlag |= UpData_A_Flag;时,代表着更新A区事件的发生,并在main.c中执行相应操作//更新A区//OTA_Info.FireLen[]的每一位代表着一个更新的函数的大小, 比如【1】是电灯函数10KB【2】是串口。。。

2025-04-14 17:00:20 899

原创 STM32OTA固件升级(二)IIC读写EEPROM

这里使用软件IIC读写eeprom,

2025-04-14 17:00:08 815

原创 STM32OTA固件升级(四)读写内部Flash

在 STM32 芯片内部有一个 FLASH 存储器,它主要用于存储代码,我们在电脑上编写好应用程序 后,使用下载器把编译后的代码文件烧录到该内部 FLASH 中,由于 FLASH 存储器的内容在掉电 后不会丢失,芯片重新上电复位后,内核可从内部 FLASH 中加载代码并运行。

2025-04-14 16:59:48 704

原创 STM32OTA固件升级(一)UART

1)下面两个函数可以实现使用C库的printf和scanf函数,来实现数据的收发///重定向c库函数printf到串口,重定向后可使用printf函数/* 发送一个字节数据到串口 *//* 等待发送完毕 *////重定向c库函数scanf到串口,重写向后可使用scanf、getchar等函数/* 等待串口输入数据 */2)下面函数可以实现使用我们自己的u1_printf函数来模拟使用C库的printf函数,二者用法相同uint16_t i;

2025-04-14 16:59:38 804

原创 STM32OTA固件升级(三)SPI读写外部存储W25Q64

*** @brief 对FLASH写入数据,调用本函数写入数据前需要先擦除扇区* @param pBuffer,要写入数据的指针* @param WriteAddr,写入地址* @param NumByteToWrite,写入数据长度* @retval 无*//*mod运算求余,若writeAddr是SPI_FLASH_PageSize整数倍,运算结果Addr值为0*/

2025-04-14 16:59:00 859

原创 LINUX时钟-S3C2440

由以上可知,我们先想要设置FCLK:HCLK:PCLK = 400M:100M:50M = 8:2:1,需要对MPLL(LOCKTIME),CLKDIVN,MPLLCON三个寄存器进行操作。例如:设置MPLLCON寄存器,我们设置MPLL,使得FCLK:HCLK:PCLK = 400M:100M:50M = 8:2:1,有表可知,MDIV=92,PDIV=1,SDIV=1.* 则FCLK = 2*M*Fin/(P*2^S) = 2*100*12/(3*2^0) = 400M。

2023-07-30 20:44:48 261 1

原创 LINUX按键控制LED

由原理图可知,当按键按下时,IO口为低电平,判断按键是否按下,则需要我们对按键所在的IO口进行高低电平的检测,如果为低电平,则表示按键按下。而三个按键EINT0与GPF0相连,EINT2与GPF2相连,EINT11与GPG3相连,所以我们只需要对这三个引脚进行初始化即可。由LINUX点亮LED可知,LED的点亮可以说是IO口进行输出,那么对于按键来说,便是对IO口输入功能的配置。链接:https://pan.baidu.com/s/1lNElpsQEtmNIeUbdVm5pDQ。

2023-07-28 15:38:53 376 1

原创 1:嵌入式LINUX点灯

LINUX点灯

2023-07-28 15:30:03 555 1

原创 如何使用OLED显示图像

如何使用OLED显示图像

2023-01-14 12:05:04 5611 1

原创 STM32串口通信

STM32串口通信

2023-01-11 18:35:49 421

原创 EXT1中断

EXT1中断

2023-01-09 12:41:27 342

原创 STM32初识中断

STM32中断

2023-01-07 20:32:32 1385

原创 固件库按键检测

按键检测

2023-01-07 17:19:56 130

原创 固件库点灯

固件库点灯

2023-01-07 12:18:22 162

原创 初识固件库

对固件库的初步认识

2023-01-06 21:11:07 193

原创 从寄存器到库函数

stm32构建库函数雏形

2023-01-06 18:31:34 264

原创 从51到32 点亮led

所以GPIOB0置0为 * (unsigned int *) 0X4001 0C00 |=((1)

2023-01-05 18:25:34 198

原创 关于中断标志位清零

今天在使用中断设置按键单双击用法时,第一次编程如下void KEY2_IRQHandler(void){ int a=0; //确保是否产生了EXTI Line中断 if(EXTI_GetITStatus(KEY2_INT_EXTI_LINE) != RESET) { key_2++; //检测key1按键 是否松开 while(GPIO_ReadInputDataBit(KEY2_INT_GPIO_PORT,KEY1_INT_GPIO_PIN) == 1); whi

2022-01-03 21:19:00 5811

原创 中断控制按键单击和双击功能

stm32中断设置 按键单双击

2022-01-03 21:11:27 272

原创 Linux文件搜索命令

(在Linux中,以#开始的行,都是配置文件的注释行)1)find文件搜索2)locate在文件库中搜索3)which查找一个文件所在的目录,别名4)grep对文本文件内容进行搜索 文件搜索命令 find 从指定目录向下递归地遍历各个子目录,将满足条件的目录或文件显示在终端1)按名字查找find /etc -name init只会搜索init的内容f...

2021-11-29 21:50:59 988

原创 Linux文件管理命令

命令格式 命令 【-选项】【参数】 例如:ls -la /etc 注:个别命令不遵循此 当有多个选项时,可以写在一起 简化选项与完整选项 -a == --all1)pwd显示当前目录的绝对路径2)cd切换目录3)ls 显示目录文件4)mkdir新建一个目录 touch新建一个...

2021-11-15 23:02:56 422

原创 Linux时间管理指令

1)date 查看系统当前时间2)cal 查看日历 date date观看服务器系统的时间date +%Y显示当前年份date +%m显示当前月份date +%d显示当前时那一天date "+%Y-%m-%d %H:%M%S"显示年月日时分秒date -s "2021-11-11 11:22:22"将日期设置位2021年11月11日11时22分22秒 2)cal ca...

2021-11-11 22:03:32 568

原创 2021-11-09

Linux目录结构

2021-11-09 22:07:45 744

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除