打印

汇编的一个问题

[复制链接]
2135|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ntao0227|  楼主 | 2009-9-29 18:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠,你们好!
今天用汇编写一个GPIO的程序段(不折不扣的菜鸟),可是编译有错误,不知问题出在什么地方,望指教!

硬件:LPC2103

编译软件:Keil MDK

错误提示:
Build target 'Target 1'
assembling 01GPIO.s...
linking...
01GPIO.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
"01GPIO.axf" - 1 Error(s), 0 Warning(s).

程序如下:
PINSEL0    EQU    0xE002C000
IOCLR    EQU    0xE002800C
IODIR    EQU    0xE0028008
IOPIN    EQU    0xE0028000
IOSET    EQU    0xE0028004

        AREA    GPIO,CODE,READONLY
        ENTRY
        CODE32
START    LDR        R0,=PINSEL0            ; 装载寄存器地址,PINSEL0
        MOV        R1,#0xFFFFFF3F
        STR        R1,[R0]               
        LDR        R0,=IODIR               
        MOV        R1,#0x00000008
        STR        R1,[R0]
        LDR        R0,=IOCLR               
        MOV        R1,#0x00000008
        STR        R1,[R0]
        
        END

相关帖子

沙发
duojinian| | 2009-9-30 09:01 | 只看该作者
code程序段 DATA register寄存器段要分开

使用特权

评论回复
板凳
ntao0227|  楼主 | 2009-9-30 19:24 | 只看该作者
汗颜!不怎么明白楼上的意思。能再说的详细一点吗?

使用特权

评论回复
地板
Foreverzhang| | 2009-9-30 23:09 | 只看该作者
二楼是说“CODE32”这个地方吗???还真不知道这是什么???

使用特权

评论回复
5
machunshui| | 2009-10-1 09:07 | 只看该作者
呵呵,很少看到ARM的汇编,很多人吧汇编等同于51了.
这是链接错误.

与IDE相关设置也是有关系的,
发个完整工程项目文件上来有利于解决问题

使用特权

评论回复
6
machunshui| | 2009-10-1 09:15 | 只看该作者
本帖最后由 machunshui 于 2009-10-1 09:16 编辑

PRESERVE8
                AREA    GPIO,CODE,READONLY
                ARM
                ENTRY

代替

        AREA    GPIO,CODE,READONLY
        ENTRY
        CODE32


看一下.


楼主的伪代码格式好像是ADS的

使用特权

评论回复
7
ntao0227|  楼主 | 2009-10-7 19:43 | 只看该作者
谢谢!
楼上的方法我试了,问题依旧,错误提示和原来一样的。

使用特权

评论回复
8
arm_fan168| | 2009-10-7 20:26 | 只看该作者
参考一下keil MDK开发环境自带的汇编启动代码的伪指令格式。

使用特权

评论回复
9
ntao0227|  楼主 | 2009-10-9 09:30 | 只看该作者
楼上的方法不错,就是伪代码没有注释。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

125

帖子

1

粉丝