- 博客(17)
- 资源 (9)
- 收藏
- 关注
原创 《ARM嵌入式系统开发》读书笔记
以后只在这里发链接了,CESDN论坛更新。[ARM嵌入式系统开发]第一章之Dhrystone[ARM嵌入式系统开发]第一章之RISC和CISC[ARM嵌入式系统开发]第一章之ARM对RISC的改进[ARM嵌入式系统开发]第一章之嵌入式系统的软硬件[ARM嵌入式系统开发]第二章之ARM内核解析[ARM嵌入式系统开发]第二章之ARM的寄存器及模式[ARM嵌入式系统开发]第二章之ARM的流水线[ARM嵌入式系统开发]第二章之计算ARM指令的执行时间[ARM嵌入式系统开发]第二章之ARM流水线的互锁[ARM嵌入式系
2011-01-04 20:32:00 3985 2
原创 Nucleus和ThreadX的关系
之前研究过Nucleus,最近因为想了解下其他RTOS的机制,所以特意从网上找了些其他RTOS的代码来看,其中也包括ThreadX的代码。于是便发现了一个很有意思的事情。什么有意思的事情呢,呵呵,Nucleus的代码和ThreadX的代码太类似了。虽然作者刻意的用文件,函数,参数的命名来干扰我们的实现,但是仍然可以很清晰的发现两个代码的相似之处。我这人比较八卦,于是想,是不是哪
2010-04-17 11:26:00 6431 7
原创 [ARM嵌入式系统开发]第一章之嵌入式系统的软硬件
本章的最后,通过描述ARM为核心的嵌入式系统,来介绍了嵌入式系统的软件和硬件构成和结构。这里根据这部分的介绍以及其他的文章,描述下通用的嵌入式系统的软件和硬件。 首先来说下硬件,书中说,包含有处理器,控制器,外设和总线四个部分。这是一种比较笼统的说法,如果要更笼统点来说,应该是包含处理器,总线,外设三个部分。因为诸如存储器,控制器,接口等都可以被归纳成外设。通常来说,嵌入式系统的
2010-03-30 21:21:00 1393
原创 [ARM嵌入式系统开发]读书笔记第一章之ARM对RISC的改进
在讲解完RISC和CISC的区别后,作者过渡到了ARM的指令集上,ARM虽然宣称自己是RISC指令集,但是并没有完全依照RISC来设计,可以说是在RISC和CISC的融合之后,又做了适合自己的改进。 由于ARM是以RISC为基础来设计的,所以ARM很难避免指令代码密度不高以及指令功能简单的问题。为了避免这些问题,ARM在大多数指令上加上了条件执行域和桶形移位的预处理功能,
2010-03-29 19:03:00 1055 1
原创 [ARM嵌入式系统开发]第一章之RISC和CISC
这本书在讲解ARM的设计思想前,首先介绍了指令集的设计思想。因为要引出ARM为什么会采用改进过的RISC指令集设计思想,所以这部分主要分析了RISC和CISC之间的区别。因为笔者对RISC和CISC也知之甚少,所以查阅了一些资料,在这里列了出来,欢迎各位看官纠正。 大家都知道,CISC出现的比RISC要早,但是CISC这个概念的出现,却晚于RISC。这个原因说起来比较简单
2010-03-28 15:36:00 1516
转载 程序员,不止干到35岁
首页看到的一篇文章,比较有深度,摘录下来。 在中国,程序员不能超过35岁,似乎已经是不争的事实,软件开发工作就是青春饭,顶多靠毕业这十年的时间,超过这个年龄,要不成功跃身成为管理者,要不转行进入其他领域,好像再没有更好的选择,即使偶有继续坚持作开发的,也被看成另类一族。老外却不是这样,40,50岁仍然作开发工作的大有人在,甚至很多牛人,包括获得康柏最佳软件奖
2010-03-11 19:04:00 1306
原创 [ARM嵌入式系统开发]第一章之Dhrystone
在书的第一章开头部分,作者提到了“最成功的ARM内核之一ARM7TDMI,具有最高120 Dhrystone MIPS的性能、高的代码密度和低功耗等特性,使它成为移动嵌入式设备的最佳选择”。这里的Dhrystone MIPS,作者给了一个注释,Dhrystone MIPS version 2.1是一个小的基准测试程序。当然仅仅知道这些还是不够的。 Dhrystone benchm
2010-03-08 20:49:00 9653 7
原创 暂停ARM优化系列
最近在读《ARM嵌入式系统开发》这本书,发现第五章高效的C编程中很多内容很好,且和ARM优化系列的文章有所重叠,所以决定暂时停止ARM优化系列,转而增加读书笔记系列,针对《ARM嵌入式系统开发》这本书写一些读书笔记,萃取下这本书中有用的部分。
2010-03-03 19:02:00 1031
转载 优秀程序员的45个习惯
在首页看到了这篇文章,觉得很好,于是转载了下来,引以为镜。优秀程序员的45个习惯优秀来自好的习惯。怎样成为优秀的开发人员?图灵公司最近热销的《高效程序员的45个习惯》一书给出了很好的解答,非常值得一读。这本书的英文原版荣获了有软件奥斯卡之称的Jolt生产效率大奖,在Amazon上也是好评如潮。第一作者Venkat Subramaniam博
2010-02-13 11:22:00 849
原创 ADS文件详解
+ADSv1_2 | |---+appslib : 包含ARM应用库的相关文件。 | |---arm_adpm : Adaptive Differential Pulse Code Modulation | |---arm_bitm : Bit Manipulation | |---arm_dct : Two-Dimension
2010-02-05 19:39:00 6772
原创 ADS安装文件详解
+ads_1.2 | |---+apps_lib : 包含ARM应用库的相关文件。 | |---pdf : 空文件夹。 | |---+source : 包含应用库相关的工程、源代码以及测试数据,安装后将完整拷贝到/ADSv1_2/apps_lib。 | |---arm_adpm : Adaptive Differenti
2010-02-03 21:12:00 2422
原创 ARM优化之局部变量的位宽
上篇说到了函数的形参数量,这次说下局部变量的位宽对于程序的影响。 大家都清楚,局部变量都是在栈中实现的,并且在函数调用结束时释放掉,所以有些人在定义局部变量的位宽时并没有仔细的考虑位宽的影响,随意定义。在一般的情况下,并不会造成很大的影响,但是在循环操作的情况下,就会影响程序的性能。 下面这段程序,用了BIT_U16定义了局部变量i,j。汇编内嵌在C中。void LcdInit
2009-08-03 19:45:00 1364
原创 关于ARMulator model系列篇的说明
这些系列文章均为原创,每一句话都经过程序的验证。转载请注明出处。 ARMulator这个工具出现在ADS里面已经很久,功能也很强大。但是比较奇怪的是,我见到很多人只拿它来做最基本的内核仿真,甚至连内核的时钟都不去修改。 一次偶然的机会,我们的项目需要软件仿真一个操作系统,最基本的就是需要Interrupt和Timer,问过所有的同事都不清楚,只好决定自己研究。现在已经用这两个模块在
2009-07-31 20:54:00 827
原创 ARMulator model之Timer的使用
上篇说明了系统自带的Interrupt控制模块的使用,这一篇讲述下另外一个重要的外围模块Timer。 #define REG_TIMER_BASE PERIPHERAL_TIMER_BASE#define REG_TIMER1_LOAD (REG_TIMER_BASE+0x00)//RW#define REG_TIMER1_VALUE (REG_TIMER_BASE+0x
2009-07-31 20:36:00 936
原创 ARMulator model之Interrupt的使用
ARMualtor model中最重要的组件,就是中断管理了,现在的外围模块写法,基本都依托Interrupt,很少有人使用轮询,而ARMulator自动加载的组件中,就有Interrupt组件。在ARMulator中这个组件加载为IntCtrl。此篇主要介绍了ARMulator自带的Interrupt的使用方法。 #define REG_VIC_BASE PERIPHERAL_
2009-07-31 20:00:00 1171
原创 ARMulator model之简介
由于工作的需要,经常会使用Armulator做前提的仿真和一些Debug。偶然有一天,同事问我能不能有一种仿真工具可以软件仿真带Timer的ARM环境。因为我经常使用Armulator入软件仿真,所以就在网上搜索了下,但是找到几篇帖子都说的不是很详细。没有办法,就去ARM的官方网站上寻找答案。最后在翻阅了《AppNote32_ARMulator.pdf》这篇应用文档之后,才对Armulator
2009-07-23 19:24:00 1665 1
原创 ARM优化之函数的形参数量
上篇说过了结构体的成员定义方式对内存损耗的影响,这篇说一下函数的形参个数对ARM编译结果的影响。 ARM的参数传递遵循ATPCS的规范,子程序间通过寄存器R0-R3来传递参数,返回值也通过R0来返回。这就造成一个问题,当构造超过4个参数的函数时,如何实现。翻阅了其他资料以及下面的代码比对表明,多出来
2009-07-18 13:31:00 1177
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人