2013年12月3日星期二

ARMlink链接器中分散加载文件的base_address的理解

以下的是个人理解,仅供参考!
  ARMlink链接器中分散加载文件base_address加载区(load region)表示的是程序存储器的地址,其值范围根据所选ARM单片机的“内存”中的Flash区(Flash Memory)的大小而定。
  在执行区(execution region)时根据输入部分的属性而定,如果输入部分(input section)都是+RO(read only code and data)属性的话,那么你输入的base_address值表示的是程序存储器(Flash Memory)的地址;如果输入部分是+RW+ZI或者两者,那么执行区base_address地址表示的是内存(RAM)的地址!
STM32F030x memory map

Flash Memory

8051转ARM学习(它们之间的区别)

8051ARM的区别

ARM的内存模型(Memory mode)

只针对Cortex-M0系列的单片机,其他暂时没看过,估计差不多!
ARM的内存模型与8051的不同,ARM的“内存”地址范围为4GB,涵盖了程序储存器,RAM,外部RAM等等;而8051的就不同,内存和代码存储器(ROM)的地址不重叠,只是寄存器和内存的部分地址重叠。
下面的图显示了两个不同芯片的内存模型
8051单片机的内存模型

ARM官方的Cortex-M0处理器所说明的“内存”模型

ST厂商给出的STM32F0的“内存”模型,其实与上图一样

2013年11月27日星期三

ARM脱库点灯

网址:1楼和23楼
感觉其余的有点扯蛋,95答8,根本就不清楚楼主在问啥似的!
对比51和ARM才知道,51的特殊功能寄存器和ARM不同,51的特殊功能寄存器是独立的与部分内存地址是重叠的,但是物理硬件是分开的(这就是DPTR寄存器的存在的意义);但是ARM的特殊功能寄存器就是在内存内的;怪不得51转ARM搞到晕头转向!
吐槽完毕!
8051内存和寄存器模型

ARM“内存”(此“内存”包括寄存器,RAM等等)模型

2013年11月8日星期五

STM32软件仿真问题!

问题:MDK-ARM能不能软件仿真ARM呢?
答案:ARM的单片机不能在keil的MDK-ARM中软件仿真
解答http://www.keil.com/forum/23829/
因为自己学过51,看了上面的keil论坛人家的回答,我去看了一下keil支持的51列表的中的一个(AT89C51)和ARM列表中的STM32F0系列中的一个(STM32F100C4),两者的Simulated Features显示都不同,keil能软件仿真51单片机,但不能软件仿真ARM,唉!不爽啊!

2013年10月23日星期三

FPGA(现场可编程逻辑门阵列)

个人理解:FPGA是一个可以通过编程来连接内部的逻辑门数字电路(比如与门或门异或门非门)来组合出你所要的的功能!

维基百科FPGA(现场可编程逻辑门阵列)

厂商(维基百科)Xilinx,Actel Altera 是目前 FPGA 的领先厂商

官方网址&教程Xilinx官方教程
                Altera官网教程
     

2013年10月21日星期一

安卓翻墙神器

我在安卓手机上安装了免费翻墙软件fqrouter,一键即可翻墙。速度很快,连youtube都可以看。最神的是还可以共享翻墙网络给其他设备用!你也试试吧: http://www.coolapk.com/apk/fq.router2

2013年9月28日星期六

手机相关的

Cyanogenmod官网地址:cyanogenmod. org
Cyanogenmod's Rom 下载地址:get.cm
Cyanogenmod's 公司:cyngn.com

谷歌服务包(GAPPS)下载地址:goo.im

su文件刷机包:http://androidsu.com/superuser/

2013年6月18日星期二

AndroiTS GPS Test Pro 1.27

分享: AndroiTS GPS Test Pro 1.27 Pro已付费版,AndroiTS GPS Test Pro这界面和图标都似曾相识,和另外一款GPS TEST特别像,东西还是可以的,售价2.5美金,这价格有点坑爹了。 有钱的可以买下,http://m.coolapk.com/apk/8361/

2013年6月12日星期三

二维数组和一维数组指针指向普通数组

  当我们定义一个一维数组指针*A[],指针元素指向不同的普通数组。
  由于数组的标识符不加方括号也就代表一个地址,如果加上方括号的话就是相当于指向相应“方括号内数字”数据变量值的一个指针。
  当定义一个一维数组指针,其元素指向不同的不同数组时,就等同于一个二维指针数组。定义一个二级指针(**p),其地址(p)指向一维数组指针的地址,当使用二级指针去调用已被一维数组指针指向的普通数组的值,可以使用p[目标数组(#1)][#2]去调用相关普通数组中的相关元素的值。
#1: 即普通数组在数组指针的位置
#2: 目标数组中的值的位置
  如果想使用二级指针**p把地址值(p)="你所想要的普通数组在一维数组指针中的位置值"+" 一维数组指针地址 "去调用相关数组的话是不行的,正确做法而不能p=p+"数组的位置"。

2013年3月13日星期三

获取三星最新ROM的相关信息

想获取三星最新ROM的相关信息或者新闻可以到Sammobile,Samsung-updates查看!

CyanogenMod下载

想使用 CyanogenMod的ROM可以到这个地址查找相应的手机型号进行下载!

谷歌服务软件包

第三方的Android ROM没有集成谷歌的服务,可以到http://goo.im选择相应的ROM的版本所对应的服务包!