RISC-V入门(3)-RVOS系统引导 硬件的基本概念 Hart Platform不能说是个板子,应该理解为芯片。早期的板子就是一块芯片加上各种外设,但是随着技术发展,板子越来越小,外设却并没有变少 ,是因为外设都被集成到了芯片中。当所有外设都被集成,那么芯片就是platform。 SoC(System on Chip)片上系统 QEMU模拟virt这个平台,这个平台有八个Hart。 地址映射 为了方便访问外设,现在主流的plat 2021-10-20 RISC-V入门 RISCV
解决Segmentation fault (core dumped) 相关概念Core在使用半导体作为内存的材料前,人类是利用线圈当作内存的材料(发明者为王安),线圈就叫作 core ,用线圈做的内存就叫作 core memory。如今 ,半导体工业澎勃发展,已经没有人用core memory 了,不过,在许多情况下,人们还是把记忆体叫作 core 。 Core dump我们在开发(或使用)一个程序时,最怕的就是程序莫明其妙地宕掉。虽然系统没事,但我们下次仍可能遇到 2021-10-20 C Bug
RISC-V入门(2)-RISC-V汇编语言编程 汇编语法介绍一条典型的RISCV汇编语句由三个部分组成[label:][operation][comment]。后缀.s和.S区别:后者纯汇编。 label(标号) operation可以有以下多种类型: instruction (指令) :直接对应二进制机器指令的宇符串 pseudo-instruction (伪指令) :为了提高编写代码的效率,可以用一条伪指令指示汇编器产生多条实际的指 2021-10-16 RISC-V入门 RISCV
C语言可变参数 学习过程中查看了printf()源码,遇到了这样的函数定义, 1234567891011void printf(char *fmt, ...){ char buf[256]; va_list args; memset(buf, 0, sizeof(buf)); va_start(args, fmt); vsprint(buf, fmt, args); 2021-10-12 C C++
Linux下将编译结果输出到文件 在命令行编译项目时,经常遇到编译结果太长,覆盖了最先输出的结果,此时就需要将结果输出到文件再查看。命令如下: 123456make > make.log 2>&1# make 编译命令# make.log 输出文件名# 2 文件描述符,标准错误# > 重定向符,输出# &1 文件描述符&,文件描述符1 标准输入 该命令功能即将make编译时输出,标准错误重 2021-09-30 Linux
Linux文件描述符 前言Linux 中一切皆文件,比如 C++ 源文件、视频文件、Shell脚本、可执行文件等,就连键盘、显示器、鼠标等硬件设备也都是文件。 一个 Linux 进程可以打开成百上千个文件,为了表示和区分已经打开的文件,Linux 会给每个文件分配一个编号(一个 ID),这个编号就是一个整数,被称为文件描述符(File Descriptor)。 文件描述符是什么?一个 Linux 进程启动后,会在内核空 2021-09-30 Linux
VScode快速添加注释模板 需求通常函数的注释一般都比较长,而且每个函数注释都格式一致,例如下面的函数注释模板。如果每次写注释都要复制一遍比较麻烦,复制完还要删除多余的字符。但是现有的编辑器一般都支持快捷输入。下面介绍在VSCode中如何快捷输入注释模板。 方法 Ctrl+Shift+P打开编辑器命令窗口-输入snippets-选择Preferences:Configure User Snippets-选择·c.json· 2021-09-29 VSCode
QtCreator快速添加注释模板 需求通常函数的注释一般都比较长,而且每个函数注释都格式一致,例如下面的函数注释模板。如果每次写注释都要复制一遍比较麻烦,复制完还要删除多余的字符。但是现有的编辑器一般都支持快捷输入。下面介绍在QtCreator中如何快捷输入注释模板。 123456/* * Description: // 函数功能、性能等的描述 * Input Parameter: // 输入参数说明,包括每个参 2021-09-28 Qt QtCreator
Qt修改UI文件不生效 保留现场修改了UI文件后,在代码中无法调用新增的内容。 探究原因导致ui_*.h文件没有更新的原因是源代码中#include ui_*.h的位置和实际生成的位置不同,引用的是老的ui_*.h 解决方法方法一: 项目设置文件.pro内增加 UI_DIR=./UI,同时删除掉源代码目录中ui_*.h,clear all,->qmake->rebuilt all方法二: 2021-09-26 Qt Bug
QtCreator修改项目构建目录 保留现场QtCreator构建项目时,会在统计目录新建一个build-xxx-debug的目录,如果想要自己修改这个目录的位置,名称,该怎么办。 解决方法仅修改工具(Tool)–>选项(Options)–>构建和运行(Build&Run)中Default build directory:./%{CurrentBuild:Name}是不会生效的。 将工具–& 2021-09-25 Qt Bug