摘要:
ARM协处理学习分类:arm2011-11-14 11:07141人阅读评论(0)收藏举报cachecdomaincrm存储系统exception一、背景 FS2410 开发板上的ARM核心为ARM920T,ARM920T 代表着什么呢? 其实ARM920T =ARM9 core + MMU + Cache,也就是说ARM920T 为实现虚拟内存管理提供了硬件条件,这个硬件条件就是 MMU -- 内存管理单元。前面的实验我们程序里的地址都是直接对应物理地址,也就是说虚拟地址等同于物理地址,而今借助 MMU 我们可以实现虚拟内存管理,程序里面的地址不再被直接送到地址总线,而是先通过 MMU,由 阅读全文
摘要:
ARM 伪指令在 ARM 汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。在 ARM 的汇编程序中,有如下几种伪指令:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令以及其他伪指令。符号定义( Symbol Definition )伪指令符号定义伪指令用于定义 ARM 汇编程序中的变量、对变量赋值以及定义寄存器的别名等操作。常见的符号定义伪指令有如下几种:— 用于 阅读全文
摘要:
中断与异常有什么区别:1、中断:系统停止当前正在运行的程序而转向其他服务,可能是因为优先级高的请求服务了,或者是因为人为安排中断。中断是属于正常现象。异常:是由于软件错误而引起的2、中断是CPU所具备的功能--硬件异常是软件运行过程中的一种开发过程中没有考虑到的程序错误--软件3、1)中断的概念所谓中断是指CPU对系统发生的某个事件作出的一种反应:CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“打断”的程序。引起中断的事件称为中断源,中断源向CPU提出进行处理的请求称为中断请求。2)中断类型按中断事件来源进行分类,主要有两类:(1)中断。由 阅读全文
摘要:
linux源码下载地址:https://www.kernel.org/或者https://www.kernel.org/pub/linux/kernel/ 阅读全文
摘要:
VMware虚拟机启动无法进入系统 linux 无法进入图形界面 error: could not open default font 'fixed' 分类: Linux使用 2012-03-14 19:27 1184人阅读 评论(0) 收藏 举报目录(?)[+]VMware虚拟机启动无法进入系统 linux 无法进入图形界面 error could not open default font fixed linux 无法进入图形界面 error could not open default font fixed VMware虚拟机启动无法进入系统 linux 无法进入图形界面 阅读全文
摘要:
学习用Linux,今天我要搭建一个开发环境,开始时图形界面,运行级是5,我想切换到运行级3下进行安装,于是以普通用户运行了#init 3命令,然后提示这条命令不行,于是我就怀疑是不是因为权限的问题,接着我切换到root身份,然后#init 3,于是就成功切换了,来到文字界面,运行级3下,玩了一会儿,因为在这个运行级下,很多时候不能显示字符,出现乱码,于是我又想切换到图形界面下,运行#init 5,奇怪的事情发生了,提示说这条命令没找到。然后我就上网找资料,根据别人的说法,尝试了下面的方法:编辑/etc/profile文件:(要用root用户)[root@localhost /]$ vi /et 阅读全文
摘要:
因为linux系统是我同事装的,所以我第一次登陆,根本不知道他的密码。刚刚才学完如何不知道root密码,进入系统修改的方法,嘎嘎,这个时候用上了,根据李明老师的教程方法(当然鸟哥也在私房菜里面也提过,这种方法其实很普遍。)。首先重启,然后在出现系统选择界面时,在Red Hat Linux的选项上按“e”键,然后会出现三个选项,在“kernel/boot/vmlinuz-2.4.18-14 ro root=LABEL=/”上按“e”键进行编辑,在这一行最后加上"1",即改成"kernel/boot/vmlinuz-2.4.18-14 ro root=LABEL=/ 阅读全文
摘要:
这篇文章是我转载的,转载出处来自:http://www.pcdog.com/p/html/200485/5820042952_1.htm一种位图缩放的快速算法 给定一个位图,如何将它缩放至任意尺寸?很明显,唯一的方法是:放大时,在像素中间添加一些重复像素,使图像拉宽;缩小时,把部分像素删除掉,使图像收缩。但是如何确定哪些像素该重复,哪些像素该删除呢?下面的方法是我自已想的,如果你有更好的方法,请告诉我。我们只考虑水平方向(垂直方向跟水平方向是同样的道理)。下面先从简单的例子来说,最后再推出一个通用的算法:若要放大1倍,应将每一个像素都重复一次,N个像素变成了2N个像素,图像放大为2倍。这个不. 阅读全文
摘要:
经过一段时间的学习,对系统的任务切换算是有了那么一点点的认识吧,只所以写这篇文章,是因为我想对自己的一些见解做一个备忘,如果看到这篇文章的人,觉得我说的有什么不对,那么请指正,我会感激不尽的。其实这也是为什么很多系统选择开源的原因吧,希望搜集广大共同学习者的意见,大家共同提升。 首先说一下这个任务调度函数OS_Sched (void)吧,任务调度函数的的主要任务是找出优先级最高的任务,然后触发PendSV中断。而真正的任务任务切换,进行偷梁换柱就是在PendSV的中断函数里面完成的,在这个中断函数里面,主要进行任务的进栈和出栈,把CPU里面的寄存器内容换掉,即把事发当场的现场改变成要切换... 阅读全文
摘要:
移植ucosii 所遇到的疑问:1、在任务调度函数中void OS_Sched (void)有这么两行代码: void OS_Sched (void){ 。。。。。。。。。。。//省略 if (OSPrioHighRdy != OSPrioCur) { OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]; 。。。。。。。。。。。。//省略 }为什么只要判断就绪的最高优先级任务不是当前任务就可以了呢?UCOS不是可剥夺型的内核嘛?应该是就绪任务表中的最高优先级任务小于或者说优先级高于当前任务,就进行任务切换嘛?解答: 其实不用做比较的原因不是其他的函数做了这个工 阅读全文