http://blog.chinaunix.net/uid-7921647-id-267417.html


最近在学习ARM公司新推出的cortex-m4系列的ARM芯片,选用的是飞思卡尔的K60系列,它采用的就是cortex-m4核心。cortex-m4比cortex-m3多了个dsp处理单元。增加了dsp单元的优势是显而易见的:在涉及到大量的数学运算时可以采用dsp来处理,大大节约了运算时间和代码量。(K60的浮点运算单元是个可选的部件,由于我拿到的K60还不支持FPU,所以下面涉及到的浮点调试只能用仿真的方式进行)

最新的KEIL MDK-ARM开发环境已经增加了对cortex-m4的支持(我是用的是MDK-ARM Standard Version 4.20),包括仿真支持,也就是说即使你没有拿到开发板也可以来学习cortex-m4. 在器件选择中,这个版本已经增加了飞思卡尔K60系列,在新建工程时可以选择(我选择了Freescale Semiconductor--MK60X256VMD100这个器件)。下面写一下我自己的学习过程。


一、不使用K60的浮点运算单元。

在默认情况下,K60的浮点单元并没有被打开,一切浮点运算还是软件浮点。

①打开Keil uVision4,新建工程,选择保存路径,选择器件,找到Freescale Semiconductor,展开,在最下面选择MK60X256VMD100。程序问你是否添加这个系列的启动代码到工程中,选择 是(如果没有出现这个选项,可以自己在Keil的安装目录里找,自己添加,其路径为C:\Keil\ARM\Startup\Freescale\K60)。这时一个新的工程就建好了,默认增加了startup_MK60N512MD100.s这个启动文件。

②测试浮点运算。我们可以新建一个C文件,用来测试浮点运算使用的是软浮点还是硬浮点。新建c文件里的代码可以如下: