新闻  |   论坛  |   博客  |   在线研讨会
ARM学习(1)
mayer | 2009-05-16 20:02:15    阅读:1814   发布文章

ARM学习(1)

 

今天本人的arm学习终于正式开始了,我的第一目标就是在arm上跑裸机,

当做单片机使用。

哈哈!高手不要笑我,循序渐进,是我的风格。说白了就是比较笨。

首先我选择了用汇编入门,也许你会说为什么不用c呢?

本人觉得刚开始用c不利于对arm的结构进行详细的了解,

当然如果你基础很好,很容易通过看资料了解arm体系结构,

那么你可以选择用c。

其次我手上有一块44b0x的板子,不过是小公司买的资料不多,

只能自己琢磨了。所以这里强烈建议想学arm的朋友,

买板子一定有买大公司的,不为别的,就是资料全,可以使你事半功倍。

另外,从网上下了44b0的datasheet,作为参考资料。另外买了本

《从51到arm》,感觉一般,不建议大家买。

另外,我用的是笔记本,没有并口,我只能通过arm中boot利用

串口下载程序。

好了前期准备就这些。

下面开始我的入门,第一个试验:点亮led

我用的编译环境是sdt v2.51的版本

首先打开sdt,单击“file”->“new”,在弹出对话框中选择prject选项,

在new project对话框中“type”中选择“arm executable image”选项,

其他两项是工程名和路径,自己选择。之后单击“ok”。

然后单击“file”菜单->“new”,在弹出对话框中选择

assembler source选项,

新建一个汇编源文件。

在汇编文件中编写如下代码:

PCONC EQU 0X01D20014
PDATC EQU 0X01D20018

        AREA MY,CODE,READONLY
         CODE32

         ENTRY
         B START
         NOP
         NOP
START    LDR R0,=PCONC
         MOV R1,#0xffffffff
         STR R1,[R0] 
MAIN     LDR R0,=PDATC
         MOV R1,#0xffffffff
         STR R1,[R0]
         B START
            
         END

然后保存,我存为led_on.s。

下一步,我们将文件加到工程中:点击树状目录中“debug”,

之后点击“source”使其选中,然后单击“project”菜单,

选择add file to source,选择刚才的文件。在sdt中打开led_on.s文件,

点击perform build step,如果没有问题,下一步选中树状目录的

“arm executable image”,之后点击“project”菜单中

“tools configuration for led_on.apj”->armlink->set。

在弹出对话框中要设置“entry and base”几项地址,这里不多做介绍。

之后点击“build”编译成功,会在你的debug文件夹中生成一个led_on.axf文件。

现在我们将led_on.axf转换成bin文件,打开dos命令提示,

输入如下信息:

fromelf –nozeropad d:\example\debug\led_on.axf -bin d:\example\debug\led_on.bin,

回车,如果转换成功,系统将输出:
Translation to BIN format successfullly

最后我们就可以将程序下载到arm中了,这里我就不介绍了。

运行程序,我的led点亮了。呵呵,有些成就感!

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客