上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页

2014年5月26日

new 和delete

摘要: 转自:http://www.cnblogs.com/charley_yang/archive/2010/12/08/1899982.html一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。C++告诉我们在回收用 new 分配的单... 阅读全文

posted @ 2014-05-26 09:14 追寻前人的脚步 阅读(209) 评论(0) 推荐(0) 编辑

2014年2月6日

python安装

摘要: 起初安装时候看有些视频需要修改变量,最后发现,修改环境变量也只是为了在命令行可以调用python,如果我用ide根本用不到改变环境变量。下载python for windwos,我的是32位的,选择第一根,版本2.7和3.3的都可以然后一路确定就ok了 阅读全文

posted @ 2014-02-06 12:54 追寻前人的脚步 阅读(111) 评论(0) 推荐(0) 编辑

2013年5月20日

ads卸载和安装问题

摘要: ads第一次安装未遂,卸载时出了问题,第二次安装老是安装不了,于是找到了如下的解决办法 删除安装目录,删除注册表HKEY_CURRENT_USER\SOFTWARE\ARM Limited\ARM Developer Suite和HKEY_LOCAL_MACHINE\SOFTWARE\ARM Limited\ARM Developer Suite然后HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下查找{406FBBD8-EAFA-11D4-8FD0-0010B5688C67}的项,也将其删除重启,.. 阅读全文

posted @ 2013-05-20 20:21 追寻前人的脚步 阅读(1418) 评论(0) 推荐(0) 编辑

2013年3月22日

关于arm9 2410的存储管理

摘要: 首先要说的是arm9采用的是统一编址,虽然知道这个概念,到此时才算是真正的理解 先来看张图:这个就是arm9的存储分布看的出来arm92410的外部寻址空间最大为1G,分为8个BANK,也可以理解成物理地址是1G空间,虚拟地址是4G,因为有地址是32位的可以看到,BANK6,7可以连接SDRAM关于存储器的一些其他特性参照手册要理解一些芯片引脚,如: 阅读全文

posted @ 2013-03-22 17:46 追寻前人的脚步 阅读(219) 评论(0) 推荐(0) 编辑

2013年3月21日

关于嵌入式中断的一点理解

摘要: 这里简要介绍下嵌套中断arm9有两种中断模式,中断和快速中断在中断时可发生快速中断,只有这一中嵌套中断,其余没有多中断源同时发生中断时会通过各种寄存器的仲裁最后只有一种中断会响应中断的处理过程发生在svc管理模式下,我个人认为这是在为嵌套中断做准备,即响应有可能发生的快速中断中断发生的过程是这样的:当发生中断时切换到中断模式,在中断模式下把前一个状态的返回地址和状态寄存器的值保存在中断模式下的堆栈中,把中断模式下的栈寄存器保存到一个通用寄存器中(这是为了把刚才保存在中断模式栈中的内容保存到svc模式下)切换到svc模式下,在该状态下保存刚才在中断模式下堆栈中保存的内容,便于直接返回到中断前的状 阅读全文

posted @ 2013-03-21 16:25 追寻前人的脚步 阅读(415) 评论(0) 推荐(0) 编辑

2013年3月18日

arm中的栈

摘要: 1、寄存器 R13 在 ARM 指令中常用作堆栈指针2、对于 R13 寄存器来说,它对应6个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外5个物理寄存器对应于其他5种不同的运行模式。采用以下的记号来区分不同的物理寄存器:R13_<mode>其中,mode为以下几种模式之一:usr、fiq、irq、svc、abt、und。3、寄存器R13在ARM指令中常用作堆栈指针,但这只是一种习惯用法,用户也可使用其他的寄存器作为堆栈指针。而在Thumb指令集中,某些指令强制性的要求使用R13作为堆栈指针。由于处理器的每种运行模式均有自己独立的物理寄存器R13,在用户应用程序的初始化部 阅读全文

posted @ 2013-03-18 09:36 追寻前人的脚步 阅读(787) 评论(0) 推荐(0) 编辑

ARM处理器模式切换(含MRS,MSR指令)

摘要: 除了用户模式和系统模式,其余模式下都有一个私有SPSR保存状态寄存器,用来保存切换到该模式之前的执行状态,之所以用户模式和系统模式没有SPSR是因为,通常CPU大部分时间执行在用户模式下,当产生异常或系统调用时会分别切换进入另外几种模式,保存用户模式下的状态,当切换回原先模式时,直接回复SPSR的值到CPSR就可以了,因此,用户模式和系统模式下不需要SPSR,其详细操作查看下节异常处理。以上几种模式通过CPSR里的M[4:0]位进行区分,如图3-1所示:图3-1 CPSR控制位通过向模式位M[4:0]里写入相应的数据切换到不同的模式,在对CPSR,SPSR寄存器进行操作不能使用mov,ldr等 阅读全文

posted @ 2013-03-18 09:06 追寻前人的脚步 阅读(741) 评论(0) 推荐(0) 编辑

2013年3月17日

可变参数函数宏的实现

摘要: 1 #define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) ) 2 #define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) ) //第一个可选参数地址 3 #define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) ) //下一个参数地址 上面定义的三个宏在可变函数参数的时候用的到下面解释下第三个这里注意下括号ap += _INTSIZEOF(t))这里改变ap这 阅读全文

posted @ 2013-03-17 10:37 追寻前人的脚步 阅读(255) 评论(0) 推荐(0) 编辑

2013年3月13日

关于中间层

摘要: 曾经在某本书上看到一句话,具体怎么说的我已经记不清了,但是有三个字我还记得----中间层下面说下我所碰到的中间层1. 可执行文件和物理地址空间中间层是虚拟地址空间可执行文件程序头表中描述了可执行文件和虚拟地址空间的映射关系在创建一个进程的时候会处理物理地址与该进程虚拟地址空间的关系这样通过虚拟地址空间实现了磁盘上文件和物理内存的联系2 磁盘上的文件和物理内存中的内容中间层缓冲区(虽说该缓冲区仍在物理内存中0.12)缓冲区负责把磁盘块读到缓冲区中,同时也负责把缓冲区中的内容写回磁盘一些修改操作都在缓冲区中进行,只要最后把该缓冲区置脏就行了未完待续 阅读全文

posted @ 2013-03-13 08:31 追寻前人的脚步 阅读(216) 评论(0) 推荐(0) 编辑

静态链接

摘要: 详见程序员的自我修养P107这里我重点手说下符号表和重定位表是怎么联系起来的重定位表中有若干项重定位入口,每一个重定位入口其实就是一个数据结构typedef struct{ Elf32_Addr r_offset; Elf32_Word r_info;}重定位入口的偏移表示该入口在要被重定位的段中的位移(比如说在代码段的偏移值),被重定位的段可以是代码段数据段等或者说是该重定位入口所要修正的位置的第一个字节相对于段的偏移r_info 重定位的入口的类型和符号。这个成员的低八位表示重定位入口的类型,高24位表示重定位入口的符号在符号表中的下标这里又提到符号表,什么是符号表呢... 阅读全文

posted @ 2013-03-13 08:03 追寻前人的脚步 阅读(152) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页

导航