自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

项目、学习记录

  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 OTA更新利用CRC保证程序的完整性

OTA更新利用CRC保证程序的完整性引子在对STM32利用4G模块进行远程升级时,如何保证下载下来的bin文件是完整没有丢失的呢?有两种方式:1. 分包打校验,接收一包校验一包2. 整包打校验,接收完毕后整体校验为快速实现,采用第二种方式校验方式选择简单常见的CRC校验,为了降低难度,参考安富莱电子的教程,使用keil在编译时生成整个程序包的crc校验keil支持用户定义的命令,如下图在User标签页选择编译后执行的脚本CopyHex_Flash.bat该脚本文件中主要利用srec

2021-04-26 17:23:40 5140 7

原创 EC20 不常用AT 命令 整理

EC20 不常用AT 命令OTA更新中用到了EC20的HTTP和FILE操作AT命令,网上资料比较少,看手册又耗时,所以整理了下,方便以后查看使用,避免遗忘。HTTP 操作GET 请求1.设置HTTP URLAT+QHTTPURL=<URL长度>[,<超时时间>]URL长度:范围1-700 单位字节,一定要注意字节长度!超时时间:等待串口接收URL的超时时间正确返回CONNECT错误返回+CME ERROR: <errcode>如果单片机

2021-04-11 11:08:51 3267 1

原创 STM32F407汇编启动文件解析 (OTA 初始篇)

问题起源在编写 STM32 OTA 程序过程中对 FLASH第一个字存放栈顶地址和第二个字存放中断向量表实现比较疑惑,不太确定是在程序的哪个阶段固定这两个地址到了FLASH中,查询资料后发现原来就在启动文件中。之前工作写应用都是从自定义的main函数开始思考流程,虽然一直知道有启动文件,但是是因为汇编语言编写,所以没有深入了解,这次借此机会把启动文件的流程和具体功能过一遍。下方代码后都附有具体的注释,实际会汇编指令不多,具体功能都在下方有解释。代码分析;*********************

2021-04-10 10:20:45 1231

原创 STM32F407 OTA远程升级(上篇)

DFU : Device Firmware Upgrade,一般是指通过USB/UART接口进行固件升级。OTA : Over the air,一般是指通过无线进行空中固件升级。目标是使用OTA完成升级,下文主要介绍STM32 IAP的相关知识升级方式备份升级:将原有程序备份,更新运行区程序切换升级:切换运行中断向量表,分别在两个区域运行新程序这里使用前者(优点是好理解,缺点是对FLASH擦除次数多)存储区域划分STM32将整个FLASH分为4部分,分别存放不同程序bo..

2021-04-09 15:59:47 9875 8

原创 go helloworld

新建程序文件使用go module方式编写第一个go程序,进入程序目录/home/ubuntu/dev/code/goLearn/0.helloword执行go mod init demo生成go.mod文件,类似于js的package.json编写代码新建 main.go文件package mainimport "fmt"func main() { fmt.Println("Hello, 世界")}编译运行编译go build ./main.go生成 main 文

2021-04-02 18:02:40 147

原创 ubuntu 安装go

下载安装包首先在本地电脑上,打开 go 语言国内官网 https://golang.google.cn/dl/,选择linux版本,右击选择复制连接地址,然后登录ubuntu ssh上,执行下载命令。wget https://golang.google.cn/dl/go1.16.3.linux-amd64.tar.gzwget是下载工具,如果没有安装的话,先执行 apt-get install wget后边的地址就是刚才赋值的命令执行完毕后会将压缩包下载到当前目录中。解压到指定文件中执行

2021-04-02 18:02:06 22154 4

原创 KEIL编译以后查看FLASH和RAM占用单片机资源大小

程序输出包括四种类型:Code :程序代码RO-data : Read Only Data 表示只读常量,比如const 类型RW-data :Read Write Data 初始化了的可以读写的变量ZI-data :Zero Initialize Data 未被初始化的可以读写的变量,如未初值的全局变量数组,uint8_t uart_buff[100]FLASH 占用大小为:Code + RO Data + .

2021-04-02 15:16:12 1741

原创 多个NRF52832高频通信时生成字节长度为0的接收事件问题解决

1.现象如题,在调试多个52832高频率通信时,每隔一段时间会有载荷长度为0的 NRF_ESB_EVENT_RX_RECEIVED事件发生,52832接收处理部分代码如下:void rfEventHandler(nrf_esb_evt_t const * p_event){ uint8_t i; switch (p_event->evt_id) { case NRF_ESB_EVENT_TX_SUCCESS: SEGGER_RTT_printf(0,"TX

2021-04-01 17:41:21 911 3

mqttws31.js

前端使用mqtt的的websocket库,简单易用,具体使用方法参考博文https://blog.csdn.net/liangcsdn111/article/details/105863097

2020-04-30

空空如也

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

TA关注的人

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