- 博客(10)
- 资源 (9)
- 收藏
- 关注
原创 x86 64 内核堆栈
switch_to.h中define switch_to(prev, next, last) \do { \ /* \ * Context-switching clobbers all registers, so we
2017-08-24 11:00:11 509
原创 使用c语言打印x86寄存器
使用c语言打印x86寄存器void main() { int out = 0; asm ("movl %%ecx, %0\n" : "=r"(out)); printf("ecx is %x\n",out); int seg; asm volatile("movw %%fs,%0" : "=rm" (seg)); printf("fs is %x\n"
2017-08-18 11:20:03 2163
转载 dts解析
一.什么是DTS?为什么要引入DTS? DTS即Device Tree Source 设备树源码, Device Tree是一种描述硬件的数据结构,它起源于 OpenFirmware (OF)。在Linux 2.6中,ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,比如板上的platform设备、resourc
2017-08-17 10:01:17 25433 3
转载 内联汇编
在阅读Linux内核源码或对代码做性能优化时,经常会有在C语言中嵌入一段汇编代码的需求,这种嵌入汇编在CS术语上叫做inline assembly。本文的笔记试图说明Inline Assembly的基本语法规则和用法(建议英文阅读能力较强的同学直接阅读本文参考资料中推荐的技术文章 ^_^)。 注意:由于gcc采用AT&T风格的汇编语法(与Intel Syntax相对应,二者的区
2017-08-16 12:25:26 299
转载 飞思卡尔IMX6处理器的GPIO配置方式
1、普通设置在配置串口时,pinctrl的配置信息如下所示:[cpp] view plain copy"font-size:14px;">&uart2 { pinctrl-names = "default"; pinctrl-0 = ; status = "okay"; };
2017-08-16 10:10:04 1804
转载 Makefile中的双冒号规则
Makefile中的双冒号规则 (249) (0) 举报 收藏双冒号规则就是使用“::”代替普通规则的“:”得到的规则。当同一个文件作为多个规则的目标时,双冒号规则的处理和普通规则的处理过程完全不同(双冒号规则允许在多个规则中为同一个目标指定不同的重建目标的命令)。首先需要明确的是:Makefile中,一个目标可以出现在
2017-08-08 10:13:06 851
转载 linux 内核启动参数
概述内核引导参数大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导参数多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导参数。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导参数,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导参数说明。大多数参数是通过"__set
2017-08-03 09:54:13 2122
原创 linux 启动参数设置 启动打印同时输出到串口和显示器
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ console=tty0 console=ttyS0 console=tty0 表示当前键盘/显示器控制台 ttyS0表示 COM1口Grub 中的kernel语句加的console=d
2017-08-03 09:41:24 7983
转载 x86 和 x64 汇编调用C 函数参数传递规则(GCC)
在本文中以一段汇编代码为例介绍一下在x86和x64汇编语言中调用C 函数的过程。样例代码在ubuntu12.04 i386 环境下调试通过。此外本文还介绍了在将这段样例代码移植到X64环境下应该注意的问题。 样例代码的作用是计算两个整数的除法,并通过C语言的printf函数打印计算结果。.section .datadividend: .quad 8335
2017-08-01 10:23:57 3872
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人