Murphy's Blog 
  • 首页
  • 归档
  • 分类
  • 标签
  • 友链
  • 关于
  •     
离线 API 文档查看工具

离线 API 文档查看工具

写代码,API 用法记不住,那就需要一个程序员词典,推荐下两个好用的离线 API 查看工具,程序员的百科全书。 DASH 仅可以用于 apple 产品,IOS 系统下。 zeal zeal 就很良心了,Windows 下可用,文档也不比 DASH 少,界面干净,下载速度也比较快。
 2019-09-23   工具    DASH  zeal  程序员词典  API 文档查看工具 
NB-IOT 模块 MT2625 使用总结

NB-IOT 模块 MT2625 使用总结

MT2625 NB-IOT SOC 应用 基于中移物联网 M5311 模块。 AT 建立 UDP 连接 查询 apn:AT+CGDCONT? 激活 apn AT+EGACT=1,1,”cmnbiot6”,””,”” 其中 cmnbiot6 为查询到的 apn 建立 socket AT+ESOC=1,2,1 建立连接 AT+ESOCON=0,PORT,”IPADDR” AT+ESOCON=0,2039,”114.116.144.151” “118.31.15.152” 发送数据 AT+ESOSEND=0,2,3132 断开连接 AT+ESODIS=0 关闭 sock
 2019-09-20   物联网    NB-IOT  MT2625  M5311 
C 语言内存 dump 函数

C 语言内存 dump 函数

代码片段。 在调试的时候经常要打印内存里的数据,来看看数据及格式是否在预期范围内;以及在调试二进制协议的时候,经常需要将协议包里的数据打印出来,这个时候就会涉及到 HEX 数据的展示问题。 这篇文章就是展示如何优雅地打印 HEX 数据。 按照 BeyondCompare 形式打印 HEX 数据。 基础版代码如下: #define __is_print(ch) ((unsigned int)((ch) - ' ') < 127u - ' ') void dump_hex(const uint8_t *buf, uint32_t size) {
 2019-09-18   物联网    内存数据打印  内存 dump 
ARM GCC 库打桩——符号替换

ARM GCC 库打桩——符号替换

开发中,难免会遇到只有库没有源码的情况,调试的时候,库里的几个函数又非常关键,那我们怎么控制里面的流程呢,并插入自己代码? 这个时候就需要使用 GCC 工具重定义库中的符号,然后在外面包装该函数。 举例一个库:lib_test.a 库中的函数:void hello_test_lib(void); 现在,我们想把库里面的 hello_test_lib 函数替换为 new_hello_test_lib,需要以下步骤: 复制一份 lib_test.a 为 lib_test_bak.a arm-none-eabi-objcopy lib_test.a lib_test_bak.a 重定义符号 a
 2019-09-17   物联网    GCC 库打桩  GCC 符号替换 
单个文件编译优化配置

单个文件编译优化配置

单独设置一个 C 文件的优化级别,支持 MDK、IAR、GCC,代码如下: #if defined(__CC_ARM) #pragma O1 #elif defined(__ICCARM__) #pragma optimize=none #elif defined(__GNUC__) #pragma GCC optimize ("O0") #endif
 2019-09-17   物联网    编译器优化 
python 遍历删除指定格式文件

python 遍历删除指定格式文件

代码放在自己电脑上总是找不到,那就放到博客里吧。 在做嵌入式开发的时候,总是会生成很多中间文件(如 .o 文件),所有有时候需要去查找删除这样的文件,所以就写了这个一个 python 脚本。 代码假定你将该代码命名为 rm_specifial_file.py。 #!/user/bin/python #coding:utf-8 import sys, os import time # 解决乱码问题 reload(sys) sys.setdefaultencoding("utf-8") def recursive_del_files(del_path, del_fil
 2019-08-22   Python    Python 遍历删除  删除指定文件 
RT-Thread DHT11 温湿度传感器驱动

RT-Thread DHT11 温湿度传感器驱动

分享一个我整理的 DHT11 温湿度传感器驱动 dht11_rtt 软件包 dht11_rtt 是基于 RT-Thread 物联网操作系统实现的 dht11 驱动软件包,该软件包托管在 GitHub,使用 Apache-2.0 协议许可。 dht11_rtt 驱动使用了 RT-Thread Sensor 传感器框架和 Pin 驱动框架,因此在使用的过程中需要开启这两个功能。不过,在使用 RT-Thread 的 menuconfig 进行配置的时候会默认选中 Sensor 和 Pin 设备配置。 简介DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字
 2019-08-17   物联网    RT-Thread  DHT11 
主流嵌入式操作系统(RTOS)有哪些?看看这14种

主流嵌入式操作系统(RTOS)有哪些?看看这14种

看到 21ic 公众号发布了一篇文章 主流嵌入式操作系统(RTOS)有哪些?看看这14种,收藏过来。 除了上面文章总结的 RTOS 之外,我发现了一个很好的 RTOS 汇总的网站 https://www.osrtos.com/,里面汇总了市面上流行的 RTOS,并给出了使用的开源协议、支持的平台、简单的描述、开源地址,非常有用的一个汇总。另外,该网站还汇总了嵌入式开发过程中经常用到的开源软件库(软件包),避免自己重复造轮子,站在巨人的肩膀上快速开发自己的应用。 和大家分享: RTOS 汇总:开源软件包汇总:
 2019-08-12   操作系统    嵌入式操作系统  RTOS 
RT-Thread Pin 设备驱动框架快速对接

RT-Thread Pin 设备驱动框架快速对接

为什么需要 Pin 设备驱动框架 跨平台可移植应用 操作简单 试想下面这个场景: 你基于 STM32 MCU 编写了一个包含很多 GPIO 操作的应用程序,GPIO 控制函数使用的是 HAL 库。后面,由于某种原因,MCU 需要更换,使用的是 NXP 的芯片,不支持 HAL 库,那你怎么办? 通常,你会查找所有 GPIO 操作相关的接口,然后替换成 NXP 提供的 GPIO 驱动函数,如果 GPIO 的编排方式不一样(有的有 GPIOA 这样的分组,有的没有),那就更加的麻烦。这样,你就维护了两个版本的应用程序。 那么,有了 Pin 驱动框架能解决这个问题吗? 当然,Pin 只能解决应用层代
 2019-07-10   操作系统    RT-Thread  嵌入式操作系统 
Cortex-M3/4 调试技巧、STM32 调试手段

Cortex-M3/4 调试技巧、STM32 调试手段

Cortex-M3/4 一些调试技巧今天主要总结下这段时间在没有 调试器 情况下,解决 bug 的一些辅助调试手段。 在没有 调试器 的情况下,进行代码调试的手段就只有 log 大法,为了能够尽可能详细地输出有用的调试信息,往往我们需要将 调用栈 、R0- R15 寄存器、SCB、中断状态、线程状态等信息打印出来,然后配合 反汇编 进行调试跟踪代码。这会用到一些特殊的函数(内链汇编函数),下面将介绍我用到的汇编函数,这些都基于 GUN GCC 工具链。 获取中断号获取中断号是通过系统控制块 SCB 寄存器来获取,参考如下: #define SCB_ICSR_VECTACTIVE_Pos
 2019-07-04   物联网    ARM  Cortex M3  Cortex M4  STM32  STM32 调试方法 
1234

搜索

Hexo Fluid
总访问量 次 总访客数 人