摘要: #include <string.h> #include <stdio.h> #define __FILENAME__ (strrchr(__FILE__, '\\') ? (strrchr(__FILE__, '\\') + 1):__FILE__) int main(int argc, char 阅读全文
posted @ 2022-05-13 18:05 壹点灵异 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 转换宏 map查找接口 阅读全文
posted @ 2022-05-07 09:37 壹点灵异 阅读(4) 评论(0) 推荐(0) 编辑
摘要: github:https://github.com/skullboyer/code-check Code Check 本仓介绍的内容涉及代码静态检查和编码风格检查 但主要放在编码风格检查,lint是基于google编码风格检查cpplint的修改版,起别名也是为了区别 lint较于cpplint优势 阅读全文
posted @ 2022-05-07 08:57 壹点灵异 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 查找文件中的模块注册标记MP_REGISTER_MODULE pattern = re.compile(r"[\n;]\s*MP_REGISTER_MODULE\((.*?),\s*(.*?),\s*(.*?)\);", flags=re.DOTALL) def find_module_regist 阅读全文
posted @ 2022-05-06 19:08 壹点灵异 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 格式化打印 print("***{}".format(args)) 格式化转换 module = "skull" print "MODULE_{}".format(module.upper()) 格式化输出,八进制3位有效数高位补零 intvar = 9 print "{:03o}".format( 阅读全文
posted @ 2022-05-06 18:03 壹点灵异 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 脚本使用格式 python py/makeqstrdefs.py [command] [mode] [input-file] [output-directory] [output-file] command: pp, split, cat mode: qstr, compress 输入选项解析 if 阅读全文
posted @ 2022-05-06 11:42 壹点灵异 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 转义非字母数字的字符,转义结果为预定义字符串codepoint2name[] def qstr_escape(qst): def esc_char(m): c = ord(m.group(0)) try: name = codepoint2name[c] except KeyError: name 阅读全文
posted @ 2022-05-05 19:49 壹点灵异 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 用法 $ python makeversionhdr.py mpversion.h 实现 带git仓 get_version_info_from_git 使用git指令: git describe --tags 获取最近一次的Tag git rev-parse --short HEAD 获取最近一次 阅读全文
posted @ 2022-05-05 10:05 壹点灵异 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 动态内存分配及其与FreeRTOS的相关性 为了使FreeRTOS更易用,内核对象(如任务、队列、信号量、事件组)不在编译期静态分配,而是在运行时动态分配,FreeRTOS在内核对象创建时分配RAM,删除内核对象时释放RAM。 这种策略降低了设计难度,更简单的API,最小化内存占用。动态内存分配时C 阅读全文
posted @ 2022-04-29 10:19 壹点灵异 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 启动调度器接口,主要是创建空闲任务和定时器任务以及执行特定架构的启动调度器接口 // FreeRTOS\Source\tasks.c void vTaskStartScheduler( void ) { /* Add the idle task at the lowest priority. */ 阅读全文
posted @ 2022-04-26 16:22 壹点灵异 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 查找最高优先级就绪任务 FreeRTOS\Source\tasks.c #if ( configUSE_PORT_OPTIMISED_TASK_SELECTION == 0 ) /* If configUSE_PORT_OPTIMISED_TASK_SELECTION is 0 then task 阅读全文
posted @ 2022-04-26 09:26 壹点灵异 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。 特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。 这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息 阅读全文
posted @ 2022-04-21 14:26 壹点灵异 阅读(55) 评论(0) 推荐(0) 编辑
摘要: SPI传输 SPI数据传输 SPI数据传输 SPI时序信号 I2C传输 2C总线寻址 UART传输 PC-UART-MCU RS-232电平转换 红外控制 红外通信 红外信号接收、放大、整形 红外控制的鱼食投喂系统 串并转换电路 串入并出 八个D触发器组成的移位寄存器 串行传输示意 其他波形动画 P 阅读全文
posted @ 2022-04-20 20:12 壹点灵异 阅读(41) 评论(0) 推荐(0) 编辑
摘要: RTOS中降低功耗的策略 Saving Power with an RTOS 介绍 随着绿色节能产品需求的增加,快速增长的移动设备,其电池寿命最受关注,设计者必须要考虑在其设计中如何最大限度的降低功耗。这可以通过选择耗电更低的组件,以及更合理的软件架构去实现。 RTOS调度效率 一个普遍的常识,在嵌 阅读全文
posted @ 2022-04-20 11:50 壹点灵异 阅读(44) 评论(0) 推荐(0) 编辑
摘要: RTOS - high integrity systems 看门狗策略 Watchdog Strategies for RTOS enabled embedded systems 介绍 看门狗定时器就是一个电子定时器,用于嵌入式系统错误检查和从错误中恢复,看门狗定时器的基本原理简单而有效,在一个指定 阅读全文
posted @ 2022-04-14 15:25 壹点灵异 阅读(46) 评论(0) 推荐(0) 编辑
摘要: GNU GNU Make Manual https://www.gnu.org/software/make/manual/ GNU make/Makefile 简明实用教程 https://literaryno4.github.io/makefile_tutorial.html/ Linux Lin 阅读全文
posted @ 2022-04-12 10:00 壹点灵异 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 使用场景:变量存放的路径通常在使用时需要进行斜杠转义 WORKSPACE=`pwd` WORKSPACE=$(echo ${WORKSPACE//\//\\/}) 阅读全文
posted @ 2022-04-02 15:49 壹点灵异 阅读(17) 评论(0) 推荐(0) 编辑
摘要: cpplint 分析笔记 · [前提得看下google规范] @2022-1-13 20:44:48 error message formate: [filename] [linenum] [message] [category] [confidence] cpplint [option] 输出格式 阅读全文
posted @ 2022-03-29 14:58 壹点灵异 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 宏参数多对一:使用分号分隔多参数 宏部分替换:替换需要转换的再与后续宏接续 #include <stdio.h> #define _MESS_FAILED() printf("%s %d: ASSERT FAILED\r\n", __func__, __LINE__) #define TU_BREA 阅读全文
posted @ 2022-03-29 09:22 壹点灵异 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 百分比进度指示,原地踏步效果实现主要利用退格'\b',同行'\c' #!/bin/bash function percentage_progress() { progress=$(($1*100/$2)) if [ $progress -lt 10 ];then echo -e "${progres 阅读全文
posted @ 2022-02-28 10:19 壹点灵异 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 查找包含字符串“skull”的目录、在找出的路径中找出格式“.c/.cpp/.h”的文件、并统计出数量 find . -path ./out -prune -o -iname "skull" -print | xargs -I % find % -iname *.[c,cpp,h] | wc -l 阅读全文
posted @ 2022-02-25 11:15 壹点灵异 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 跨行内容查找、替换、删除 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 阅读全文
posted @ 2022-02-18 15:16 壹点灵异 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 此示例演示如何使用分散加载描述为堆栈和堆保留和清空内存块。它还显示链接器生成的相关符号。 在以下示例中,执行区域定义STACK 0x800000 EMPTY -0x10000定义了一个名为STACK 的区域。该区域从地址0x7F0000开始,到地址0x800000结束: LR_1 0x80000 ; 阅读全文
posted @ 2022-01-15 12:23 壹点灵异 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 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, 阅读全文
posted @ 2022-01-15 11:31 壹点灵异 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 在搞touchgfx时遇见了一个初始化列表顺序与类中定义不一致的问题,error:when initialized here [-Werror=reorder] 初始化列表顺序与类中定义顺序不一致错误,提示也很明显 初始化列表中buttonCallback放在了最后 类中定义buttonCallba 阅读全文
posted @ 2021-12-26 20:04 壹点灵异 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 选择要使用的电路板 实现自己的程序 Designer运行仿真没问题并生成代码 我习惯使用IAR工具,发现直接编译有错误 上述错误是因为Designer默认生成的工具链是CubeIDE,所以需要使用CubeMX重新生成IAR工具链的工程 IAR重新编译 ,若出现touchgfx资源相关文件错误,使用D 阅读全文
posted @ 2021-12-26 10:58 壹点灵异 阅读(126) 评论(2) 推荐(0) 编辑
摘要: 问题引入 多人协作开发的项目,没有统一的代码规范,那么最终的编写状态必定风格迥异,产生的结果:对内,阅读审核代码是很痛苦的;对外,公司形象就是差。 单干的项目也必须要严格按照代码规范,因为最终还是会对内和对外。 要改变一个误解的常识,代码规范并不影响代码质量,代码质量的维度可从运行稳定、执行性能、易 阅读全文
posted @ 2021-12-22 10:40 壹点灵异 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 查看冲突的文件 git ls-files -u | cut -f 2 | sort -u 解冲突 [添加修改点] git add git commit git push [提示本地仓晚于远端仓,需要pull] [--rebase 将本次提交移至pull之后的最新节点] git pull --reba 阅读全文
posted @ 2021-12-01 11:14 壹点灵异 阅读(13) 评论(0) 推荐(0) 编辑
摘要: Chrome chrome://flags/#enable-force-dark Edge edge://flags/#enable-force-dark 阅读全文
posted @ 2021-11-29 17:10 壹点灵异 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 引出问题: 一个好的工程项目代码,特别是开源类的,如果能做到各种优化等级通吃,是一种非常好的工程案例,这样别人借鉴的时候,可以方便的适配到自己工程里。但实际项目中,针对一款产品代码,我们一般不会这么干,因为非常耗精力,意义也不大,一般是追求最高性能,最小代码量或者更高的稳定性,我们会选择一个合理的优 阅读全文
posted @ 2021-11-25 09:21 壹点灵异 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 【来源】https://mp.weixin.qq.com/s/yHQRjpVeZVV4PuoUKM0FSw 阅读全文
posted @ 2021-11-22 19:06 壹点灵异 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 【来源】https://mp.weixin.qq.com/s/481H4imm73IIS1yFI7-DNA 阅读全文
posted @ 2021-11-12 18:43 壹点灵异 阅读(14) 评论(0) 推荐(0) 编辑
摘要: Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the 阅读全文
posted @ 2021-11-10 09:27 壹点灵异 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 查看更多甘肃美景请跳转至【来源】 阅读全文
posted @ 2021-10-26 18:07 壹点灵异 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 【来源】https://blog.csdn.net/qq_20553613/article/details/104556269 阅读全文
posted @ 2021-10-16 13:55 壹点灵异 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 【来源】https://blog.csdn.net/hj7jay/article/details/53431717 阅读全文
posted @ 2021-10-11 15:58 壹点灵异 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 【来源】https://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html 阅读全文
posted @ 2021-08-16 09:50 壹点灵异 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 【来源】https://mp.weixin.qq.com/s/TQKtEbxS8WSo3D1MecdMIw 阅读全文
posted @ 2021-07-01 09:12 壹点灵异 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 【来源】https://mp.weixin.qq.com/s/0kmN5knql4yrOuUcnebwIQ 阅读全文
posted @ 2021-06-25 11:04 壹点灵异 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 【来源】 https://mp.weixin.qq.com/s/4tPHkwEd5n-xHNHJHtCoBw 阅读全文
posted @ 2021-06-25 09:43 壹点灵异 阅读(44) 评论(0) 推荐(0) 编辑