打印
[PIC32/SAM]

Atmel Studio7使用ASF格式编程中如何将数组放到程序存储区

[复制链接]
1350|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1032298562|  楼主 | 2020-6-8 18:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在用Atmel Studio7使用ASF编程,目标芯片是SAMD21,现在遇到个问题就是如何把数组定义在程序存储区?就像Keil一样加个关键字code。前期查资料说要添加<pgmspace.h>头文件,但是ASF编程中没有这个头文件怎么办?

使用特权

评论回复
沙发
yjmeishao| | 2020-6-8 18:23 | 只看该作者
参考这篇帖子:
https://bbs.21ic.com/icview-2894864-1-1.html
怎么读懂ATSAME70的LD文件(链接文件)

使用特权

评论回复
板凳
yjmeishao| | 2020-6-8 18:26 | 只看该作者
还有这一篇:
https://bbs.21ic.com/icview-2894856-1-1.html
ATSAMD2x 在指定Flash地址保存常数变量_Atmel Studio 7

使用特权

评论回复
地板
1032298562|  楼主 | 2020-6-8 19:09 | 只看该作者
yjmeishao 发表于 2020-6-8 18:26
还有这一篇:
https://bbs.21ic.com/icview-2894856-1-1.html
ATSAMD2x 在指定Flash地址保存常数变量_Atmel  ...

能不能让系统自动分配地址,我不指定地址?感觉指定地址比较麻烦

使用特权

评论回复
5
yjmeishao| | 2020-6-8 21:48 | 只看该作者
1032298562 发表于 2020-6-8 19:09
能不能让系统自动分配地址,我不指定地址?感觉指定地址比较麻烦

static const uint8_t xxx_yyy[] = {
  0xZZ, 0xMM
};

使用特权

评论回复
6
huahuagg| | 2020-6-8 21:54 | 只看该作者
不偶读转移到MPLAB X了?

使用特权

评论回复
7
shipeng1989| | 2020-6-9 08:31 | 只看该作者
本帖最后由 shipeng1989 于 2020-6-9 08:32 编辑

加PSTR或PROGMEM修饰,例如:“LCD_ShowString(0,1,0,PSTR("请输入密码:"));”或“const char PROGMEM suc_fai[][10]={"操作成功!","操作失败!"};”

使用特权

评论回复
8
magicmcu| | 2020-7-2 15:43 | 只看该作者
你说的程序存储区就是flash的意思吗? 如果只是想这么随意放进去 那只要在定义前面加CONST关键字就可以的拉 这样就不会占用SRAM空间。

使用特权

评论回复
9
xiaoqizi| | 2020-7-7 16:53 | 只看该作者
网上有相关资料可以参考吗

使用特权

评论回复
10
木木guainv| | 2020-7-7 16:53 | 只看该作者
没遇到过这个问题

使用特权

评论回复
11
磨砂| | 2020-7-7 16:54 | 只看该作者
我自己没分配过地址

使用特权

评论回复
12
晓伍| | 2020-7-7 16:54 | 只看该作者
帮楼主顶一下

使用特权

评论回复
13
八层楼| | 2020-7-7 16:54 | 只看该作者
楼主解决问题了吗

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝