自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lustrum的博客

本文为博主原创文章,未经博主允许不得转载。文章只为项目记录,不能保证观点正确。

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

原创 freertos + system 查看任务运行请情况,

最近做蓝牙 nrf52840 ,跑了freertos 操作系统,领导希望看下操作系统实时运行情况,以分析芯片资源使用情况,,上一个写的 太模糊了,罪过罪过,,,先一直system view 库进工程1、下载库文件地址:https://www.segger.com/downloads/free-utilities#SystemView(注意需要更新下jlink 驱...

2019-02-28 08:47:07 3690 3

原创 rt1020 flexram动态调整 DTC-RAM ITC-RAM OC-RAM大小

RT1020 内置ram 有256 kb , nxp 将这256 kb 的空间分成了三片修改方式:一、基于MCUXpresso修改1、修改编译配置,将DTCM放到最前面,并将size改为0x20000,其他size改小2、修改startup_mimxrt1021.c -->attribute ((section(".after_vectors.reset"))) void Re...

2019-02-21 17:03:35 2445 1

原创 rt1050 外部运行在外部flash ,同时操作外部flash 保存数据

几周前的项目到了, 现在不记录补上。。。。。1、项目需求      由于我们使用的rt1050 程序时在外部flash 中跑的, 现在又想保存一些数据, 坑的1050 没有内部eeprom 。在者我们保存的数据量比较大, 所有想办法同时去操作外部flash 保存数据。 网络摘抄原文参考——http://blog.chinaaet.com/jihceng0622/p/5100053391...

2019-01-17 17:48:46 3696 6

原创 stm32 时钟简介

时钟是嵌入式系统的脉搏,对嵌入式系统至关重要。处理器内核在时钟驱动下完成状态变换等动作,外设部件在时钟的驱动下完成各种工作,比如串口数据的发送、A/D转换、定时器计数等等。stm32l0xx系列低功耗新增MSI内部多频率可选时钟源,代码配置方面基于HAL库,与f系列相比存在一定的区别,本文以datasheet中的时钟树图为基础对时钟系统进行学习总结。时钟树如下图1所示:1、LSI ...

2018-11-23 10:53:11 1562

原创 linuc C 进程通信——信号量

1、信号量:        信号量可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信号量是用来调协进程对共享资源的访问的。   大致为不同任务之间的数据通信,达到不同任务的调度。2、实现semop()   改变信号量值 int semop(int sem_id, struct sembuf *sem_opa, size_t num_sem_ops);...

2018-08-14 13:42:29 222

原创 linux C 使用mini xml解析 xml

头文件   #include "mxml.h"  (需要加载xml动态库)<?xml version="1.0" encoding="utf-8"?><bookstore> <book category="CHILDREN"> <title>Harry.Potter</ti

2018-08-10 18:12:02 978

原创 http server 值select 学习

select  函数1、用途    在编程的过程中,经常会遇到许多阻塞的函数,好像read和网络编程时使用的recv, recvfrom函数都是阻塞的函数,当函数不能成功执行的时候,程序就会一直阻塞在这里,无法执行下面的代码。这是就需要用到非阻塞的编程方式,使用select函数就可以实现非阻塞编程。       select函数是一个轮循函数,循环询问文件节点,可设置超时时间,超时时间到了就跳过代...

2018-06-29 16:54:25 445

原创 stm32 cjson 解析

一、cjson结构体:typedef struct cJSON { struct cJSON*next,*prev; /* 遍历数组或对象链的前向或后向链表指针*/ struct cJSON *child; /*数组或对象的孩子节点*/ int type;

2018-04-28 09:20:22 4803

原创 2017.12.06 source insight 代码格式化

在source insight 中有的时候赋值粘贴文件 会试文件格式乱掉,尤其是大括号之类的 特别烦人, source insight中挂载Astyle工具 能有效的格式化文件格式。1、下载Astyle工具在网站http://astyle.sourceforge.net下载2、source insight中挂载Astyle工具 (目前使用的是source insight4.0)a、将下载的软件解

2017-12-06 18:31:57 419

原创 2017.11.16 在freertos 上PCF8563驱动程序

** PCF8563 是低功耗的CMOS 实时时钟/日历芯片,它提供一个可编程时钟输出,一个 中断输出和掉电检测器,所有的地址和数据通过I2C 总线接口串行传递。最大总线速度为 400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动产生增量。**本次开发时基于STM32407上的项目,使用过程如下: (1)初始化I2C, 在main中加入初始化/*

2017-11-16 09:47:53 2045

原创 2017.11.06 hex文件格式分析

例如HEX文件为 数据类型‘00’ Data Rrecord:用来记录数据,HEX文件的大部分记录都是数据记录‘01’ End of File Record:用来标识文件结束,放在文件的最后,标识HEX文件的结尾‘02’ Extended Segment Address Record:用来标识扩展段地址的记录‘03’ Start Segment Address Record:开始段地址记录‘04’

2017-11-06 18:14:35 298

原创 2017.10.12 内存管理

FreeRTOS提供了几个内存堆管理方案,有复杂的也有简单的。其中最简单的管理策略也能满足很多应用的要求,比如对安全要求高的应用,这些应用根本不允许动态内存分配的。 FreeRTOS也允许你自己实现内存堆管理,甚至允许你同时使用两种内存堆管理方案。同时实现两种内存堆允许任务堆栈和其它RTOS对象放置到快速的内部RAM,应用数据放置到低速的外部RAM。 每当创建任务、队列、互斥量、

2017-10-12 16:53:31 302

原创 2017.09.28 MQTT部分总结

看了关于MQTT-3.1.1-CN 总结一下 一 、报文格式 (1)创建连接是的固定包头 (2)确定连接的固定包头 (3)发布消息 固定包头 (4)订阅主题固定包头 (5)取消订阅 固定包头 (6)心跳请求包 固定包头 (7)心跳响应 固定包头 (8)断开连接 固定包头 二 、 (1)每个 MQTT 控制报文都包含一个固定报头。 图例 2.2 -固定报

2017-09-28 18:18:07 402

原创 2017.09.26 systemView 查看 freeRTOS 任务运行情况

在领导的指示下, 为了更方便的查看任务的运行状态,加入了 systemView 可视化软件。 添加方案: 移植步骤和使用操作如下:(如有步骤不清楚的可以来找我) 1、先准备好能跑FREERTOS的工程。 2、systemview,安装(软件在附件中) 3、工程中建一个目录,比如trace。systemview安装目录下有个src目录,将里面用到的文件拷贝到trace

2017-09-26 18:07:11 3167

原创 2017.09.25 wireshark 使用心得

最近在做MQTT升级相关东西的时候,用wireshark 抓包看与平台交互过程的时候,总会发现现实为红色的数据包,理解大概是传输总错误的包,后来发现中间有过程才出现后包先到的情况,说以设备就认为通信错误,将包丢弃掉。中间看到一本书 ,介绍wireshark中 看tcp传输的过程,在一本书上看了相关,

2017-09-25 18:13:51 675

原创 2019.09.12 字符串查找

在做mqtt升级的时候,发现U盘升级对 固件名称做了匹配,也就是说 固件的名称必须包含某些特定的字符,具体实现方法: u8 StringFind(const char *pSrc, const char *pDst) { int i, j; for (i=0; pSrc[i]!='\0'; i++) { if(pSrc[i]!=pDst

2017-09-13 08:56:24 475

原创 2017.9.5 mqtt 升级 相关记录

最近一直在调试mqtt升级相关的东西,总结问题其实不大,最开始一直W25Q16擦除不干净, 然后再BootLoader程序中,校验一直出现很奇怪的问题。然后找啊找,找原因找了好久好久。。。。。。最后在小伙伴的帮助下 终于发现spi初始化 出现了问题,导致在第一调用spi相关的函数都失效,mmp的,最后强制在 spi初始化的时候加了一个 SPI_Flash_WAKEUP(); 函数,先调用一下,

2017-09-05 18:47:53 392 1

原创 2017.8.10 mqtt 升级代码熟悉

一、MQTT升级代码(1)升级代码参考pocket GPRS相关代码实现 初步为设备订阅升级消息主题,设备收到服务器发布的消息后,校验消息类型,如果为升级消息,则订阅 消息包主题,接受固件包。 其中固件包为分为多为发送的,目前还没有看到数据包的数据是怎么处理的,包括怎么保存flash等代码。目前测试tls相关代码的稳定性能。下周开始写升级相关的代码。

2017-08-10 18:59:44 879

原创 2017.8.9 mqtt测试与升级模式

一、mqtt相关测试(1)先测试在不加密的情况下测试MQTT。 刚开始的时候烧写程序后,系统运行,使用仿真软件测试,订阅主题后,发现可以收到信息。但在网页上并不能看到设备在线的标记。后来发现是 逆变器SN号与他人冲突了,,,更改后发现能正常使用。 二、升级问题目前得出的模式是仿照pocket gprs中的升级程序,移植到407的代码上。 模式为: (1)固件上传到服务器。服务器发布固件升级相

2017-08-09 18:32:02 988

原创 2017.8.7 hash测试 与数字签名

**一、关于数字签名** http://blog.csdn.net/oscar999/article/details/9364101 这个地方将的比较详细,可以仔细看看;数字签名: 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。 将该报文摘要值用发送者的私人密钥

2017-08-08 11:52:18 637

原创 2017.7.28 tls相关测试

一、 根据博士方面提供的 测试软件,就是PC机上模拟 服务器和客户端的相关软件进行了 相关测试。 (1)两台pc ,一台运行 服务器模拟软件, 注意服务器的端口号一台 模拟客户端软件 客户端 请求的IP地址和端口号, 能测试调通。 (2)设备作为服务器,服务器固定地址为 192.168.1.103 /5502 客户端请求5502端口。 调试持续可调通。 (3) 设备作为

2017-07-28 17:55:23 458

原创 2017.7.27

(1)协助王工 做关于TLS相关测试,测试结果目前为每次加密出来的 抓包结果都是不一样的,猜测可能是加密过程有一个随机数产生, 。。。。(2)思考mdns 相关问题,猜测mdns在路由器上是否有过滤作用。。。。(3)了解socket 相关内容 http://www.cnblogs.com/dolphinX/p/3460545.html

2017-07-27 18:31:53 199

原创 2017.7.26 mqtt相关理解

(1)主要测试了昨天出现 mdns不能回应的问题,目前还没有找到有效的解决办法。在测试,使用网络调试助手,定时3S发送一次数据,发现设备并不是一直不回应请求消息,而是不定时的会发送回应包。。。。。(2)同时 移植lwip到0721程序中,目标观察 是否是自己前期移植lwip程序时,搞乱其他部分了。经过移植后,目前并未出现 昨天不能回复MDNS请求包的问题 。 (3)解决昨天 transprt.c

2017-07-26 18:17:45 282

原创 2017.7.25 MQTT相关使能与mdns 问题处理

(1)主要阅读了MQTT相关文档,了解MQTT协议内容, 主要参考文档:https://www.gitbook.com/book/mcxiaoke/mqtt-cn/details(2)对mqtt运行运行过程还是不太了解,不太了解MQTT与服务器连接过程, (3)前期猜测,mqtt_init() 时,至少需要向网络发送类似注册包的什么东西,但调试程序,打断点,好像并备有这样的包。甚至在创建TCP连

2017-07-25 18:18:13 346

原创 2017.7.24 mdns移植到407

一、 (1)明确近期工作任务; 博世项目(移植库函数后以太网相关功能确认(MQTT、modbus tcp)、新增部分代码标准化及模块化、MQTT(加密及非加密)与tls modbus tcp同时运行是否存在异常、关于加密签名确认) (2) 理解: 近期主要学习了解MQTT 与Modbus tcp 相关知识,在没有TLS加密情况下先跑起来,观察相关现象。 了解 加密相关知识。 二、具体工作

2017-07-24 18:34:01 2129

原创 freeRTOS计算任务堆栈使用情况:

freeRTOS计算任务堆栈使用情况: (1)官方文档提供了 函数 用来查询 任务 剩余 栈 空间 参数解释: xTask:被查询任务的句柄——欲知如何获得任务句柄,详情请参见API 函数xTaskCreate()的参数pxCreatedTask。如果传入 NULL 句柄,则任务查询的是自身栈空间的高水线。返回值: 任务栈空间的实际使用量会随着任务执行和中断处理过程上下浮

2017-07-21 18:34:58 18914

原创 项目记录

声明:本文章只为记忆,其中错误,希望指正。 项目记录: 2016.6.23 (1)mDNS (multicast DNS)(组播DNS); (2)协议是基于UDP协议的 局域网发现协议,协议规定端口号为5353 ,组播地址为 224.0.0.251 ; (3)主机进入局域网后会向网络发送请求数据包,包括(本身IP,服务等信息),局域网内有mDNS功能的设备收到数据后,会向局域网被返回自身信

2017-06-23 18:03:50 1054 1

字节流数据自动分割工具

基于QT 的字节流分割工具; (1)通过记载EXCEL 表格中字节格式,读取为配置信息; (2)数据字节流,根据配置信息,按配置信息中字节占位情况,自动解析数据; 主要用于嵌入时设备,通信数据的协议解析,便于开发;

2022-12-06

socket 作为服务器端,监听客户端

支持多个socket连接,并同时监听,支持连接断开后,socket释放等。

2018-07-03

空空如也

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

TA关注的人

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