自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 问答 (1)
  • 收藏
  • 关注

原创 一主多从下的IAP升级(四)

主mcu端发送过来的是相同的宏定义,知识宏定义名字会去掉ACK,也就是主MCU发送给子MCU,SUBMCU_OTA_STAR这条命令时,子MCU通过解析后得到,处理完成会给主MCU回复SUBMCU_OTA_START_ACK。当主MCU将包发完后会通知子MCU,包发送完了,可以做整个代码的检查了,此时子mcu会对已经更新了的flash部分做crc计算,看看是不是与发过来的crc一致,看看是否能够通过。当发给主mcu ACK后,主MCU会开始给子MCU发送升级包,指令SUBMCU_OTA_PROCESS。

2024-03-27 17:42:49 441

原创 一主多从下的IAP升级(三)

原因是:在实际工作中发现,当boot跳转到APP的时候,例如某个引脚默认是低,但是在主程序中,此引脚连接了某些器件,默认是高的时候才会是关闭,低是运行,此时从boot跳转主程序,引脚就会从默认是低跳变成默认是高,连接的器件有可能会有一瞬间的上电情况。当开始升级的时候,上层下发升级请求,上层按照一定的顺序分发子mcu固件,首先会在主mcu上判断是否满足升级条件,如果各项指标都满足,此时向子mcu发送升级请求,此时子mcu的APP程序中应该可以收到升级指令,此时子mcu应重启进入boot。

2024-03-26 17:11:42 250

原创 一主多从下的IAP升级(二)

如上,可以定义bootload的起始地址,大小为18k,bootflag大小为2k,APP大小为100k,这样一次排列,当然也可以拓展,比如说多定义一些地址,去存特定的东西,这里只定义这三个分区。建议可以在flash相关的.h文件中定义下flash分区,这样方便写flash相关函数,也方便后续维护,例如要改各个分区的大小时,如果用宏去做定义,就会相对方便。:flash的擦除只能是整页擦除,我们的擦除一页的单位是2k,说明擦除一次至少擦2k。并且在读写flash之前,应该增加一些地址限制的判断。

2024-03-23 18:25:54 191

原创 一主多从下的IAP升级(一)

当一个主mcu与多个mcu相连的时候,主mcu进行控制各个子mcu运行,此时想要对所有的mcu做升级操作,上位机仅按照一定顺序进行分发各mcu升级程序,但主mcu的flash无法存下各个子mcu的程序,:从上位机上下发升级通知,此时主mcu接到升级请求,文件存在上位机上,此时升级,先升级子mcu,主mcu做分发功能,将收到的包使用串口DMA分发给各个子mcu,当子mcu升级成功后,在对主mcu进行升级。//指定了RAM的起始地址。FLASH操作 ,MCU启动过程与中断响应方式 ,串口,DMA。

2024-03-22 16:45:10 724

原创 进程间通信与信号基础

进程通信 管道 信号基础函数 alarm signal pause 中断

2022-10-13 16:17:49 381

原创 进程的基础知识(2)

进程创建,环境变量、exce家族函数、进程资源的回收

2022-08-05 20:32:11 244

原创 线程的基础

线程、mutex、互斥信号、cond条件变量

2022-08-01 20:20:40 361 1

原创 进程的基础知识(1)

进程的创建,遗言函数,进程的基本命令

2022-07-28 08:38:50 250

原创 LINUX C之进程内存管理与文件操作(2)

linux,文件的元数据获取,文件夹操作,内存的映射

2022-07-27 08:34:00 324

原创 LINUX C之进程内存管理与文件操作(1)

内存管理,文件操作 ,linux copen close read wirte lseek

2022-07-26 01:00:00 269

原创 C++之构造函数、初始化列表、this指针与常成员函数

构造函数、初始化列表、this指针,常成员函数

2022-07-24 22:23:39 1055

原创 C++ 类的定义与使用

类与对象、构造函数、访问控制限定符、C++,多文件编程

2022-07-23 19:08:48 15080 3

原创 LINUX C(静态库与动态库的制作、环境变量、错误处理)

静态库,动态库的制作和使用,环境变量的使用,错误处理,linux c

2022-07-23 08:37:05 2794

原创 数据结构常用的算法

冒泡排序,快速排序,插入排序,选择排序遍历查找,拆半(二分)查找,分块查找

2022-07-22 08:52:41 10786

原创 C++笔记整理(引用与类型转换)

C++ 引用 、类型转换

2022-07-21 19:08:58 1419

原创 数据结构之二叉树

二叉树 数据结构 深度广度遍历

2022-07-21 11:59:52 524

原创 C语言数据结构----双向链表

数据结构 双向链表 C语言

2022-07-21 09:21:38 376

原创 数据结构之队列

链式队列,循环队列,数据结构

2022-07-20 20:59:04 351

原创 数据结构之栈的思想

栈的概念,链表栈顺序栈的实现

2022-07-19 13:34:48 767

原创 C++笔记整理(字符串、函数重载、哑元、缺省参数、动态内存管理)

字符串,布尔类型,函数重载,哑元,缺省参数,动态内存管理,C++

2022-07-19 08:36:46 276

原创 数据结构之顺序表

顺序表 数据结构 c语言

2022-07-18 09:20:06 246

原创 C++笔记整理(概述、名字空间、结构体、枚举、联合)

名字空间,结构体,联合,枚举

2022-07-16 20:37:10 376

原创 数据结构之链表---单向链表

单向链表,数据结构

2022-07-15 19:53:08 1543

原创 C语言多文件编译与文件操作(linux)

多文件编程,编译过程,makefile的使用,条件编译,文件操作,标准IO

2022-07-14 09:42:21 5630

原创 C语言中函数与数据传递

C语言,递归函数,函数间传递 string族函数等

2022-07-08 15:50:57 3045

原创 C语言指针、数组与函数

C语言 函数,指针,数组

2022-07-07 15:33:52 524

原创 C语言输入输出

c中常量、输入输出

2022-07-07 09:22:22 8476 1

原创 C语言词法符号(续)

C语言词法符号,运算符、标识符、

2022-07-06 14:17:17 373 1

原创 C语言笔记(关键字篇)

C语言32个关键字

2022-07-06 09:17:52 406 3

空空如也

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

TA关注的人

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