自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fhyangchina的专栏

春风又绿江南岸,依然十里杏花红

  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 Ubuntu 20.04 安装bochs 2.6.2

最近突然对x86架构感兴趣,在看《操作系统真象还原》这本书,里面用到了bochs,版本为bochs2.6.2,我在用的虚拟机是Ubuntu20.04,为了原汁原味,决定不用最新版的bochs,而是在Ubuntu20.04上安装bochs2.6.2,安装期间遇到并解决了一些编译相关问题,记录在此处,供参考。安装完毕后,重新make,仍然报同样的错误,说明需要手动配置gtk的头文件和库路径。这样的报错说明需要gtk。(后来发现是gtk+2.0)修改后Makefile内容如下。

2023-08-13 20:20:37 189 1

转载 select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *timeout);

2017-11-22 10:55:09 223 1

原创 FreeRTOS学习笔记-01 List及其应用

FreeRTOS之List及其应用

2017-11-14 14:59:19 1904

转载 ARM伪指令

在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。在ARM的汇编程序中,有如下几种伪指令:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令以及其他伪令。

2017-11-10 10:00:30 488

原创 ARM汇编调用函数

调用函数需要函数调用时,最好使用C语言编写调用代码,让编译器帮我们生成汇编代码,因为这其中涉及到abi或eabi。但是有时确实需要自己手动以汇编代码形式调用函数,如启动代码中。这时,需要参考响应的eabi编程规范,要处理相关寄存器:lr放置子函数结束后执行地址,将传递的参数放到r0、r1等这些寄存器中(如果参数很多,可能会使用栈来传参),保存正在使用的调用者寄存器到栈中(这部分很可能为空......

2017-10-26 10:34:44 4206

原创 ARM 常用指令

b & bl & bx & blxlsl & asl & lsr & asr & ror & rrxmov & mvnstr & ldr

2017-06-23 08:58:25 889

原创 嵌入式学习笔记 : GCC选项

GCC选项Options Controlling the Kind of Output Options for LinkingOptions Controlling C Dialect

2017-06-21 14:10:46 345

原创 VirtualBox虚拟硬盘文件管理

如果我们有现成的虚拟硬盘文件(如.vdi格式), 那么可以在VirtualBox下基于该虚拟硬盘文件来新建虚拟机。有时我们会将该虚拟硬盘文件拷贝一份,然后试图基于这两个硬盘文件新建两个完全隔离的虚拟机。建立第一个时还很顺利,但是试图建立第二个虚拟机时遇到了意料之外的麻烦。

2017-03-14 16:19:18 4062 1

原创 strspn

strspn函数, C99标准中的描述和 musl C 中的实现。

2017-03-06 16:32:21 365

原创 C中的有符号数和无符号数之间的转换

在C语言中,数字常量如果没有后缀‘U'或'u',则默认为是有符号。同类型整数之间的类型转换。有符号数和无符号数之间进行类型转换。有符号数和无符号数在一起进行运算时,要首先将有符号数转换为无符号数,再进行运算。整型常量。[cpp] view plain copyunsigned int n = 1024;   unsigned int m = 0XFF;  其中1024和oxff这两个常量都是有符号数,这就意味着每个赋值操作包含了一个隐式的由有符号数到无符号数的类型转

2017-02-16 08:45:22 35609 4

原创 C语言 tips

1. const1.1 const int * p; int const * p;以上两个语句中的const都在*之前,都是用来修饰*p的,等价。 *p代表指针p所指向的变量。 不能修改*p就意味着不能通指针p来修改p所指向变量的值。 但是指针p的值可以修改,即可以改变p指向的变量(指针p里面保存的地址)。const int *p; /* 可以不必初始化p,p的值,即

2017-01-06 15:25:18 555

原创 vim补全

vim补全在输入模式下进行。1. 以文件中的关键字补全:Ctrl-X Ctrl-N,会以当前文件中的词汇来匹配你已经输入的部分。2. 以当前文件及包含文件中的关键字补全:Ctrl-X Ctrl-I,类似于1,其中包含文件如#include。3. 文件名称补全:Ctrl-X Ctrl-F,可能以当前目录下的文件名为基础来匹配你的输入。4. 以字典补全:Ctrl-X Ctrl-K,以字

2016-04-23 10:39:30 1755

GNU make 英文手册

学习make工具对学习C、Linux会有很大的助益。特别在学习linux遇到障碍时,停下来看看make这类工具的帮助文档也许会有奇效。推荐看英文版的,障碍很小,原汁原味,更容易理解 官方地址 : http://www.gnu.org/software/make/manual/make.pdf

2017-03-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除