随笔分类 - 汇编
ARM汇编
MIPI汇编
摘要:section 结构SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ){ contents } >region :phdr =fill...}secname:段名contents:决定哪些内容存放在此段start:本段的连接...
阅读全文
摘要:1. gcc的__attribute__编译属性要了解Linux Kernel代码的分段信息,需要了解一下gcc的__attribute__的编绎属性,__attribute__主要用于改变所声明或定义的函数或 数据的特性,它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联...
阅读全文
摘要:原文为GCC-Inline-Assembly-HOWTO,在google上可以找到原文,欢迎指出翻译错误。中文版说明由于译者水平有限,故译文出错之处,还请见谅。C语言的关键字不译,一些单词或词组(如colbber等)由于恐怕译后词不达意,故并不翻译,由下面的单词表代为解释,敬请见谅。英文原文中的单词...
阅读全文
摘要:转载自:http://blog.sina.com.cn/s/blog_78d30f6b0101713r.html汇编源程序一般用于系统最基本的初始化:初始化堆栈指针、设置页表、操作ARM的协处理器等。这些初始化工作完成后就可以跳转到C代码main函数中执行。1、GNU汇编语言语句格式任何Linux汇...
阅读全文
摘要:转载地址:http://blog.chinaunix.net/uid-28458801-id-3487199.htmlCPSR:程序状态寄存器(current program status register) (当前程序状态寄存器),在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理...
阅读全文
摘要:1. 前面配置arm交叉编译环境。2. 配置好qemu-armC语言代码string-switch.c:#include #include extern void strswp(char *str1, char *str2); int main(void){ char str1[10] = "...
阅读全文
摘要:1. 首先确定一间配置好arm linux 交叉编译器,可以使用arm-linux-gcc.2. 看示例代码hello.c#includeint add(int a,int b){ int c = a+b; return c;}int main(){ printf("Ubuntu, i am lin...
阅读全文
摘要:1. 安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:sudo apt-get install gcc g++ libgcc1 libg++ make gdb2.从ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/下载最...
阅读全文