打印
[STM32F1]

STM32F103程序连接出错!

[复制链接]
1604|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sup_cai|  楼主 | 2014-8-18 19:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sup_cai 于 2014-8-18 22:17 编辑

在程序中有这样一句代码:const uint16_t nErasedFlag @ (FLASH_PARS_ADDR) =0x0300;(这句代码我不知道表示什么意思?)
其中:FLASH_PARS_ADDR:是一个宏定义地址。
链接时,报了这样一个错误:
Error[Be022]: location address not allowed for initialized variables (writable variables without the __no_init attribute)
求指点。。
location address是不是指的我的PC地址,因为我还没有连接SWD线,我只是在IAR上进行了编译、Link的???
沙发
icecut| | 2014-8-18 21:00 | 只看该作者
不是标准c语言语法.

使用特权

评论回复
板凳
sup_cai|  楼主 | 2014-8-18 21:35 | 只看该作者
icecut 发表于 2014-8-18 21:00
不是标准c语言语法.

是的,好像是Objective-C的语法,嵌入式里面貌似还挺常用的!

使用特权

评论回复
地板
icecut| | 2014-8-19 08:43 | 只看该作者
sup_cai 发表于 2014-8-18 21:35
是的,好像是Objective-C的语法,嵌入式里面貌似还挺常用的!

一个编译器一个样.还是靠help文件

使用特权

评论回复
5
sup_cai|  楼主 | 2014-8-19 08:47 | 只看该作者
icecut 发表于 2014-8-19 08:43
一个编译器一个样.还是靠help文件

哦,我不是很懂,第一次搞这个。
location address是不是指的我的PC地址,因为我还没有连接SWD线,我只是在IAR上进行了编译、Link的???

使用特权

评论回复
6
icecut| | 2014-8-19 08:51 | 只看该作者
看编译器的帮助问题.变量的location问题.iar应该是不支持这种写法.你如果用别人的代码.建议不要更换编译器

使用特权

评论回复
7
sup_cai|  楼主 | 2014-8-19 20:04 | 只看该作者
icecut 发表于 2014-8-19 08:51
看编译器的帮助问题.变量的location问题.iar应该是不支持这种写法.你如果用别人的代码.建议不要更换编译器 ...

这个IAR工程是官方给的,我是直接点开的。工程名叫:M1-Discovery-System,

使用特权

评论回复
8
icecut| | 2014-8-19 20:31 | 只看该作者
sup_cai 发表于 2014-8-19 20:04
这个IAR工程是官方给的,我是直接点开的。工程名叫:M1-Discovery-System,

你去iar里面找帮助文件.看看有没有说明.
我记得iar不支持.而是用icf配置

使用特权

评论回复
9
jar1866| | 2014-8-20 10:15 | 只看该作者
这句话的意思是把这个常量放在宏指定的地址中,但编译器在这个地址里存放了数据,所以报错,在icf文件中增加一个段keep {section .specified_data}; 把变量放在这个段中,就不会报错了

使用特权

评论回复
10
sup_cai|  楼主 | 2014-8-21 17:10 | 只看该作者
icecut 发表于 2014-8-19 20:31
你去iar里面找帮助文件.看看有没有说明.
我记得iar不支持.而是用icf配置

我看看!谢谢耐心解答。。

使用特权

评论回复
11
sup_cai|  楼主 | 2014-8-21 17:11 | 只看该作者
jar1866 发表于 2014-8-20 10:15
这句话的意思是把这个常量放在宏指定的地址中,但编译器在这个地址里存放了数据,所以报错,在icf文件中增 ...

谢谢解读!

使用特权

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

本版积分规则

4

主题

15

帖子

0

粉丝