原创 ARM学习(1)

2009-5-6 19:36 2432 2 2 分类: MCU/ 嵌入式
 

今天本人的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点亮了。呵呵,有些成就感!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条