OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9939|回复: 6

keil编程stm32中出现huibian.asm(9): error: A1355U: A Label was found which was in no AREA

[复制链接]

13

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2015-6-8
在线时间
2 小时
发表于 2015-7-7 11:49:49 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]NVIC_INT_CTRL EQU 0xE000ED04 ; Interrupt control state register. NVIC_SYSPRI14 EQU 0xE000ED22 ; System priority register (priority 14). NVIC_PENDSV_PRI EQU 0xFF ; PendSV priority value (lowest). NVIC_PENDSVSET EQU 0x10000000 ; Value to trigger PendSV exception. EXPORT TEST TEST LDR R0, =NVIC_INT_CTRL ; Trigger the PendSV exception (causes context switch) LDR R1, =NVIC_PENDSVSET STR R1, [R0] BX LR NOP END[/mw_shl_code]


这是我写的汇编文件,格式上应该没有什么错误吧.

然后我又定义一个huibian.h文件

[mw_shl_code=c,true]#ifndef _HUIBIAN_H_ #define _HUIBIAN_H_ void TEST(void); #endif[/mw_shl_code]

然后在main.c中调用huibian.h文件.

[mw_shl_code=c,true]#include "stm32f10x.h" #include "usart.h" #include <stdio.h> #include "huibian.h" int main(void) { USART1_init(); printf(" adsf"); TEST(); while (1) { } }[/mw_shl_code]

程序并不是想实现什么,只是想尝试一下汇编和c语言一起变成.但是编译出错.

我把.asm文件包含在文件路径里了(就像.h文件那样).也添加到工程里了(就像.c文件那样).可是还是出错.

哪里出错了?还是我加载汇编文件的方法根本不对?求教(我用的是keil4).谢谢.

最佳答案

查看完整内容[请看2#楼]

TEST相当于C中的函数,要被main()调用。 cortex-m在MDK使用汇编, 1.除了要用 EXPORT TEST //声明要被外部c文件调用的函数 2.还需要在 TEST前,定义 PRESERVE8 ;指定当前文件保持堆栈8字节对齐 THUMB ;当前代码段为Thumb指令 AREA CODE, CODE, READONLY ;AREA 伪指令用于定义一个代码段或数据段 语法 AREA 段名,属性1,属性2.。。。 用来定义一个代码段,段名如 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2018-7-5
在线时间
29 小时
发表于 2015-7-7 11:49:50 | 显示全部楼层
TEST相当于C中的函数,要被main()调用。
cortex-m在MDK使用汇编,
1.除了要用
EXPORT  TEST    //声明要被外部c文件调用的函数
2.还需要在 TEST前,定义

    PRESERVE8         ;指定当前文件保持堆栈8字节对齐
    THUMB               ;当前代码段为Thumb指令

    AREA CODE, CODE, READONLY   ;AREA 伪指令用于定义一个代码段或数据段



语法 AREA 段名,属性1,属性2.。。。

用来定义一个代码段,段名如果以数字开头要用“|”符号做括号 |12txt|&#160;

属性有:CODE 定义代码段 ,DATA定义数据段,READONLY 只读,READWRITE可读写

加上编译就正常了。

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-7-7 22:57:32 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

13

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2015-6-8
在线时间
2 小时
 楼主| 发表于 2015-7-7 23:02:37 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢
回复

使用道具 举报

13

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2015-6-8
在线时间
2 小时
 楼主| 发表于 2015-7-8 23:38:29 | 显示全部楼层
求回复阿,谢谢
回复

使用道具 举报

24

主题

192

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
498
金钱
498
注册时间
2016-3-16
在线时间
202 小时
发表于 2017-3-16 21:46:20 | 显示全部楼层
yzl 发表于 2015-7-8 23:38
求回复阿,谢谢

汇编的指令不能定格写,需要Tab一下,或者space一下
路漫漫其修远兮,戒骄戒躁。
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2020-1-24
在线时间
7 小时
发表于 2020-4-4 17:40:52 | 显示全部楼层
EAON 发表于 2017-3-16 21:46
汇编的指令不能定格写,需要Tab一下,或者space一下

赞!突然就解决了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 11:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表