随笔分类 -  汇编

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