摘要:
Options->File Type Options 红框可选择是否将指定类型的文件添加到工程 绿框可添加自定义文件类型,如汇编*.s;*.S 蓝框可新增文件类别,用于自定义文件类型 如不需将txt文件加入工程,则取消红框 阅读全文
摘要:
FILE 在有些编译器上会输出带路径的文件名,删除路径可使用函数 strrchr #include <string.h> #include <stdio.h> #define __FILENAME__ (strrchr(__FILE__, '\\') ? (strrchr(__FILE__, '\\ 阅读全文
摘要:
转换宏 map查找接口 阅读全文
摘要:
## github:https://github.com/skullboyer/code-check ## Code Check * 本仓介绍的内容涉及代码静态检查和编码风格检查 * 但主要放在编码风格检查,lint是基于google编码风格检查cpplint的修改版,起别名也是为了区别 * lin 阅读全文
摘要:
查找文件中的模块注册标记MP_REGISTER_MODULE pattern = re.compile(r"[\n;]\s*MP_REGISTER_MODULE\((.*?),\s*(.*?),\s*(.*?)\);", flags=re.DOTALL) def find_module_regist 阅读全文
摘要:
格式化打印 print("***{}".format(args)) 格式化转换 module = "skull" print "MODULE_{}".format(module.upper()) 格式化输出,八进制3位有效数高位补零 intvar = 9 print "{:03o}".format( 阅读全文
摘要:
脚本使用格式 python py/makeqstrdefs.py [command] [mode] [input-file] [output-directory] [output-file] command: pp, split, cat mode: qstr, compress 输入选项解析 if 阅读全文
摘要:
转义非字母数字的字符,转义结果为预定义字符串codepoint2name[] def qstr_escape(qst): def esc_char(m): c = ord(m.group(0)) try: name = codepoint2name[c] except KeyError: name 阅读全文
摘要:
用法 $ python makeversionhdr.py mpversion.h 实现 带git仓 get_version_info_from_git 使用git指令: git describe --tags 获取最近一次的Tag git rev-parse --short HEAD 获取最近一次 阅读全文
摘要:
动态内存分配及其与FreeRTOS的相关性 为了使FreeRTOS更易用,内核对象(如任务、队列、信号量、事件组)不在编译期静态分配,而是在运行时动态分配,FreeRTOS在内核对象创建时分配RAM,删除内核对象时释放RAM。 这种策略降低了设计难度,更简单的API,最小化内存占用。动态内存分配时C 阅读全文
摘要:
启动调度器接口,主要是创建空闲任务和定时器任务以及执行特定架构的启动调度器接口 // FreeRTOS\Source\tasks.c void vTaskStartScheduler( void ) { /* Add the idle task at the lowest priority. */ 阅读全文
摘要:
查找最高优先级就绪任务 FreeRTOS\Source\tasks.c #if ( configUSE_PORT_OPTIMISED_TASK_SELECTION == 0 ) /* If configUSE_PORT_OPTIMISED_TASK_SELECTION is 0 then task 阅读全文
摘要:
from: C语言、嵌入式中几个非常实用的宏技巧 (qq.com) 宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。 特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。 这时候我 阅读全文
摘要:
SPI传输 SPI数据传输 SPI数据传输 SPI时序信号 I2C传输 2C总线寻址 UART传输 PC-UART-MCU RS-232电平转换 红外控制 红外通信 红外信号接收、放大、整形 红外控制的鱼食投喂系统 串并转换电路 串入并出 八个D触发器组成的移位寄存器 串行传输示意 其他波形动画 P 阅读全文
摘要:
RTOS中降低功耗的策略 Saving Power with an RTOS 介绍 随着绿色节能产品需求的增加,快速增长的移动设备,其电池寿命最受关注,设计者必须要考虑在其设计中如何最大限度的降低功耗。这可以通过选择耗电更低的组件,以及更合理的软件架构去实现。 RTOS调度效率 一个普遍的常识,在嵌 阅读全文
摘要:
RTOS - high integrity systems 看门狗策略 Watchdog Strategies for RTOS enabled embedded systems 介绍 看门狗定时器就是一个电子定时器,用于嵌入式系统错误检查和从错误中恢复,看门狗定时器的基本原理简单而有效,在一个指定 阅读全文
摘要:
CoreDump ELF文件格式的详解 https://cloud.tencent.com/developer/article/1710868 core文件分析 https://blog.csdn.net/weijitao/article/details/46445915 Core file 文件格 阅读全文
摘要:
cpplint 分析笔记 · [前提得看下google规范] @2022-1-13 20:44:48 error message formate: [filename] [linenum] [message] [category] [confidence] cpplint [option] 输出格式 阅读全文
摘要:
宏参数多对一:使用分号分隔多参数 宏部分替换:替换需要转换的再与后续宏接续 #include <stdio.h> #define _MESS_FAILED() printf("%s %d: ASSERT FAILED\r\n", __func__, __LINE__) #define TU_BREA 阅读全文
摘要:
百分比进度指示,原地踏步效果实现主要利用退格'\b',同行'\c' #!/bin/bash function percentage_progress() { progress=$(($1*100/$2)) if [ $progress -lt 10 ];then echo -e "${progres 阅读全文
摘要:
查找包含字符串“skull”的目录、在找出的路径中找出格式“.c/.cpp/.h”的文件、并统计出数量 find . -path ./out -prune -o -iname "skull" -print | xargs -I % find % -iname *.[c,cpp,h] | wc -l 阅读全文
摘要:
跨行内容查找、替换、删除 sed '/START-TAG/{:a;N;/END-TAG/!ba};/ID: 222/d' data.txt /START-TAG/ { # Match 'START-TAG' :a # Create label a N # Read next line into pa 阅读全文
摘要:
此示例演示如何使用分散加载描述为堆栈和堆保留和清空内存块。它还显示链接器生成的相关符号。 在以下示例中,执行区域定义STACK 0x800000 EMPTY -0x10000定义了一个名为STACK 的区域。该区域从地址0x7F0000开始,到地址0x800000结束: LR_1 0x80000 ; 阅读全文
摘要:
Redefining low-level library functions to enable direct use of high-level library functions in the C library If you define your own version of __FILE, 阅读全文
摘要:
在搞touchgfx时遇见了一个初始化列表顺序与类中定义不一致的问题,error:when initialized here [-Werror=reorder] 初始化列表顺序与类中定义顺序不一致错误,提示也很明显 初始化列表中buttonCallback放在了最后 类中定义buttonCallba 阅读全文
摘要:
选择要使用的电路板 实现自己的程序 Designer运行仿真没问题并生成代码 我习惯使用IAR工具,发现直接编译有错误 上述错误是因为Designer默认生成的工具链是CubeIDE,所以需要使用CubeMX重新生成IAR工具链的工程 IAR重新编译 ,若出现touchgfx资源相关文件错误,使用D 阅读全文
摘要:
问题引入 多人协作开发的项目,没有统一的代码规范,那么最终的编写状态必定风格迥异,产生的结果:对内,阅读审核代码是很痛苦的;对外,公司形象就是差。 单干的项目也必须要严格按照代码规范,因为最终还是会对内和对外。 要改变一个误解的常识,代码规范并不影响代码质量,代码质量的维度可从运行稳定、执行性能、易 阅读全文
摘要:
解决windows环境下的CRLF与unix环境下的LF问题,windows提交时CRLF=>LF,签出时LF=>CRLF,unix环境保留 git config --global core.autocrlf input 修改文件格式(修复显示'^M') : set ff # 修改文件格式(换行符) 阅读全文
摘要:
Chrome chrome://flags/#enable-force-dark Edge edge://flags/#enable-force-dark 阅读全文
摘要:
引出问题: 一个好的工程项目代码,特别是开源类的,如果能做到各种优化等级通吃,是一种非常好的工程案例,这样别人借鉴的时候,可以方便的适配到自己工程里。但实际项目中,针对一款产品代码,我们一般不会这么干,因为非常耗精力,意义也不大,一般是追求最高性能,最小代码量或者更高的稳定性,我们会选择一个合理的优 阅读全文
摘要:
【来源】https://mp.weixin.qq.com/s/yHQRjpVeZVV4PuoUKM0FSw 阅读全文
摘要:
【来源】https://mp.weixin.qq.com/s/481H4imm73IIS1yFI7-DNA 阅读全文
摘要:
【来源】https://blog.csdn.net/qq_20553613/article/details/104556269 阅读全文
摘要:
【来源】https://blog.csdn.net/hj7jay/article/details/53431717 阅读全文
摘要:
【来源】https://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html 阅读全文
摘要:
【来源】https://mp.weixin.qq.com/s/TQKtEbxS8WSo3D1MecdMIw 阅读全文
摘要:
【来源】https://mp.weixin.qq.com/s/0kmN5knql4yrOuUcnebwIQ 阅读全文
摘要:
【来源】 https://mp.weixin.qq.com/s/4tPHkwEd5n-xHNHJHtCoBw 阅读全文
摘要:
1、前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理完,则A要延迟 阅读全文