ARM处理器的7中运行模式:usr、fiq、irq、svc、abt、und、sys。
ARM处理器共37个寄存器:31个通用寄存器(未备份寄存器R0-R7,在所有模式下指的都是同一个物理寄存器;备份寄存器R8-R12,每个寄存器对应两个不同的物理寄存器。对于R13[sp]和R14[lr]来说,每个寄存器对应6个不同的寄存器;程序计数器R15[pc]),6个状态寄存器(当前程序状态寄存器[...
分类:
其他好文 时间:
2014-06-16 11:24:59
阅读次数:
180
1、建立目标平台1.1
添加机器码--LINGD2440在arch/arm/tools/mach-types
下,添加以下一行lingd@ubuntu14:~/arm/linux-3.14.6$ vim
arch/arm/tools/mach-typeslingd2440 MACH_LINGD24....
分类:
系统相关 时间:
2014-06-12 18:30:44
阅读次数:
429
系统调用的实现过程:触发软终端,调用系统调用处理函数;在处理函数中,从寄存器中读取系统调用号以及参数,根据系统调用号,读取系统调用表;系统调用号就是系统调用函数的位置,取该位置值,就找到真正的系统调用函数,最后执行。arm系统调用:r0-r5传递参数r0保存返回值系统调用的绑定过程:1.系统调用函数...
分类:
系统相关 时间:
2014-06-12 09:29:07
阅读次数:
291
终于轮到俺的小穆出场啦。有请能让太阳也为之暗淡的小穆闪亮登场~,鼓掌吧,欢呼吧!~~??We
can burn brighter Than the sun ~~~ ??“谢谢~~~“ 唱的太棒啦,再来首~~ 再来首~~
”谢谢大家,为大家表演《遮天蔽日》魔术“!@%&……¥%!@!@#……¥@#¥%...
分类:
其他好文 时间:
2014-06-10 21:13:19
阅读次数:
368
现有嵌入式设备:基于ARM Cortex-M3处理器、带以太网通讯功能。为降低设备维护成本节省宝贵的时间和金钱,需要设计网口升级固件功能。
本文描述了基于IAP和网口升级该嵌入式系统的方法,其中处理器为NXP公司的ARM Cortex-M3,开发环境为IAR Embedded Workbench for ARM。
IAP( In Applicatin Programming)在应用编程,一般指MCU可以通过通信端口(UART口、网口等)从外部接收应用程序镜像并烧录到FLASH中实现固件升级。...
分类:
其他好文 时间:
2014-06-10 19:17:53
阅读次数:
341
现在有的工控嵌入式,跑的都是 x86 的架构,arm 有的还用着不放心。大型主机,也是 x86
和 power 架构的。arm 只有小型设备或者低功耗方向才需要。其实,基础知识最重要。arm 开发板是用来干活的,学习在没有真的去针对 arm 的时候,你买
arm 开发板只能用来玩,比如自己弄个触摸屏...
分类:
其他好文 时间:
2014-06-10 16:46:07
阅读次数:
239
LDR伪指令
10.45 LDR pseudo-instruction
功能:把一个32位立即数或一个32位的内存地址加载到一个寄存器中。
注意:这里描述的是LDR伪指令,而不是LDR指令
语法:
LDR{cond}{.W} Rt, =e...
分类:
其他好文 时间:
2014-06-10 13:34:14
阅读次数:
286
Android系统的动态链接工具是/system/bin/linker(一般的Linux系统是ld.so),虽然名字不同,但是基本的动态链接过程是类似的。需要注意的一点是,Linux一般是Lazy,即所谓的“懒”加载方式,但是Android系统有点区别,是非Lazy方式,即所有的重定位操作,在进程首次执行以前已经全部完成。这大概也是Android应用首次启动比较慢的原因之一吧!
关于Android系统的PLT和GOT可以写上一篇高考作为,在这里就不提概念性的东西了,网上有一篇博文:http://ww...
分类:
移动开发 时间:
2014-06-10 07:31:39
阅读次数:
495