嵌入式
LikeShadows
后来你成熟了,可也不爱笑了
展开
-
warning: variable ‘a‘ set but not used [-Wunused-but-set-variable]
warning: variable 'a' set but not used [-Wunused-but-set-variable]原创 2022-11-25 14:14:24 · 4496 阅读 · 2 评论 -
Error: L6218E: Undefined symbol Image$$ARM_LIB_STACK$$ZI$$Limit (referred from startup_armcm4.o).
Error: L6218E: Undefined symbol Image$$ARM_LIB_STACK$$ZI$$Limit (referred from startup_armcm4.o).原创 2022-11-25 11:44:42 · 1456 阅读 · 1 评论 -
Windows 下使用 cmake 构建工程
Windows 使用 cmake 构建工程原创 2022-11-22 21:00:53 · 371 阅读 · 0 评论 -
J-Link Device Support Kit
JLINK 新设备添加方法套件 本文基于 Segger JLink 用户手册翻译原创 2022-11-22 17:14:26 · 1092 阅读 · 0 评论 -
JLink 添加新设备用于下载/调试固件
JLink 高版本添加新设备的方式原创 2022-11-22 17:10:00 · 3411 阅读 · 0 评论 -
文件拆分与合并
windows 系统下的文件拆分与合并原创 2022-09-30 10:57:48 · 246 阅读 · 0 评论 -
通用模块处理流程图
这里写自定义目录标题新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markd原创 2021-03-13 13:13:44 · 645 阅读 · 0 评论 -
批处理文件语法
1. 概述批处理,顾名思义就是进行批量的处理,也称为批处理脚本,英译为 BATCH,后缀名 .bat 就是取的前三个字母。它的构成没有固定格式,只要遵守 <每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是 DOS > 就可以了。批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。2. 常用命令列表命令含义rem / ::注释命令,用于添加注释,该命令后的内容不执行rem 能回显 :: 不会回显ec原创 2021-02-27 12:07:29 · 447 阅读 · 0 评论 -
bootloader 数据解析
解析 nordic bootloarder 的配置数据和备份数据。只需要将数据按 16 进制打印替换掉下面的数据即可。buf_fe:表示存放 0xfe000 的数据。buf_ff:表示存放 0xff000 的数据。#include <stdio.h>#include <stdint.h>#include <string.h>static uint8_t buf_fe[] = {0xC7, 0xC2, 0x34, 0x65, 0x02, 0x00, 0x00原创 2020-07-22 10:42:21 · 340 阅读 · 0 评论 -
LoRa_简介
1. LoRa 基础知识1.1 什么是 LoRa LoRa 全称是 Long Range,既远距离的意思,由 semtech 公司研发并推广的一种低功耗局域网无线标准,特点是在相同的功耗下比其它无线方式传播的距离更远,实现了低功耗和远距离的统一,在同样的功耗下比传统的无线通信射频通信距离扩大 3-5 倍。1.2 LoRa 与其它无线技术对比LoRaNB-IOTZigbee...原创 2020-03-28 16:02:58 · 17550 阅读 · 0 评论 -
nRF52840_Zigbee_OTA
Zigbee OTA Firmware Packaging 1. nRF52840 Feature list1.1 FeaturesBluetooth® 5, IEEE 802.15.4-2006, 2.4 GHz transceiver-95 dBm sensitivity in 1 Mbps Bluetooth® low energy mode-103 dBm ...原创 2020-03-10 17:23:51 · 1542 阅读 · 0 评论 -
J-Link 指导手册
1. J-Link 内置智能支持 CPU通常有以下 2 种方式在 J-Link 软件中支持一个新的 CPU。J-Link 固件智能识别PC 端 (DLL) 智能识别最理想的是在 固件 中智能识别,这种方式更强大更健壮,J-Link PC 软件能自动的检测到连接的 CPU-core。如果固件支持智能识别,则会自动识别。如果使用的 J-Link 固件不支持智能识别,并且只有 PC 端智能识...原创 2020-01-16 17:58:37 · 6597 阅读 · 2 评论 -
Error: *...master latest InRelease' doesn't support architecture 'i386'
在构建嵌入式操作系统环境时,下载依赖包时提示这个错误,如下图说是什么 Release 版本不支持 i386 架构, 郁闷。。。我是按官网操作来的,你给我报这个错误,这不扯淡么,google 一下,Soga,原来这么简单,记录下,免得将来再次遇到时自己又傻逼了。只需要在 apt/ 下载源中对应的源中 deb 后面添加 [arch=amd64] 即可。$ cd /etc/apt/sources...原创 2019-10-10 17:49:14 · 2106 阅读 · 0 评论 -
嵌入式 C 编码风格
嵌入式 C 编码风格版本日期作者备注V1.02019.09.16Like Shadows初版文件头所有新建的文件,都必须在最开始声明 Project 的许可条款。对于从其它地方拷贝的文件,如果有许可条款声明,则应保留。Project 的许可条款示例如下:/* * Copyright [2019] [xxxx Co., Ltd] * * ...原创 2019-09-21 14:58:56 · 293 阅读 · 0 评论 -
Linux 下串口配置
1. 下载 putty2. 运行 putty3. 设置串口参数4. 配置自动换行显示5. 显示效果原创 2018-09-12 14:23:11 · 991 阅读 · 0 评论 -
裸机系统与多线程系统
1. 裸机系统裸机系统即直接操作硬件, 所有操作均在主程序中实现. 裸机系统又细分为如下两种:1. 轮询系统2. 前后台系统1.1 轮询系统轮询系统即为在裸机编程的时候, 在主程序初始化完硬件之后, 让主程序在一个死循环里面不断循环, 顺序地做各种事情, 伪代码如下 :int main(){ /* 初始化硬件 */ Init_HardWare(); /* 无限死循环 *...原创 2018-10-08 18:03:33 · 1972 阅读 · 0 评论 -
宏中使用 return 和逗号表达式
最近在移植一个开源代码, 调试时发现怎么都跟预期的结果不一样, 函数未执行完就退出了, 困扰了我好几天, 今天偶然间看到宏定义的内容, 然后才发现是在宏中执行了退出, 原来, 宏还可以这么用, 今天就分享出来, 避免大家今后踩坑.1. 示例代码#include <stdio.h>#define TRUE 1#define FALSE 0#define ERROR_MSG(m...原创 2018-10-19 10:29:53 · 2605 阅读 · 0 评论 -
解决 C2664 “char *strcpy(char *,const char *)”: 无法将参数 2 从“CString”转换为“const char *”
在使用旧工程中的函数时, 在VS 2017上编译出现如上问题, 但是该函数在之前的版本上可以正常编译, 怎么会出现这问题呢?难道不向前兼容, 不应该, 一定是哪里没设置好, 在找资料查询之后, 还是找到了, 记录下, 方便大家也方便自己.1. 编译错误显示图根据错误提示, 尝试修改字符集, 应该可以解决.2. 修改字符集, 采用多字节字符集3. 重新编译重新编译, 还是出错, 但...原创 2018-10-23 15:02:06 · 6636 阅读 · 0 评论 -
C/C++标准头文件写法
自从接触开源项目之后, 发现在其中可以获取很多编程标准, 也会让自己的代码更加易读, 更加赏心悦目.//name.h#ifndef NAME_H_INCLUDE#defineNAME_H_INCLUDE/* 需要包含的头文件 */#include <stdio.h>#include "reference.h"#ifdef __cplusplusextern "C"...原创 2018-10-26 09:46:34 · 3896 阅读 · 0 评论 -
常用数据转换, 常用内存相关函数, 常用关键字
1. 数组转16进制字符static const char *hexdigits = "0123456789ABCDEF"; void data2hex(const void *data, uint32_t len, char *str){ const uint8_t *cdata = (uint8_t *data); for (uint32_t i=0; i&lt;len; i++)...原创 2018-10-29 16:50:08 · 205 阅读 · 0 评论 -
BASE_58 编解码原理及代码实现
初次听到 base58 编解码很是不解, 已经存在了 base64 编解码, 为什么还要出现 base58 呢, 因此各处搜集资料, 了解原理, 用途, 终于把它搞定, Mark下, 免得今后忘记找不到了.1. base 58 编码由来1. base_58 是用于 Bitcoin 中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址2. 相比 base_64,base_64 不使...原创 2018-11-06 20:03:20 · 6963 阅读 · 9 评论 -
RT-Thread------线程(1)
1. 线程概念线程: 就是把整个系统分割成一个个独立且永不返回的函数, 这样的函数我们称之为线程.//线程函数void thread_entry(void *para){ /* 线程主体, 死循环 */ for (; ;) { /* 线程主体代码 */ }}2. 线程创建在多线程的系统中, 因每个线程都是独立的, 互不干扰, 因此, 每个线程需要有独立的栈空间, 这个栈...原创 2018-12-05 15:12:22 · 638 阅读 · 0 评论 -
链表操作
1. 链表概述 链表是一种物理存储单元上非连续, 非顺序的存储结构, 数据元素的逻辑顺序是通过链表中的指针链接 次序实现的, 链表由一系列节点(链表中的每个元素称为节点)组成, 节点可在运行时动态生成. 1.1. 链表与数组优缺点 优点: 1. 不需要于预先知道数据大小, 可以动态改变大小 2. 链表结构可以充分利用计算机内存空间, 灵活实现内存的动态管理. ...原创 2018-12-28 11:51:56 · 250 阅读 · 0 评论 -
Python 文件操作及示例
1. 文件操作文件的操作方式有 打开文件, 读文件, 写文件, 关闭文件. 还会涉及一些系统路径, 路径下的文件夹和文件列表... 操作.2. 辅助功能对文件和文件夹的相关操作涉及到 os 模块 和 shutil 模块.赋值方式含义os.listdir(“E:”)返回 E 盘目录下所有文件和目录os.remove(“E:\a.txt”)删除 E 盘目录下...原创 2019-01-23 11:20:30 · 508 阅读 · 0 评论 -
无法打开内核设备"\\.\Global\vmx86":系统找不到指定的文件. 是否在安装 VMwareWorksation 后重新引到 ? 问题解决
节前正常使用的工作环境, 过完春节后, 上班第一天就不正常工作了, 难不成机器也要放假休息, 虚拟机打不开了, 没办法办公可是不行的. 上网查原因, 解决问题.上网看了很多关于此问题的解决办法, 很多都是命令行配置的文章, 我个人很喜欢简单处理, 就想找到很简单的方式解决, 浏览了一些之后, 发现该问题的原因其实很简单, 就是虚拟机相关的服务没有开启, 那就不需要命令行了, 直接开启服务即可...原创 2019-02-18 15:45:04 · 7761 阅读 · 4 评论 -
micropython_环境搭建_001
1. 下载源码1. git clone https://github.com/micropython/micropython.git2. sudo apt-get install pkg-config3. sudo apt-get install libffi-dev2. 安装编译工具链1. 从网上下载 "gcc-arm-none-eabi-xx"工具链, 如果找不到, 向我...原创 2018-08-01 19:20:40 · 2225 阅读 · 1 评论