随笔分类 - 基础功能知识
知识大厦根基
摘要:基础环境 虚拟机 VMware Workstation Player:免费 VirtualBox:免费,与Vmware差不多。 WSL2:可在Windows下使用的Linux子系统。 OS:Linux任意发行版。建议使用UBuntu 18 SSH与串口工具 Xshell:需要破解,非免费 MobaX
阅读全文
摘要:软件设计原则与实践(汇总) 本文是我在网上各种收集翻译整理后的缝合怪。 1. 软件组件设计原则:SOLID (面向对象设计) 背景 S: 单一职责原则 (SRP) 基本概念 相关设计模式 小结 O:开闭原则 (OCP) 基本概念 相关设计模式 小结 L: 里式替换原则 (LSP) 基本概念 小结 I
阅读全文
摘要:概要 本文主要摘录了该书的每章总结部分,这本书主要讲解了调试相关的核心理念和实践。强烈建议阅读。 理解系统 这是第一条规则,因为它是最重要的。 阅读手册。它会告诉你在使用除草机时,要在除草头上涂润滑油,这样除草绳就不会被烧化。 仔细阅读每个细节。有关微处理器如何处理中断的详细信息就隐藏在数据手册的第
阅读全文
摘要:本文用于记录分析死机发生时的调试信息,可能持续更新~ 常用mips寄存器用途: gdb常用命令: 获取某个结构体的偏移量。 (gdb) p &((struct net_wbuf *)0)->sgkey $1 = (uint32_t *) 0x38 获取结构体大小。 (gdb) p sizeof(st
阅读全文
摘要:常见字符串操作错误 场景 注解 无界字符串复制 1、无界字符串复制发生于从源数据复制数据到一个定长的字符数组时 2、复制和连接字符串。复制和连接字符串时也容易出现错误,因为执行这个功能的许多标准库调用,如strcpy() strcat()和sprJntf()函数,执行无界复制操作。 主要考虑目的数据
阅读全文
摘要:在内存受限的嵌入式开发中,经常会碰到各种各样的内存错误,若是在没有内存保护的系统来说,出现内存相关的错误造成的结果可能是系统崩溃或造成重要数据的丢失。在开发嵌入式系统中关注稳定性特别重要。本篇文章主要收集和整理了内存相关错误,用以备忘。 内存相关错误: 1. 栈溢出 eCos各个线程的堆栈由线程初始
阅读全文
摘要:好久没有更新博客了,今天更新下。 在开发调试debug中经常需要查看原始二进制信息,特别是当不能直接打印字符串时,查看原始二进制就特别有用了。以下的简单函数可以打印出像hexdump命令一样格式的信息。调试开发中特别方便和直观。源码来源于eCos。 使用时直接调用:diag_dump_buf(buf
阅读全文
摘要:获取用户工作目录,以及程序运行用户信息。 #include <pwd.h>#include<sys/types.h>#include<unistd.h> 获取文件大小
阅读全文
摘要:配置openssl时候可以用config或者Configure来进行配置。 export TOPDIR=$(PWD) export CROSS_COMPILE=$(TOPDIR)/arm-gcc/bin/arm-buildroot-linux-uclibcgnueabi-export PATH:=$
阅读全文
摘要:目前配置文件内容使用“=”号分割。保存时采用的是读取整个文件内容,修改对应行后再保存,可以保存没有存在的字段。如果有很多行的话这个就不适用了。 这个代码只适用与小量的配置保存与更改需要。
阅读全文
摘要:C语言中通常可以使用sscanf与strtok进行对制定的分隔符进行分割。sscanf函数的缺陷是对于1;2;3;;;4这样分割符中间没有值的情况处理不好(sscanf(str, "%*[^;];%[^;]",a))。可能存在其它的方式进行分割,目前不对此讨论。 以上声明一个字符串分割结构体,用作字
阅读全文
摘要:检查文件内MD5是否匹配。 md5.txt由压缩前生成。 md5sum file1 file2 file3 > md5.txt 结果为:
阅读全文
摘要:程序成为僵尸进程以后需要通过进程号来强制终止,因此先需要获取进程的pid ps | grep test | awk 'NR==1{print $1}' 获取test进程的ID,具体形式要按照linux输出的格式来,我的设备中的是第一行的第一列的第一个参数即为test的PID 由于通过管道把PID传给
阅读全文
摘要:因为经常用到某个网站中的二维码信息,每次都需要手动打开网站,滑到对应的地方,点击一个链接才能打开图片,因此想着用一个脚本去获取这个信息。正好js可以很方便的操作HTML的DOM,所以写了一个简单的函数来试试手。 打开网页,打开浏览器的调试工具,获取对应的页面信息,发现其所在的节点后可以使用如下函数来
阅读全文
摘要:代码如下:详细见注释
阅读全文
摘要:ALT + B 跳向上一个空格ALT + F 跳向下一个空格ALT + Backspace 删除前一个单词Shift + Insert 向终端粘贴文本CTRL + U 剪切光标前的内容CTRL + K 剪切光标至行末的内容CTRL + E 移动光标到行末CTRL + A 移动光标到行首CTRL +
阅读全文
摘要:TR069终端程序需要获取wan口的状态信息,这里采用一种方式,使用socket函数打开一个描述符,使用ioctl函数获取相应的参数。ifconfig的内部实现也是这样做的,具体可以参看ifocnfig源码。 如要获取wan口的信息,则首先需要知道wan口对应的网卡名是什么,这里假定为eth0,因为
阅读全文
摘要:书籍部分概要 上帝掷骰子吗-量子物理史话 假如一个物理概念是无法测量的,它就是没有意义的。对于这个物我合一的世界来说,任何东西都应该是可以测量和感知的。只有可观测的量才是存在的!(不完全性定理,海森堡不确定性原理 低维世界无法感知高维世界,即解释高维世界。或者我相信原子是四维的或者是多维的总之是高于
阅读全文
浙公网安备 33010602011771号