
嵌入式物联网开发进阶
文章平均质量分 83
带你深挖每一个嵌入式技术细节,熟练掌握多样化的嵌入式进阶技能,订阅本专栏,有你想要的答案。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
架构师李肯
2023年度优快云【超级个体】荣誉称号,优快云深圳城市开发者社区主理人,从事嵌入式物联网相关行业10年+,国产嵌入式操作系统RT-Thread社区2022年度优秀布道者!目前担任嵌入式架构师一职,专注于嵌入式物联网系统架构设计,帮助你快速入门嵌入式物联网!
展开
-
【nginx反向代理】手把手教你利用nginx的反向代理实现自定义爆款域名跳转到你的博客主页...
你想不想拥有一个yyds.xxx.com这样的爆款域名来访问你的博客主页?跟着本教程的节奏,手把手来教你,待你了解了nginx反向代理的原理,你也一样可以拥有!原创 2021-09-17 20:05:00 · 7428 阅读 · 0 评论 -
【安全算法之SHA1】SHA1摘要运算的C语言源码实现
【安全算法之SHA1】SHA1摘要运算的C语言源码实现概述头文件定义实现源码测试用例github仓库更多参考链接概述 大家都知道摘要算法在安全领域,也是一个特别重要的存在,而SHA1是其中比较常见的一种摘要算法,它的特点就是计算复杂度较低,不等长的数据原文输出,可以得出等长的摘要值,这个值是固定为20字节。正是由于这种特殊性,很有重要的数据完整性校验领域,都可以看到SHA1的影子。 今天给大家带来SHA1的C源码版本实现,欢迎大家深入学习和讨论。头文件定义 头文件定义如下,主要定义了SHA1原创 2021-10-23 11:28:04 · 9427 阅读 · 0 评论 -
【安全算法之SHA224】SHA224摘要运算的C语言源码实现
【安全算法之SHA224】SHA224摘要运算的C语言源码实现概述头文件定义C语言版本的实现源码测试用例github仓库更多参考链接概述大家都知道摘要算法在安全领域,也是一个特别重要的存在,而SHA224是其中比较常见的一种摘要算法,它的特点就是计算复杂度较低,不等长的数据原文输入,可以得出等长的摘要值,这个值是固定为28字节。正是由于这种特殊性,很多重要的数据完整性校验领域,都可以看到SHA24的影子,不过相对于SHA1/SHA256,SHA224还是用得相对少很多。今天给大家带来SHA224的C源原创 2021-10-23 11:45:58 · 7984 阅读 · 0 评论 -
【安全算法之MD5】MD5摘要运算的C语言源码实现
大家都知道,MD5是一种摘要运算算法,关于更多的摘要算法,可以参考我之前的一篇文章:摘要算法汇总今天要给大家带来的是MD5摘要运算的源码实现,废话不多说,直接上源码:先看头文件,什么了一些结构体定义和操作宏定义,以及导出的3个API接口:#ifndef __MD5_H__#define __MD5_H__#ifdef __cplusplusextern "C" {#endif /* __cplusplus */#include <stdint.h>typedef原创 2021-10-18 13:29:00 · 6788 阅读 · 1 评论 -
【C语言面试题】请使用宏定义实现字节对齐!
最近博主在后台收到一位朋友的咨询,说他最近参加了一场技术面试,有这么一道笔试题:请使用C语言的宏定义实现一个功能,求得某个整型数M在N字节对齐的时,它的值大小。说明:1.M是一个非负整数;2.N是2的整数倍,值可能是1,2,4,8,16等等。要求:1.不得使用除法(/);2.不能使用函数实现,只能用宏实现;3.自行设计测试用例,明确得出测试用例执行成功与否。刚好,今天比较清闲,茶余饭后,顺手撸了一把代码:#include <stdio.h>#include原创 2021-08-04 19:29:47 · 35934 阅读 · 4 评论 -
【Makefile】Makefile与shell命令为何总是藕断丝连?
博主最近在项目实践过程中,需要深度定制项目的Makefile,其中有些复杂的流程必须得借助shell脚本才能高效地完成,为此博主特意深入学习了在Makefile种调用shell命令的方法。大家都知道shell命令是Linux的神器,学会灵活应用它可以大大提升执行的自动化效率。Makefile也是GNU的另一大神器,大家要知道,大名鼎鼎的Linux内核的编译就是靠Makefile来支撑的,连这么庞大、复杂的系统编译它都可以轻松驾驭,可想而知,它也是牛逼哄哄的存在。我们试想一下,如果把Makefil原创 2021-08-18 13:37:45 · 26239 阅读 · 1 评论 -
【Linux C语言编程】使用hexdump打印字节数组
今天给大家介绍一个非常有效的打印字节数组的函数,它的显示方式跟Linux命令行的hexdump的输出非常类似。先给大家上一个效果图:它的输出分为三部分:字节偏移量、16进制字节数据、ASCII码可显字符;其中ASCII部分,如果对应的字节是非可显字符,则用.代替。立马送上它的函数实现:#include <stdio.h>#include <string.h>int log_hexdump(const char *title, const unsig.原创 2021-09-08 13:02:27 · 28651 阅读 · 8 评论 -
【安全算法之SHA384】SHA384摘要运算的C语言源码实现
【安全算法之SHA384】SHA384摘要运算的C语言源码实现概述头文件定义C语言版本的实现源码测试用例github仓库更多参考链接概述大家都知道摘要算法在安全领域,也是一个特别重要的存在,而SHA384是其中比较常见的一种摘要算法,它的特点就是计算复杂度较低,不等长的数据原文输入,可以得出等长的摘要值,这个值是固定为48字节。正是由于这种特殊性,很多重要的数据完整性校验领域,都可以看到SHAxxx的影子。从复杂度上看,它是复杂于SHA256的,但是又比SHA512低一些,所以它的位置相对较尴尬,真正使原创 2021-10-23 12:12:29 · 8292 阅读 · 0 评论 -
【安全算法之SHA512】SHA512摘要运算的C语言源码实现
【安全算法之SHA512】SHA512摘要运算的C语言源码实现概述头文件定义C语言版本的实现源码测试用例github仓库更多参考链接概述大家都知道摘要算法在安全领域,也是一个特别重要的存在,而SHA512是其中比较常见的一种摘要算法,它的特点就是计算复杂度较低,不等长的数据原文输入,可以得出等长的摘要值,这个值是固定为64字节。正是由于这种特殊性,很多重要的数据完整性校验领域,都可以看到SHAxxx的影子。由于它的摘要值长度比较长,且相对于其他SHA算法,它的计算复杂度会高些,所以使用场景不算特别多。原创 2021-10-23 12:06:30 · 8340 阅读 · 0 评论 -
【安全算法之SHA256】SHA256摘要运算的C语言源码实现
【安全算法之SHA256】SHA256摘要运算的C语言源码实现概述头文件定义C语言版本的实现源码测试用例github仓库更多参考链接概述大家都知道摘要算法在安全领域,也是一个特别重要的存在,而SHA256是其中最常见的一种摘要算法,它的特点就是计算复杂度较低,不等长的数据原文输入,可以得出等长的摘要值,这个值是固定为32字节。正是由于这种特殊性,很多重要的数据完整性校验领域,都可以看到SHA256的影子。在一些安全认证中,摘要运算的算法等级至少是大于等于SHA256的安全级别,足以证明SHA256的重要原创 2021-10-23 11:55:12 · 8886 阅读 · 6 评论 -
【Linux C语言编程】4种方法将bin文件生成C语言格式的头文件数组
最近博主遇到一个小需求,需要将一个bin文件转换成C语言的数组,然后在代码里面操作这个数组,进行读写操作,最后生成另一个文件。这个需求的核心是如何将bin转换成C语言的数组形式,本文将介绍以下4种方法:方法一、使用C语言编写一个小的工具,利用fopen/fread/fwrite等函数来完成;方法二、利用python脚本来完成;方法三、利用shell命令hexdump来完成;方法四、利用shell命令xxd来完成。...原创 2021-08-24 21:04:24 · 26402 阅读 · 2 评论 -
【安全算法之base64】base64加解密的C语言源码实现
最近,有项目中需要用到base64的加解密,所以用C语言实现了一遍,测试效果还不错,代码量和RAM消耗都比较低,可以提供给大家参考下。#include <stdbool.h>#include <stdint.h>#define RT_SUCCESS 0#define RT_ERROR -1#define RT_ERR_BASE64_BAD_MSG原创 2021-10-13 15:01:05 · 8115 阅读 · 1 评论 -
【安全算法之概述】一文带你简要了解常见常用的安全算法(RT-Thread技术论坛优秀文章)
【安全算法】一文带你简要了解常见常用的安全算法**0 前言****1 算法的大致分类****2 对称加解密算法****2.1 DES/TDES算法****2.2 AES算法****2.3 SM4算法****2.4 RC2、RC4算法****2.5 对称加密算法对比总结****3 非对称加解密算法****3.1 对称加密算法与非对称加密算法的本质区别****3.2 非对称加密算法的分类和对比****3.2.1 RSA算法****3.2.2 SM2算法****3.2.3 ECC算法**3.2.3.1 **优点*原创 2021-10-20 13:19:27 · 10492 阅读 · 1 评论 -
【shell编程】shell脚本运行报错:syntax error: unexpected end of file
最近读者在写一个shell脚本,写完之后到linux环境去执行,发现莫名其妙地报错了,如下:这简直是莫名其妙,因为这个脚本昨天晚上还是跑得好好的,只是今天上午我稍微加了一些逻辑判断而已,居然报错了!不过,既然报的是./test-fail.sh: line 29: syntax error: unexpected end of file这可是语法错误啊,脚本解析器肯定不会骗人,因为我的执行环境只有我一个人用,没有动过。下面是我对这个问题的问题思路和解决方法:1.首先交代下我的编程方..原创 2021-08-12 13:31:59 · 31819 阅读 · 1 评论 -
【gcc编译优化系列】static与inline的区别与联系(RT-Thread技术论坛优秀文章)
本文主要分享了在C语言下如何使用gcc编译器实现内联函数的方法,文中对内联函数的定义和分析有一定的介绍,期间用到的分析手段也是平时调试的看家本领,希望对大家有所帮助和启发。原创 2021-11-05 19:26:15 · 16923 阅读 · 6 评论 -
【网络通讯开发系列】如何使用C语言编程通过UDP通讯解析域名
本文给出了一个使用UDP报文直接请求DNs解析的方法。原创 2021-11-17 20:43:15 · 10774 阅读 · 5 评论 -
【freeRTOS开发笔记】为什么xTaskCreate接口会卡死不返回
本文描述一个调用xTaskCreate卡死不返回的代码场景,文中给出了一定的分析思路和解决方案,希望对大家理解freeRTOS的多任务有所帮助。原创 2021-11-16 22:48:32 · 9121 阅读 · 1 评论 -
【gcc编译优化系列】结合真实的场景案例,如何获取gcc默认的链接脚本
本文介绍了几种获取gcc默认链接脚本的方法。原创 2021-11-17 20:42:44 · 7878 阅读 · 1 评论 -
【shell编程扫盲系列】结合真实案例分析“bash shell -e”到底是啥意思?
本文主要分析了#/bin/bash -e参数的含义,希望对大家有所帮助。原创 2021-11-23 19:49:19 · 8374 阅读 · 1 评论 -
【freeRTOS开发笔记】关注创建任务时传入的优先级数值问题
本文从freeRTOS的优先级数值问题出发,总结主流的各大RTOS对优先级数值的定义,希望对大家移植各种RTOS有帮助。原创 2021-11-16 22:46:23 · 7165 阅读 · 3 评论 -
【C语言进阶】C语言带返回值的宏定义
本文主要介绍了在C语言中,如何使用宏定义一个带返回值的宏函数!原创 2021-11-12 22:59:17 · 12273 阅读 · 3 评论 -
【RT-Thread学习笔记】如何优雅地退出QEMU模拟器?(RT-Thread技术论坛优秀文章)
【RT-Thread学习笔记】如何优雅地退出QEMU模拟器?1 问题场景相信很多人也跟我一样,刚接触RT-Thread不久,正在学习RT-Thread的路上,然而学习一款嵌入式实时操作系统,没有一个硬件开发板,在我之前的认知里面,这应该很难把RTOS的内核代码调试起来吧?直到了解了RT-Thread,我才知道原来有QEMU模拟器这么个东西。所以我很快就参考相关教程,把QEMU给装起来了,结合RT-Thread编译bsp的方法,很快我选择的qemu-vexpress-a9固件很快就编译出来了。看了b原创 2021-11-07 00:39:24 · 7348 阅读 · 2 评论 -
【安全算法之DES】DES算法(支持ECB/CBC模式)的C语言源码实现
【安全算法之DES】DES算法(支持ECB/CBC模式)的C语言源码实现概述头文件定义C语言版本的实现源码数据分组模式:ECB模式和CBC模式测试用例github仓库更多参考链接概述大家都知道在安全领域,算法可谓是十分重要,而面对加密要求不算太高的场景,我们都可能会考虑使用对称算法,而不是采用非对称算法,主要是因为对称算法相对简单,计算复杂度较低。而作为比较前出现的对称算法,DES算法在对称算法领域一直占有很有重要的地位。关于对称算法和非对称算法的区别,可以参考我之前的文章: 【安全算法之概述】一文带原创 2021-10-28 13:17:28 · 12937 阅读 · 17 评论 -
【freeRTOS开发笔记】记一次坑爹的freeTOS-v9.0.0升级到freeRTOS-v10.4.4
本文主要介绍了笔者一次从freeRTOS-v9.0.0升级到v10.4.4的过程经历,期间解决问题的方法值得大家学习。原创 2021-11-10 19:30:45 · 12693 阅读 · 1 评论 -
【RT-Thread学习笔记】如何使用scons 命令中buildlib的生成静态库?
本文主要介绍了如何使用scons的buildlib命令生成静态库!原创 2021-11-21 18:03:49 · 8327 阅读 · 2 评论 -
【gcc编译优化系列】如何(不)回收未发生调用的函数
文章目录1 问题场景2 需求分析3 需求实现3.1 示例代码3.2 链接脚本3.3 编译脚本3.4 验证测试3.4.1 验证不启用编译回收优化的情况3.4.2 验证启用编译回收优化的情况4 原理分析4.1 实现原理4.2 原理验证分析4.2.1 确认编译阶段的函数所在的段4.2.2 确认链接阶段的函数所在的段的回收情况5 经验总结6 更多分享1 问题场景大家都知道,我们在开发单片机类的嵌入式固件时,一般使用的FLASH存储空间都是比较有限的,小的可能几十KB,大一点的可能也就几百KB,可以说是寸金寸土原创 2021-11-05 19:27:33 · 16829 阅读 · 20 评论 -
【gcc编译优化系列】gcc编译链接时候--specs=kernel.specs链接属性究竟是个啥?
本文由一个RT-Thread论坛的问题引出gcc编译器的specs文件配置的相关知识点,期间用了一些分析思路和方法,现分享给大家,希望对大家有所帮助。原创 2021-11-20 01:21:34 · 9423 阅读 · 4 评论 -
【改善既有代码的设计】结合真实的代码案例场景,谈谈我的一些实施方法(RT-Thread技术论坛优秀文章)
本文结合真实的代码案例场景,聊到了一些旧代码,顺便谈一谈我的一些实施方法,希望对大家有所启发。原创 2021-10-25 23:11:23 · 18694 阅读 · 5 评论 -
【RISC-V开发学习系列】学习RISC-V官方提供的汇编指南
本文章主要介绍了RISC-V汇编指令的简要指南。转载 2021-11-23 19:55:38 · 10122 阅读 · 0 评论 -
【RT-Thread学习笔记】一起学习下RT-Thread的C语言编码规范
本文主要介绍了RRT开源操作系统的C语言编码规范,大家一起来学习吧。转载 2021-11-27 14:19:42 · 8372 阅读 · 0 评论 -
【shell编程扫盲系列】结合真实的案例学习如何调试shell脚本?
本文主要介绍了如何调试shell脚本,希望读大家有所帮助。原创 2021-11-27 14:24:22 · 7367 阅读 · 1 评论 -
【BLE蓝牙学习开发笔记】BLE-HCI-Error-Code
本文主要介绍了BLE HCI Error Code的基本内容。原创 2022-01-28 23:23:57 · 10753 阅读 · 1 评论 -
【汇编实战开发笔记】ARM汇编基础的三大块知识
ARM汇编基础的三大块知识原创 2022-01-31 00:20:07 · 7956 阅读 · 2 评论 -
【汇编实战开发笔记】从汇编代码中找出一段普通的for循环变成“死循环”的根本原因(RT-Thread技术论坛优秀文章)
使用汇编技术排查for循环变死循环的新思路!原创 2022-01-31 23:05:41 · 8325 阅读 · 3 评论 -
【ARM学习笔记】ARM汇编指令:B、BL、BX、BLX的区别
本文主要介绍了ARM汇编指令中的4个跳转指令:B、BL、BX、BLX。转载 2022-01-05 22:46:11 · 18160 阅读 · 2 评论 -
【经验科普】实战分析C工程代码可能遇到的编译问题及其解决思路
本文主要汇总介绍了一个C代码工程可能遇到的各种编译问题以及对应的解决思路,文末还就编译问题笔者分享了几个行之有效的排查经验,希望对大家解决编译问题有所帮助。原创 2021-12-31 22:44:13 · 8316 阅读 · 4 评论 -
【汇编实战开发笔记】一段汇编代码如何“反编译”成C代码?
介绍了一种由汇编代码得到C代码的方法原创 2022-01-31 01:52:09 · 12724 阅读 · 1 评论 -
【GCC编译优化系列】一文带你了解C代码到底是如何被编译的(RT-Thread技术论坛优秀文章)
本文借助gcc编译器,着重介绍了C代码是如何被编译的整个过程,期间也介绍了gcc相关的一些命令行参数,希望能够提升大家对C代码编译的认知,以及加深对gcc编译的理解和应用。原创 2021-12-04 00:04:28 · 7988 阅读 · 5 评论 -
【汇编实战开发笔记】RISC-V汇编基础的三大块知识
RISC-V汇编基础三大块知识原创 2022-01-31 00:22:04 · 9223 阅读 · 1 评论 -
【汇编实战开发笔记】80x86汇编基础的三大块知识
80x86汇编基础三大块知识原创 2022-01-31 00:24:33 · 7839 阅读 · 0 评论