![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件工具
文章平均质量分 59
Dokin丶
嵌入式码农
展开
-
Linux死机排查方法——内存日志
本文所描述的内存日志,并不是将内核的printk重定向到内存中,因为printk的打印太多了,如果将日志写入到内存中,那就比正常的串口printk快的多,对系统的影响最小。简而言之,这种方法就是将关键模块的日志保存在内存中,等到下一次启动时,再将这些日志全部dump出来。原创 2024-02-06 15:22:10 · 2241 阅读 · 0 评论 -
repo下载报错SyntaxError: invalid syntax
repo下载报错SyntaxError: invalid syntax解决方法原创 2023-11-14 14:25:15 · 3554 阅读 · 6 评论 -
内存泄漏定位工具
这里基于RT-Thread写了一个内存泄漏定位工具(实际和RTT无关,什么系统都可以用,要适当修改),原理非常简单:申请内存时,记录申请的内存地址、大小,以及申请内存这行代码所在的文件名和行号,当释放内存时,根据内存地址找到之前的记录并删除,最后留下的记录就极有可能是发生内存的代码(当然有些内存是常驻的,需要使用者自己辨别)。申请内存时会记录代码所在的文件名,MEM_TRACE_FILE_NAME_LEN就是文件名的最大长度,最终记录的只有最后级的文件名,不包含路径,所以16字节应该是够用的。原创 2023-08-28 15:57:29 · 425 阅读 · 0 评论 -
Scons编译lib库
直接在SConstruct文件所在目录下执行scons命令即可编译,会在src目录下生成libtest.a。比较奇怪的是,在命令行中直接执行arm-none-eabi-gcc -v是可以打印这个交叉编译编译工具链的信息的,证明工具链添加到环境变量中是没有问题的,但是Sconscript脚本中直接这样写env[‘CC’] = ‘arm-none-eabi-gcc’,会提示找不到编译工具链,需要编译工具链的绝对路径。看样子是Scons不会共用系统的环境变量,有知道的同学请留言指导下哈!原创 2023-08-08 16:53:37 · 361 阅读 · 0 评论 -
SourceInsight代码格式化插件
像VScode、eclipse等功能强大的IDE都有一个一键格式化代码的功能,在SourceInsight里可以通过插件来实现这个功能,这个插件叫AStyle。接下以SourceInsight3.5为例讲解如何安装Astyle。打开SourceInsight,以此点击Options--Custom Commands,点击Add,在Command栏输入Astyle_C,Run栏输入D:\02_Data\AStyle\bin\AStyle.exe --style=ansi -s4 -S -N -L -m0原创 2021-03-20 01:02:08 · 1771 阅读 · 0 评论 -
SourceInsight快捷注释
SourceInsight没有内置代码快捷注释功能,需要在脚本中添加代码来实现。具体操作步骤:打开Sourceinsight工程,在Project Name栏输入base,打开base工程,如下图所示。打开base工程在base工程中打开Utils.em文件,如下图所示。打开Utils.em后,在代码的最后,加上以下代码。/*注释多行代码的函数*/macro MultiLineComment() { hwnd = GetCurrentWnd() ..原创 2021-03-20 00:51:26 · 4219 阅读 · 0 评论